1 /* defs.h - a combined defs.h from h263 encoder and decoder tree
2 *
3 * 15.12.97, jw
4 */
5
6 #ifndef _DEFS_H_
7 #define _DEFS_H_
8
9 #define NUM_LAYERS 4
10 /*
11 #ifndef RAND_MAX
12 # define RAND_MAX 32767 */ /* sos4 has it not */
13 /*#endif*/
14
15 #ifdef FALSE
16 #undef FALSE
17 #endif
18 #ifdef TRUE
19 #undef TRUE
20 #endif
21 #define FALSE 0
22 #define TRUE (!FALSE)
23
24 #define ON 1
25 #define OFF 0
26
27 #define NO_INDEX -1
28
29 /* File types */
30 #define SEP_RAW_TYPE 0
31 #define CAT_SEQ_TYPE 1
32
33 /* Coding scheme */
34 #define NONE 0
35 #define H263 1
36 #define PYRA 2
37
38 /* Picture coding types */
39 #define PICTURE_CODING_TYPE_UNKNOWN -1
40 #define PICTURE_CODING_TYPE_INTRA 0
41 #define PICTURE_CODING_TYPE_INTER 1
42
43
44 #define SQCIF_WIDTH 128
45 #define SQCIF_HEIGHT 96
46 #define QCIF_WIDTH 176
47 #define QCIF_HEIGHT 144
48 #define CIF_WIDTH 352
49 #define CIF_HEIGHT 288
50 #define CIF4_WIDTH 704
51 #define CIF4_HEIGHT 576
52 #define CIF16_WIDTH 1408
53 #define CIF16_HEIGHT 1152
54
55 #define QCIF2_WIDTH 96 /* CEILING_16(QCIF/2) */
56 #define QCIF2_HEIGHT 80
57 #define QCIF4_WIDTH 48 /* CEILING_16(QCIF/4) */
58 #define QCIF4_HEIGHT 48
59 #define QCIF8_WIDTH 32 /* CEILING_16(QCIF/8) */
60 #define QCIF8_HEIGHT 32
61
62 #define MAX_GOBS 18
63
64
65
66 /* H.263 coding modes */
67 #define BASELINE_MODE 0
68 #define UMV_MODE 1
69 #define AP_MODE 2
70 #define UMV_AP_MODE 3
71 #define PB_MODE 4
72 #define SAC_MODE 8
73
74
75 /* If PYRA_DCT_BASELAYER is defined, the intra blocks of the pyra layers
76 are coded with DCT (as in H.263) in the baselayer */
77 /* #define PYRA_DCT_BASELAYER */
78
79
80 /* MB coding modes for H.263 and other coders */
81 #define MODE_UNSET -2
82 #define MODE_UNCODED -1
83 #define MODE_INTER 0
84 #define MODE_INTER_Q 1
85 #define MODE_INTER4V 2
86 #define MODE_INTRA 3
87 #define MODE_INTRA_Q 4
88 #define MODE_STUFFING 5
89
90 /* Define here what the parameter 'codingTime' shall switch at what time */
91 #define TIME_SUBSAMPLE_SAD_4 1
92 #define TIME_TH_UNCODED 1
93 #define TIME_HALFPEL_MC 2
94 #define TIME_FASTFULLPEL_MC 3
95 #define TIME_3COEF_DCT 4
96 #define TIME_FULLSEARCH_ME 5
97 #define TIME_SUBSAMPLE_SAD 6
98 #define TIME_RD_MODE_DECISION 7
99 /*#define TIME_RD_ME*/
100
101
102 /* Pyramid scales */
103 #define SCALE_STEP 2
104 #define SCALE_MIN 16
105 #define SCALE_MAX 78
106
107 /* Scaling scale for chroma */
108 #define CSCALE 0.6
109
110 typedef unsigned char Byte;
111
112 /* For H.263 */
113 #define PSC 1
114 #define PSC_LENGTH 17
115 #define SE_CODE 31
116
117 #define PBMODE_NORMAL 0
118 #define PBMODE_MVDB 1
119 #define PBMODE_CBPB_MVDB 2
120
121 #define ESCAPE 7167
122 #define ESCAPE_INDEX 102
123
124 #define PCT_INTER 1
125 #define PCT_INTRA 0
126
127 #define SQCIF 1 /* 001 */
128 #define QCIF 2 /* 010 */
129 #define CIF 3 /* 011 */
130 #define CIF4 4 /* 100 */
131 #define CIF16 5 /* 101 */
132 #define CUSTOM_SOURCE_FORMAT 6 /* 110 */
133
134 #define QCIF2 8 /* CEILING_16(QCIF/2) */
135 #define QCIF4 9 /* CEILING_16(QCIF/4) */
136 #define QCIF8 10 /* CEILING_16(QCIF/8) */
137
138 #define MACROBLOCK_SIZE 16
139 #define BLOCK_SIZE 8
140 #define MAX_SEARCH_RANGE 32
141
142
143 /* this is necessary for the max resolution 16CIF */
144 #define MBC 88
145 #define MBR 72
146
147 #define NO_VEC 999
148
149 #define SyntaxError(str) \
150 { fprintf(stderr,"Syntax error while parsing table %s\n", str); exit(1); }
151
152 #endif /* #ifndef _DEFS_H_ */
153
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.