5 #include <X11/extensions/Xv.h>
7 #define XvMCName "XVideo-MotionCompensation"
8 #define XvMCNumEvents 0
9 #define XvMCNumErrors 3
11 #define XvMCRevision 1
13 #define XvMCBadContext 0
14 #define XvMCBadSurface 1
15 #define XvMCBadSubpicture 2
18 #define XVMC_CHROMA_FORMAT_420 0x00000001
19 #define XVMC_CHROMA_FORMAT_422 0x00000002
20 #define XVMC_CHROMA_FORMAT_444 0x00000003
22 /* XvMCSurfaceInfo Flags */
23 #define XVMC_OVERLAID_SURFACE 0x00000001
24 #define XVMC_BACKEND_SUBPICTURE 0x00000002
25 #define XVMC_SUBPICTURE_INDEPENDENT_SCALING 0x00000004
26 #define XVMC_INTRA_UNSIGNED 0x00000008
28 /* Motion Compensation types */
29 #define XVMC_MOCOMP 0x00000000
30 #define XVMC_IDCT 0x00010000
32 #define XVMC_MPEG_1 0x00000001
33 #define XVMC_MPEG_2 0x00000002
34 #define XVMC_H263 0x00000003
35 #define XVMC_MPEG_4 0x00000004
37 #define XVMC_MB_TYPE_MOTION_FORWARD 0x02
38 #define XVMC_MB_TYPE_MOTION_BACKWARD 0x04
39 #define XVMC_MB_TYPE_PATTERN 0x08
40 #define XVMC_MB_TYPE_INTRA 0x10
42 #define XVMC_PREDICTION_FIELD 0x01
43 #define XVMC_PREDICTION_FRAME 0x02
44 #define XVMC_PREDICTION_DUAL_PRIME 0x03
45 #define XVMC_PREDICTION_16x8 0x02
46 #define XVMC_PREDICTION_4MV 0x04
48 #define XVMC_SELECT_FIRST_FORWARD 0x01
49 #define XVMC_SELECT_FIRST_BACKWARD 0x02
50 #define XVMC_SELECT_SECOND_FORWARD 0x04
51 #define XVMC_SELECT_SECOND_BACKWARD 0x08
53 #define XVMC_DCT_TYPE_FRAME 0x00
54 #define XVMC_DCT_TYPE_FIELD 0x01
56 #define XVMC_TOP_FIELD 0x00000001
57 #define XVMC_BOTTOM_FIELD 0x00000002
58 #define XVMC_FRAME_PICTURE (XVMC_TOP_FIELD | XVMC_BOTTOM_FIELD)
60 #define XVMC_SECOND_FIELD 0x00000004
62 #define XVMC_DIRECT 0x00000001
64 #define XVMC_RENDERING 0x00000001
65 #define XVMC_DISPLAYING 0x00000002
71 unsigned short max_width;
72 unsigned short max_height;
73 unsigned short subpicture_max_width;
74 unsigned short subpicture_max_height;
83 unsigned short height;
86 void * privData; /* private to the library */
94 unsigned short height;
95 void *privData; /* private to the library */
102 unsigned short width;
103 unsigned short height;
104 int num_palette_entries;
106 char component_order[4];
107 void *privData; /* private to the library */
111 unsigned int num_blocks;
120 unsigned char macroblock_type;
121 unsigned char motion_type;
122 unsigned char motion_vertical_field_select;
123 unsigned char dct_type;
126 unsigned short coded_block_pattern;
132 unsigned int num_blocks;
135 XvMCMacroBlock *macro_blocks;
136 } XvMCMacroBlockArray;