comparison h263data.h @ 350:6ebbecc10063 libavcodec

- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now. - Bug fix H.263+ AIC tables. - Warning fixes.
author pulento
date Thu, 02 May 2002 04:39:45 +0000
parents 764aeec1320e
children 583dcee270d2
comparison
equal deleted inserted replaced
349:34f6c77ff01a 350:6ebbecc10063
123 inter_vlc, 123 inter_vlc,
124 inter_run, 124 inter_run,
125 inter_level, 125 inter_level,
126 }; 126 };
127 127
128 /* table used for Advanced INTRA Coding, just RUN and LEVEL change */ 128 const UINT16 intra_vlc_aic[103][2] = {
129 const INT8 inter_level_aic[102] = { 129 { 0x2, 2 }, { 0x6, 3 }, { 0xe, 4 }, { 0xc, 5 },
130 1, 1, 1, 1, 1, 1, 1, 1, 130 { 0xd, 5 }, { 0x10, 6 }, { 0x11, 6 }, { 0x12, 6 },
131 1, 3, 2, 1, 2, 2, 4, 5, 131 { 0x16, 7 }, { 0x1b, 8 }, { 0x20, 9 }, { 0x21, 9 },
132 6, 7, 3, 2, 3, 4, 5, 2, 132 { 0x1a, 9 }, { 0x1b, 9 }, { 0x1c, 9 }, { 0x1d, 9 },
133 3, 4, 2, 3, 1, 2, 25, 1, 133 { 0x1e, 9 }, { 0x1f, 9 }, { 0x23, 11 }, { 0x22, 11 },
134 2, 24, 8, 2, 7, 4, 6, 1, 134 { 0x57, 12 }, { 0x56, 12 }, { 0x55, 12 }, { 0x54, 12 },
135 9, 23, 2, 3, 1, 10, 12, 11, 135 { 0x53, 12 }, { 0xf, 4 }, { 0x14, 6 }, { 0x14, 7 },
136 18, 17, 16, 15, 14, 13, 20, 19, 136 { 0x1e, 8 }, { 0xf, 10 }, { 0x21, 11 }, { 0x50, 12 },
137 22, 21, 1, 1, 1, 1, 1, 1, 137 { 0xb, 5 }, { 0x15, 7 }, { 0xe, 10 }, { 0x9, 10 },
138 1, 2, 1, 1, 1, 3, 1, 1, 138 { 0x15, 6 }, { 0x1d, 8 }, { 0xd, 10 }, { 0x51, 12 },
139 1, 1, 1, 1, 1, 4, 1, 1, 139 { 0x13, 6 }, { 0x23, 9 }, { 0x7, 11 }, { 0x17, 7 },
140 1, 1, 2, 2, 6, 5, 2, 2, 140 { 0x22, 9 }, { 0x52, 12 }, { 0x1c, 8 }, { 0xc, 10 },
141 3, 7, 3, 4, 9, 8, 1, 1, 141 { 0x1f, 8 }, { 0xb, 10 }, { 0x25, 9 }, { 0xa, 10 },
142 1, 2, 2, 2, 3, 10, 142 { 0x24, 9 }, { 0x6, 11 }, { 0x21, 10 }, { 0x20, 10 },
143 }; 143 { 0x8, 10 }, { 0x20, 11 }, { 0x7, 4 }, { 0xc, 6 },
144 144 { 0x10, 7 }, { 0x13, 8 }, { 0x11, 9 }, { 0x12, 9 },
145 const INT8 inter_run_aic[102] = { 145 { 0x4, 10 }, { 0x27, 11 }, { 0x26, 11 }, { 0x5f, 12 },
146 0, 1, 3, 5, 7, 8, 9, 10, 146 { 0xf, 6 }, { 0x13, 9 }, { 0x5, 10 }, { 0x25, 11 },
147 11, 4, 9, 13, 0, 1, 1, 1, 147 { 0xe, 6 }, { 0x14, 9 }, { 0x24, 11 }, { 0xd, 6 },
148 1, 1, 0, 3, 2, 3, 0, 4, 148 { 0x6, 10 }, { 0x5e, 12 }, { 0x11, 7 }, { 0x7, 10 },
149 3, 0, 5, 5, 2, 6, 0, 4, 149 { 0x13, 7 }, { 0x5d, 12 }, { 0x12, 7 }, { 0x5c, 12 },
150 7, 0, 0, 8, 0, 2, 0, 12, 150 { 0x14, 8 }, { 0x5b, 12 }, { 0x15, 8 }, { 0x1a, 8 },
151 0, 0, 2, 1, 6, 0, 0, 0, 151 { 0x19, 8 }, { 0x18, 8 }, { 0x17, 8 }, { 0x16, 8 },
152 0, 0, 0, 0, 0, 0, 0, 0, 152 { 0x19, 9 }, { 0x15, 9 }, { 0x16, 9 }, { 0x18, 9 },
153 0, 0, 0, 14, 20, 1, 19, 2, 153 { 0x17, 9 }, { 0x4, 11 }, { 0x5, 11 }, { 0x58, 12 },
154 3, 0, 5, 6, 4, 0, 9, 10, 154 { 0x59, 12 }, { 0x5a, 12 }, { 0x3, 7 },
155 11, 12, 13, 8, 7, 0, 17, 18, 155 };
156 16, 15, 2, 1, 0, 0, 4, 3, 156
157 1, 0, 2, 1, 0, 0, 21, 22, 157 const INT8 intra_run_aic[102] = {
158 23, 7, 6, 5, 3, 0, 158 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 0, 0,
161 0, 1, 1, 1, 1, 1, 1, 1,
162 2, 2, 2, 2, 3, 3, 3, 3,
163 4, 4, 4, 5, 5, 5, 6, 6,
164 7, 7, 8, 8, 9, 9, 10, 11,
165 12, 13, 0, 0, 0, 0, 0, 0,
166 0, 0, 0, 0, 1, 1, 1, 1,
167 2, 2, 2, 3, 3, 3, 4, 4,
168 5, 5, 6, 6, 7, 7, 8, 9,
169 10, 11, 12, 13, 14, 15, 16, 17,
170 18, 19, 20, 21, 22, 23,
171 };
172
173 const INT8 intra_level_aic[102] = {
174 1, 2, 3, 4, 5, 6, 7, 8,
175 9, 10, 11, 12, 13, 14, 15, 16,
176 17, 18, 19, 20, 21, 22, 23, 24,
177 25, 1, 2, 3, 4, 5, 6, 7,
178 1, 2, 3, 4, 1, 2, 3, 4,
179 1, 2, 3, 1, 2, 3, 1, 2,
180 1, 2, 1, 2, 1, 2, 1, 1,
181 1, 1, 1, 2, 3, 4, 5, 6,
182 7, 8, 9, 10, 1, 2, 3, 4,
183 1, 2, 3, 1, 2, 3, 1, 2,
184 1, 2, 1, 2, 1, 2, 1, 1,
185 1, 1, 1, 1, 1, 1, 1, 1,
186 1, 1, 1, 1, 1, 1,
159 }; 187 };
160 188
161 static RLTable rl_intra_aic = { 189 static RLTable rl_intra_aic = {
162 102, 190 102,
163 58, 191 58,
164 inter_vlc, 192 intra_vlc_aic,
165 inter_run_aic, 193 intra_run_aic,
166 inter_level_aic, 194 intra_level_aic,
167 }; 195 };
168 196
169 static const UINT16 h263_format[8][2] = { 197 static const UINT16 h263_format[8][2] = {
170 { 0, 0 }, 198 { 0, 0 },
171 { 128, 96 }, 199 { 128, 96 },
172 { 176, 144 }, 200 { 176, 144 },
173 { 352, 288 }, 201 { 352, 288 },
174 { 704, 576 }, 202 { 704, 576 },
175 { 1408, 1152 }, 203 { 1408, 1152 },
176 }; 204 };
177