r999: maintainers added to README_en.
[cinelerra_cv/mob.git] / quicktime / encore50 / vm_common_defs.h
blobb0cab4a2807a1ec395bee9eae90aabc822f46b87
2 #ifndef _VM_COMMON_DEFS_H_
3 #define _VM_COMMON_DEFS_H_
5 # ifdef __cplusplus
6 extern "C" {
7 # endif /* __cplusplus */
9 #define VERSION 1 /* image structure version */
12 # ifdef __cplusplus
14 # endif /* __cplusplus */
18 /* maximum allowed number of VOs and VOLs */
20 #define MAX_NUM_VOS 32
21 #define MAX_NUM_VOLS 16
23 /* end of bitstream code */
25 #define EOB_CODE 1
26 #define EOB_CODE_LENGTH 32
29 /*** 10/28 TEST */
30 /* #define MB_trace_thres 22 */
31 #define MB_trace_thres 8193 /* changed */
32 /* 10/28 TEST ***/
34 #define EXTENDED_PAR 0xF
36 /* session layer and vop layer start codes */
38 #define SESSION_START_CODE 0x01B0
39 #define SESSION_END_CODE 0x01B1
41 #define VO_START_CODE 0x8
42 #define VO_START_CODE_LENGTH 27
44 #define VO_HEADER_LENGTH 32 /* lengtho of VO header: VO_START_CODE + VO_ID */
46 #define SOL_START_CODE 0x01be
47 #define SOL_START_CODE_LENGTH 32
49 #define VOL_START_CODE 0x12 /* 25-MAR-97 JDL : according to WD2 */
50 #define VOL_START_CODE_LENGTH 28
52 #define VOP_START_CODE 0x1B6 /* 25-MAR-97 JDL : according to WD2 */
53 #define VOP_START_CODE_LENGTH 32
55 #define GROUP_START_CODE 0x01B3 /* 05-05-1997 Minhua Zhou */
56 #define GROUP_START_CODE_LENGTH 32 /* 10.12.97 Luis Ducla-Soares */
58 #define VOP_ID_CODE_LENGTH 5
59 #define VOP_TEMP_REF_CODE_LENGTH 16
61 #define USER_DATA_START_CODE 0x01B2 /* Due to N2171 Cl. 2.1.9, MW 23-MAR-1998 */
62 #define USER_DATA_START_CODE_LENGTH 32 /* Due to N2171 Cl. 2.1.9, MW 23-MAR-1998 */
64 #define START_CODE_PREFIX 0x01 /* Due to N2171 Cl. 2.1.9, MW 23-MAR-1998 */
65 #define START_CODE_PREFIX_LENGTH 24 /* Due to N2171 Cl. 2.1.9, MW 23-MAR-1998 */
67 #define SHORT_VIDEO_START_MARKER 0x20
68 #define SHORT_VIDEO_START_MARKER_LENGTH 22
69 #define SHORT_VIDEO_END_MARKER 0x3F
71 #define GOB_RESYNC_MARKER 0x01
72 #define GOB_RESYNC_MARKER_LENGTH 17
74 /* motion and resync markers used in error resilient mode */
76 #define DC_MARKER 438273 /* 09.10.97 LDS: according to WD4.0 */
77 #define DC_MARKER_LENGTH 19
79 #define MOTION_MARKER_COMB 126977 /* 26.04.97 LDS: according to VM7.0 */
80 #define MOTION_MARKER_COMB_LENGTH 17
82 #define MOTION_MARKER_SEP 81921 /* 26.04.97 LDS: according to VM6.0 */
83 #define MOTION_MARKER_SEP_LENGTH 17
85 #define RESYNC_MARKER 1 /* 26.04.97 LDS: according to VM6.0 */
86 #define RESYNC_MARKER_LENGTH 17
88 #define SPRITE_NOT_USED 0
89 #define STATIC_SPRITE 1
90 #define GMC_SPRITE 2 /* NTT for GMC coding */
92 /* macroblock size */
93 #define MB_SIZE 16
95 /* VOL types */
97 #define RECTANGULAR 0
98 #define BINARY 1
99 #define BINARY_SHAPE_ONLY 2 /* HYUNDAI (Grayscale) */
100 #define GREY_SCALE 3 /* HYUNDAI (Grayscale) */
102 /* macroblock modes */
104 #define MODE_INTRA 0
105 #define MODE_INTER 1
106 #define MODE_INTRA_Q 2 /* not used currently */
107 #define MODE_INTER_Q 3 /* not used currently */
108 #define MODE_INTER4V 4
109 #define MODE_GMC 5 /* NTT for GMC coding */
110 #define MODE_GMC_Q 6
112 #define MBM_INTRA 0
113 #define MBM_INTER16 1
114 #define MBM_SPRITE 3
115 #define MBM_INTER8 4
116 #define MBM_TRANSPARENT 2
117 #define MBM_OUT 5
118 #define MBM_SKIPPED 6
121 /* (from mot_est.h) */
122 #define MBM_OPAQUE 7 /* opaque block value (all pixels 1 or 255) */
123 #define MBM_BOUNDARY 8 /* block in the boundary of the shape => transparent */
125 #define MBM_FIELD00 9 /* ref(Top)=Top, ref(Bot)=Top */
126 #define MBM_FIELD01 10 /* ref(Top)=Top, ref(Bot)=Bot */
127 #define MBM_FIELD10 11 /* ref(Top)=Bot, ref(Bot)=Top */
128 #define MBM_FIELD11 12 /* ref(Top)=Bot, ref(Bot)=Bot */
130 #define MBM_B_MODE 0x07 /* Mode mask */
131 #define MBM_B_FWDFRM 0 /* Forward frame prediction */
132 #define MBM_B_BAKFRM 1 /* Backward frame prediction */
133 #define MBM_B_AVEFRM 2 /* Average (bidirectional) frame prediction */
134 #define MBM_B_DIRECT 3 /* Direct mode */
135 /* nothing defined */ /* Transparent */
136 #define MBM_B_FWDFLD 5 /* Forward field prediction */
137 #define MBM_B_BAKFLD 6 /* Backward field prediction */
138 #define MBM_B_AVEFLD 7 /* Average (bidirectional) field prediction */
139 #define MBM_B_REFFLDS 0xF0 /* Mask of reference file selectors */
140 #define MBM_B_FWDTOP 0x10 /* Fwd Top fld reference is bot if set */
141 #define MBM_B_FWDBOT 0x20 /* Fwd Bot fld reference is bot if set */
142 #define MBM_B_BAKTOP 0x40 /* Bak Top fld reference is bot if set */
143 #define MBM_B_BAKBOT 0x80 /* Bak Bot fld reference is bot if set */
146 /* typedef enum
148 MBMODE_INTRA=0,
149 MBMODE_INTER16=1,
150 MBMODE_INTER8=4,
151 MBMODE_TRANSPARENT=2,
152 MBMODE_OUT=5,
153 MBMODE_SPRITE=3
154 } MBMODE; */
155 /* (from mot_est.h) */
158 #define BINARY_ALPHA 255
159 #define BINARY_SHAPE 1
160 #define ARB_SHAPE 1
162 #define NO_SHAPE_EFFECTS 0
164 #define REVERSE_VLC 1 /* 26.04.97 LDS */
166 #endif