Ссылка CVTime
Базовое видео использует CVTime и CVTimeStamp структуры для хранения Базовых Видео временных стоимостей. Вы используете их для взаимодействия с Базовой ссылкой Видеодисплея.
-
Возвращает текущее системное время.
Объявление
Swift
func CVGetCurrentHostTime() -> UInt64Objective 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() -> DoubleObjective 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() -> UInt32Objective 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;Константы
-
kCVZeroTimekCVZeroTimeНулевое время или продолжительность. Например,
CVDisplayLinkGetOutputVideoLatencyвозвратыkCVZeroTimeдля нулевой видео задержки.Доступный в OS X v10.3 и позже.
-
kCVIndefiniteTimekCVIndefiniteTimeНеизвестное или неопределенное время. Например,
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 ) };Константы
-
kCVTimeStampVideoTimeValidkCVTimeStampVideoTimeValidЗначение в видео поле времени допустимо.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampHostTimeValidkCVTimeStampHostTimeValidЗначение в поле времени узла допустимо.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampSMPTETimeValidkCVTimeStampSMPTETimeValidЗначение в поле времени SMPTE допустимо.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampVideoRefreshPeriodValidkCVTimeStampVideoRefreshPeriodValidЗначение в видео поле периода обновления допустимо.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampRateScalarValidkCVTimeStampRateScalarValidЗначение в скалярном поле уровня допустимо.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampTopFieldkCVTimeStampTopFieldМетка времени представляет верхние строки чересстрочного изображения.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampBottomFieldkCVTimeStampBottomFieldМетка времени представляет нижние строки чересстрочного изображения.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampVideoHostTimeValidkCVTimeStampVideoHostTimeValidПостоянное указание удобства, что оба видео время и поля времени узла допустимы.
Доступный в OS X v10.3 и позже.
-
kCVTimeStampIsInterlacedkCVTimeStampIsInterlacedПостоянное указание удобства, что метка времени для чересстрочного изображения.
Доступный в OS X v10.3 и позже.
Обсуждение
Эти флаги указывают который поля в
CVTimeStampструктура содержит допустимую информацию. -
-
Флаги, описывающие состояние времени SMPTE.
Объявление
Objective C
enum{ kCVSMPTETimeValid = (1L << 0), kCVSMPTETimeRunning = (1L << 1) };Константы
-
kCVSMPTETimeValidkCVSMPTETimeValidПолный рабочий день допустим.
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeRunningkCVSMPTETimeRunningВремя работает.
Доступный в 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 };Константы
-
kCVSMPTETimeType24kCVSMPTETimeType2424 кадра в секунду (стандартный фильм).
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType25kCVSMPTETimeType2525 кадров в секунду (стандартный PAL).
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType30DropkCVSMPTETimeType30Drop30 кадров отбрасывания.
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType30kCVSMPTETimeType3030 кадров в секунду.
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType2997kCVSMPTETimeType299729,97 кадров в секунду (стандартный NTSC).
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType2997DropkCVSMPTETimeType2997Drop29,97 кадров отбрасывания.
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType60kCVSMPTETimeType6060 кадров в секунду.
Доступный в OS X v10.3 и позже.
-
kCVSMPTETimeType5994kCVSMPTETimeType599459,94 кадров в секунду.
Доступный в OS X v10.3 и позже.
Обсуждение
Вы используете эти значения в
CVSMPTETimeструктура. -
