comparison dstep/corevideo/CVBase.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents
children
comparison
equal deleted inserted replaced
15:7ff919f595d5 16:19885b43130e
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Sep 24, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.corevideo.CVBase;
8
9 import dstep.corefoundation.CFBase;
10
11 alias ulong CVOptionFlags;
12
13 extern (C)
14 {
15 extern
16 {
17 const CVTime kCVZeroTime;
18 const CVTime kCVIndefiniteTime;
19 }
20 }
21
22 enum
23 {
24 kCVSMPTETimeType24 = 0,
25 kCVSMPTETimeType25 = 1,
26 kCVSMPTETimeType30Drop = 2,
27 kCVSMPTETimeType30 = 3,
28 kCVSMPTETimeType2997 = 4,
29 kCVSMPTETimeType2997Drop = 5,
30 kCVSMPTETimeType60 = 6,
31 kCVSMPTETimeType5994 = 7
32 }
33
34 enum
35 {
36 kCVSMPTETimeValid = (1L << 0),
37 kCVSMPTETimeRunning = (1L << 1)
38 }
39
40 enum
41 {
42 kCVTimeIsIndefinite = 1 << 0
43 }
44
45 enum
46 {
47 kCVTimeStampVideoTimeValid = (1L << 0),
48 kCVTimeStampHostTimeValid = (1L << 1),
49 kCVTimeStampSMPTETimeValid = (1L << 2),
50 kCVTimeStampVideoRefreshPeriodValid = (1L << 3),
51 kCVTimeStampRateScalarValid = (1L << 4),
52 kCVTimeStampTopField = (1L << 16),
53 kCVTimeStampBottomField = (1L << 17)
54 }
55
56 enum
57 {
58 kCVTimeStampVideoHostTimeValid = (kCVTimeStampVideoTimeValid | kCVTimeStampHostTimeValid),
59 kCVTimeStampIsInterlaced = (kCVTimeStampTopField | kCVTimeStampBottomField)
60 }
61
62 struct CVTime
63 {
64 long timeValue;
65 int timeScale;
66 int flags;
67 }
68
69
70 struct CVTimeStamp
71 {
72 uint version_;
73 int videoTimeScale;
74 long videoTime;
75 ulong hostTime;
76 double rateScalar;
77 long videoRefreshPeriod;
78 CVSMPTETime smpteTime;
79 ulong flags;
80 ulong reserved;
81 }
82
83
84 struct CVSMPTETime
85 {
86 short subframes;
87 short subframeDivisor;
88 uint counter;
89 uint type;
90 uint flags;
91 short hours;
92 short minutes;
93 short seconds;
94 short frames;
95 }
96