Ссылка CVTime
Базовое видео использует CVTime
и CVTimeStamp
структуры для хранения Базовых Видео временных стоимостей. Вы используете их для взаимодействия с Базовой ссылкой Видеодисплея.
-
Возвращает текущее системное время.
Объявление
Swift
func CVGetCurrentHostTime() -> UInt64
Objective C
uint64_t CVGetCurrentHostTime ( void );
Возвращаемое значение
Текущее время узла.
Обсуждение
В OS X основы времени узла для Базового Видео и CoreAudio идентичны — оба основываются
mach_absolute_time
функция — так значения, возвращенные из любого API, может использоваться взаимозаменяемо.Оператор импорта
Objective C
@import CoreVideo;
Swift
import CoreVideo
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает частоту обновлений к системному времени.
Объявление
Swift
func CVGetHostClockFrequency() -> Double
Objective C
double CVGetHostClockFrequency ( void );
Возвращаемое значение
Текущая частота узла.
Обсуждение
В OS X основы времени узла для Базового Видео и CoreAudio идентичны — оба основываются
mach_absolute_time
функция — так значения, возвращенные из любого API, может использоваться взаимозаменяемо.Оператор импорта
Objective C
@import CoreVideo;
Swift
import CoreVideo
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает самый маленький инкремент в системное время.
Объявление
Swift
func CVGetHostClockMinimumTimeDelta() -> UInt32
Objective C
uint32_t CVGetHostClockMinimumTimeDelta ( void );
Возвращаемое значение
Самый маленький допустимый инкремент в системное время.
Оператор импорта
Objective C
@import CoreVideo;
Swift
import CoreVideo
Доступность
Доступный в OS X v10.4 и позже.
-
Структура для создания отчетов о Базовых Видео временных стоимостях.
Объявление
Swift
struct CVTime { var timeValue: Int64 var timeScale: Int32 var flags: Int32 }
Objective C
typedef struct { int64_t timeValue; int64_t timeScale; int32_t flags; } CVTime;
Поля
timeValue
Временная стоимость.
timeScale
Масштаб времени для этого значения.
flags
Флаги связались с
CVTime
значение. См. Константы CVTime для возможных значений. ЕслиkCVTimeIsIndefinite
установлен, Вы не должны использовать ни одно из других полей в этой структуре.Обсуждение
Эта структура эквивалентна QuickTime
QTTime
структура.Доступность
Доступный в OS X v10.3 и позже.
-
Структура для определения метки времени дисплея.
Объявление
Swift
struct CVTimeStamp { var version: UInt32 var videoTimeScale: Int32 var videoTime: Int64 var hostTime: UInt64 var rateScalar: Double var videoRefreshPeriod: Int64 var smpteTime: CVSMPTETime var flags: UInt64 var reserved: UInt64 }
Objective C
typedef struct { uint32_t version; int32_t videoTimeScale; int64_t videoTime; uint64_t hostTime; double rateScalar; int64_t videoRefreshPeriod; CVSMPTETime smpteTime; uint64_t flags; uint64_t reserved; } CVTimeStamp;
Поля
version
Ток
CVTimeStamp
структура является версией 0. Некоторые функции требуют, чтобы Вы указали версию при передаче в структуре метки времени, чтобы быть заполненными.videoTimeScale
Масштаб (в модулях в секунду)
videoTimeScale
иvideoRefreshPeriod
поля.videoTime
Запуск кадра (или поле для чересстрочного видео).
hostTime
Системное время, измеренное меткой времени.
rateScalar
Действующий курс устройства, как измерено метками времени, разделенными на номинальный уровень.
videoPeriod
Номинальный период обновления устройства текущей производительности.
smpteTime
Представление времени SMPTE метки времени.
flags
Немного поля, содержащего дополнительную информацию о метке времени. Посмотрите Флаги CVTimeStamp для списка возможных значений..
reserved
Зарезервированный. Не использовать.
Обсуждение
Эта структура разработана, чтобы быть очень подобной аудио метке времени, определенной в платформе Core Audio за исключением того, что в CVTimeStamp значения с плавающей точкой не используются для представления видео эквивалента демонстрационных времен.
Доступность
Доступный в OS X v10.3 и позже.
-
Структура для содержания времени SMPTE.
Объявление
Swift
struct CVSMPTETime { var subframes: Int16 var subframeDivisor: Int16 var counter: UInt32 var type: UInt32 var flags: UInt32 var hours: Int16 var minutes: Int16 var seconds: Int16 var frames: Int16 }
Objective C
struct CVSMPTETime { SInt16 subframes; SInt16 subframeDivisor; UInt32 counter; UInt32 type; UInt32 flags; SInt16 hours; SInt16 minutes; SInt16 seconds; SInt16 frames; ;} typedef struct CVSMPTETime CVSMPTETime;
Поля
subframes
Число подкадров в полном сообщении.
subframeDivisor
Число подкадров на кадр (обычно, 80).
counter
Общее количество сообщений получено.
type
Вид типа времени SMPTE. См. Типы Времени SMPTE для списка возможных значений.
flags
Ряд отмечает, которые указывают состояние SMPTE. См. Флаги состояния SMPTE для возможных значений.
hours
Число часов в полном сообщении.
minutes
Число минут в полном сообщении.
seconds
Число секунд в полном сообщении.
frames
Число кадров в полном сообщении.
Доступность
Доступный в OS X v10.3 и позже.
-
Флаги для
CVTime
структура.Объявление
Swift
var kCVTimeIsIndefinite: Int { get }
Objective C
enum { kCVTimeIsIndefinite = 1 << 0 };
Константы
-
Ключи, представляющие Базовые Видео временные стоимости.
Объявление
Objective C
const CVTime kCVZeroTime; const CVTime kCVIndefiniteTime;
Константы
-
kCVZeroTime
kCVZeroTime
Нулевое время или продолжительность. Например,
CVDisplayLinkGetOutputVideoLatency
возвратыkCVZeroTime
для нулевой видео задержки.Доступный в OS X v10.3 и позже.
-
kCVIndefiniteTime
kCVIndefiniteTime
Неизвестное или неопределенное время. Например,
CVDisplayLinkGetNominalOutputVideoRefreshPeriod
возвратыkCVIndefiniteTime
если указанная ссылка дисплея не допустима.Доступный в OS X v10.3 и позже.
-
-
Флаги для
CVTimeStamp
структура.Объявление
Swift
var kCVTimeStampVideoTimeValid: Int { get } var kCVTimeStampHostTimeValid: Int { get } var kCVTimeStampSMPTETimeValid: Int { get } var kCVTimeStampVideoRefreshPeriodValid: Int { get } var kCVTimeStampRateScalarValid: Int { get } var kCVTimeStampTopField: Int { get } var kCVTimeStampBottomField: Int { get } var kCVTimeStampVideoHostTimeValid: Int { get } var kCVTimeStampIsInterlaced: Int { get }
Objective C
enum { kCVTimeStampVideoTimeValid = (1L << 0), kCVTimeStampHostTimeValid = (1L << 1), kCVTimeStampSMPTETimeValid = (1L << 2), kCVTimeStampVideoRefreshPeriodValid = (1L << 3), kCVTimeStampRateScalarValid = (1L << 4), kCVTimeStampTopField = (1L << 16), kCVTimeStampBottomField = (1L << 17) }; enum { kCVTimeStampVideoHostTimeValid = (kCVTimeStampVideoTimeValid | kCVTimeStampHostTimeValid ), kCVTimeStampIsInterlaced = (kCVTimeStampTopField | kCVTimeStampBottomField ) };
Константы
-
kCVTimeStampVideoTimeValid
kCVTimeStampVideoTimeValid
Значение в видео поле времени допустимо.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampHostTimeValid
kCVTimeStampHostTimeValid
Значение в поле времени узла допустимо.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampSMPTETimeValid
kCVTimeStampSMPTETimeValid
Значение в поле времени SMPTE допустимо.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampVideoRefreshPeriodValid
kCVTimeStampVideoRefreshPeriodValid
Значение в видео поле периода обновления допустимо.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampRateScalarValid
kCVTimeStampRateScalarValid
Значение в скалярном поле уровня допустимо.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampTopField
kCVTimeStampTopField
Метка времени представляет верхние строки чересстрочного изображения.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampBottomField
kCVTimeStampBottomField
Метка времени представляет нижние строки чересстрочного изображения.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampVideoHostTimeValid
kCVTimeStampVideoHostTimeValid
Постоянное указание удобства, что оба видео время и поля времени узла допустимы.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampIsInterlaced
kCVTimeStampIsInterlaced
Постоянное указание удобства, что метка времени для чересстрочного изображения.
Доступный в OS X v10.3 и позже.
Обсуждение
Эти флаги указывают который поля в
CVTimeStamp
структура содержит допустимую информацию. -
-
Флаги, описывающие состояние времени SMPTE.
Объявление
Objective C
enum{ kCVSMPTETimeValid = (1L << 0), kCVSMPTETimeRunning = (1L << 1) };
Константы
-
kCVSMPTETimeValid
kCVSMPTETimeValid
Полный рабочий день допустим.
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeRunning
kCVSMPTETimeRunning
Время работает.
Доступный в OS X v10.3 и позже.
Обсуждение
Вы используете эти значения в
CVSMPTETime
структура. -
-
Константы, описывающие тип времени SMPTE.
Объявление
Swift
var kCVSMPTETimeType24: Int { get } var kCVSMPTETimeType25: Int { get } var kCVSMPTETimeType30Drop: Int { get } var kCVSMPTETimeType30: Int { get } var kCVSMPTETimeType2997: Int { get } var kCVSMPTETimeType2997Drop: Int { get } var kCVSMPTETimeType60: Int { get } var kCVSMPTETimeType5994: Int { get }
Objective C
enum{ kCVSMPTETimeType24 = 0, kCVSMPTETimeType25 = 1, kCVSMPTETimeType30Drop = 2, kCVSMPTETimeType30 = 3, kCVSMPTETimeType2997 = 4, kCVSMPTETimeType2997Drop = 5, kCVSMPTETimeType60 = 6, kCVSMPTETimeType5994 = 7 };
Константы
-
kCVSMPTETimeType24
kCVSMPTETimeType24
24 кадра в секунду (стандартный фильм).
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType25
kCVSMPTETimeType25
25 кадров в секунду (стандартный PAL).
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType30Drop
kCVSMPTETimeType30Drop
30 кадров отбрасывания.
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType30
kCVSMPTETimeType30
30 кадров в секунду.
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType2997
kCVSMPTETimeType2997
29,97 кадров в секунду (стандартный NTSC).
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType2997Drop
kCVSMPTETimeType2997Drop
29,97 кадров отбрасывания.
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType60
kCVSMPTETimeType60
60 кадров в секунду.
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType5994
kCVSMPTETimeType5994
59,94 кадров в секунду.
Доступный в OS X v10.3 и позже.
Обсуждение
Вы используете эти значения в
CVSMPTETime
структура. -