Mercurial > libavcodec.hg
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 }, |