st/xorg: adjust enums in preperation for gradients
[mesa.git] / src / gallium / state_trackers / g3dvl / vl_types.h
1 #ifndef vl_types_h
2 #define vl_types_h
3
4 #if 1 /*#ifdef X11*/
5 #include <X11/Xlib.h>
6
7 typedef Display* vlNativeDisplay;
8 typedef Drawable vlNativeDrawable;
9 #endif
10
11 struct vlDisplay;
12 struct vlScreen;
13 struct vlContext;
14 struct vlSurface;
15
16 enum vlResourceStatus
17 {
18 vlResourceStatusFree,
19 vlResourceStatusRendering,
20 vlResourceStatusDisplaying
21 };
22
23 enum vlProfile
24 {
25 vlProfileMpeg2Simple,
26 vlProfileMpeg2Main,
27
28 vlProfileCount
29 };
30
31 enum vlEntryPoint
32 {
33 vlEntryPointIDCT,
34 vlEntryPointMC,
35 vlEntryPointCSC,
36
37 vlEntryPointCount
38 };
39
40 enum vlFormat
41 {
42 vlFormatYCbCr420,
43 vlFormatYCbCr422,
44 vlFormatYCbCr444
45 };
46
47 enum vlPictureType
48 {
49 vlPictureTypeTopField,
50 vlPictureTypeBottomField,
51 vlPictureTypeFrame
52 };
53
54 enum vlMotionType
55 {
56 vlMotionTypeField,
57 vlMotionTypeFrame,
58 vlMotionTypeDualPrime,
59 vlMotionType16x8
60 };
61
62 enum vlFieldOrder
63 {
64 vlFieldOrderFirst,
65 vlFieldOrderSecond
66 };
67
68 enum vlDCTType
69 {
70 vlDCTTypeFrameCoded,
71 vlDCTTypeFieldCoded
72 };
73
74 struct vlVertex2f
75 {
76 float x, y;
77 };
78
79 struct vlVertex4f
80 {
81 float x, y, z, w;
82 };
83
84 enum vlMacroBlockType
85 {
86 vlMacroBlockTypeIntra,
87 vlMacroBlockTypeFwdPredicted,
88 vlMacroBlockTypeBkwdPredicted,
89 vlMacroBlockTypeBiPredicted,
90
91 vlNumMacroBlockTypes
92 };
93
94 struct vlMpeg2MacroBlock
95 {
96 unsigned int mbx, mby;
97 enum vlMacroBlockType mb_type;
98 enum vlMotionType mo_type;
99 enum vlDCTType dct_type;
100 int PMV[2][2][2];
101 unsigned int cbp;
102 short *blocks;
103 };
104
105 struct vlMpeg2MacroBlockBatch
106 {
107 struct vlSurface *past_surface;
108 struct vlSurface *future_surface;
109 enum vlPictureType picture_type;
110 enum vlFieldOrder field_order;
111 unsigned int num_macroblocks;
112 struct vlMpeg2MacroBlock *macroblocks;
113 };
114
115 #endif