comparison dstep/quartzcore/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.quartzcore.CVBase;
8
9 import dstep.corevideo.CVBase;
10 import dstep.objc.bridge.Bridge;
11 import dstep.objc.objc;
12
13 alias ulong CVOptionFlags;
14
15 extern (C)
16 {
17 extern
18 {
19 const CVTime kCVZeroTime;
20 const CVTime kCVIndefiniteTime;
21 }
22 }
23
24 enum
25 {
26 kCVSMPTETimeType24 = 0,
27 kCVSMPTETimeType25 = 1,
28 kCVSMPTETimeType30Drop = 2,
29 kCVSMPTETimeType30 = 3,
30 kCVSMPTETimeType2997 = 4,
31 kCVSMPTETimeType2997Drop = 5,
32 kCVSMPTETimeType60 = 6,
33 kCVSMPTETimeType5994 = 7
34 }
35
36 enum
37 {
38 kCVSMPTETimeValid = (1L << 0),
39 kCVSMPTETimeRunning = (1L << 1)
40 }
41
42 enum
43 {
44 kCVTimeIsIndefinite = 1 << 0
45 }
46
47 enum
48 {
49 kCVTimeStampVideoTimeValid = (1L << 0),
50 kCVTimeStampHostTimeValid = (1L << 1),
51 kCVTimeStampSMPTETimeValid = (1L << 2),
52 kCVTimeStampVideoRefreshPeriodValid = (1L << 3),
53 kCVTimeStampRateScalarValid = (1L << 4),
54 kCVTimeStampTopField = (1L << 16),
55 kCVTimeStampBottomField = (1L << 17)
56 }
57
58 enum
59 {
60 kCVTimeStampVideoHostTimeValid = (kCVTimeStampVideoTimeValid | kCVTimeStampHostTimeValid),
61 kCVTimeStampIsInterlaced = (kCVTimeStampTopField | kCVTimeStampBottomField)
62 }
63
64 struct CVTime
65 {
66 long timeValue;
67 int timeScale;
68 int flags;
69 }
70
71
72 struct CVTimeStamp
73 {
74 uint version_;
75 int videoTimeScale;
76 long videoTime;
77 ulong hostTime;
78 double rateScalar;
79 long videoRefreshPeriod;
80 CVSMPTETime smpteTime;
81 ulong flags;
82 ulong reserved;
83 }
84
85
86 struct CVSMPTETime
87 {
88 short subframes;
89 short subframeDivisor;
90 uint counter;
91 uint type;
92 uint flags;
93 short hours;
94 short minutes;
95 short seconds;
96 short frames;
97 }
98