comparison mpeg12data.h @ 1655:c92147a61d97 libavcodec

rv20 (h263) b frame decoding support
author michael
date Thu, 04 Dec 2003 18:34:47 +0000
parents dd544554ed42
children 8158e66f1f75
comparison
equal deleted inserted replaced
1654:1c123e036890 1655:c92147a61d97
281 {0xa, 5}, 281 {0xa, 5},
282 {0x8, 5}, 282 {0x8, 5},
283 {0xc, 6} 283 {0xc, 6}
284 }; 284 };
285 285
286 #define MB_TYPE_PAT 0x40000000
287 #define MB_TYPE_ZERO_MV 0x20000000 286 #define MB_TYPE_ZERO_MV 0x20000000
288 #define IS_ZERO_MV(a) ((a)&MB_TYPE_ZERO_MV) 287 #define IS_ZERO_MV(a) ((a)&MB_TYPE_ZERO_MV)
289 #define IS_PAT(a) ((a)&MB_TYPE_PAT)
290 288
291 static const uint8_t table_mb_ptype[7][2] = { 289 static const uint8_t table_mb_ptype[7][2] = {
292 { 3, 5 }, // 0x01 MB_INTRA 290 { 3, 5 }, // 0x01 MB_INTRA
293 { 1, 2 }, // 0x02 MB_PAT 291 { 1, 2 }, // 0x02 MB_PAT
294 { 1, 3 }, // 0x08 MB_FOR 292 { 1, 3 }, // 0x08 MB_FOR
298 { 2, 5 }, // 0x1A MB_QUANT|MB_FOR|MB_PAT 296 { 2, 5 }, // 0x1A MB_QUANT|MB_FOR|MB_PAT
299 }; 297 };
300 298
301 static const uint32_t ptype2mb_type[7] = { 299 static const uint32_t ptype2mb_type[7] = {
302 MB_TYPE_INTRA, 300 MB_TYPE_INTRA,
303 MB_TYPE_L0 | MB_TYPE_PAT | MB_TYPE_ZERO_MV | MB_TYPE_16x16, 301 MB_TYPE_L0 | MB_TYPE_CBP | MB_TYPE_ZERO_MV | MB_TYPE_16x16,
304 MB_TYPE_L0, 302 MB_TYPE_L0,
305 MB_TYPE_L0 | MB_TYPE_PAT, 303 MB_TYPE_L0 | MB_TYPE_CBP,
306 MB_TYPE_QUANT | MB_TYPE_INTRA, 304 MB_TYPE_QUANT | MB_TYPE_INTRA,
307 MB_TYPE_QUANT | MB_TYPE_L0 | MB_TYPE_PAT | MB_TYPE_ZERO_MV | MB_TYPE_16x16, 305 MB_TYPE_QUANT | MB_TYPE_L0 | MB_TYPE_CBP | MB_TYPE_ZERO_MV | MB_TYPE_16x16,
308 MB_TYPE_QUANT | MB_TYPE_L0 | MB_TYPE_PAT, 306 MB_TYPE_QUANT | MB_TYPE_L0 | MB_TYPE_CBP,
309 }; 307 };
310 308
311 static const uint8_t table_mb_btype[11][2] = { 309 static const uint8_t table_mb_btype[11][2] = {
312 { 3, 5 }, // 0x01 MB_INTRA 310 { 3, 5 }, // 0x01 MB_INTRA
313 { 2, 3 }, // 0x04 MB_BACK 311 { 2, 3 }, // 0x04 MB_BACK
323 }; 321 };
324 322
325 static const uint32_t btype2mb_type[11] = { 323 static const uint32_t btype2mb_type[11] = {
326 MB_TYPE_INTRA, 324 MB_TYPE_INTRA,
327 MB_TYPE_L1, 325 MB_TYPE_L1,
328 MB_TYPE_L1 | MB_TYPE_PAT, 326 MB_TYPE_L1 | MB_TYPE_CBP,
329 MB_TYPE_L0, 327 MB_TYPE_L0,
330 MB_TYPE_L0 | MB_TYPE_PAT, 328 MB_TYPE_L0 | MB_TYPE_CBP,
331 MB_TYPE_L0L1, 329 MB_TYPE_L0L1,
332 MB_TYPE_L0L1 | MB_TYPE_PAT, 330 MB_TYPE_L0L1 | MB_TYPE_CBP,
333 MB_TYPE_QUANT | MB_TYPE_INTRA, 331 MB_TYPE_QUANT | MB_TYPE_INTRA,
334 MB_TYPE_QUANT | MB_TYPE_L1 | MB_TYPE_PAT, 332 MB_TYPE_QUANT | MB_TYPE_L1 | MB_TYPE_CBP,
335 MB_TYPE_QUANT | MB_TYPE_L0 | MB_TYPE_PAT, 333 MB_TYPE_QUANT | MB_TYPE_L0 | MB_TYPE_CBP,
336 MB_TYPE_QUANT | MB_TYPE_L0L1 | MB_TYPE_PAT, 334 MB_TYPE_QUANT | MB_TYPE_L0L1 | MB_TYPE_CBP,
337 }; 335 };
338 336
339 static const uint8_t mbMotionVectorTable[17][2] = { 337 static const uint8_t mbMotionVectorTable[17][2] = {
340 { 0x1, 1 }, 338 { 0x1, 1 },
341 { 0x1, 2 }, 339 { 0x1, 2 },