Revision 7bc9090a libavcodec/mpeg12data.h

View differences:

libavcodec/mpeg12data.h
289 289
    {0xc, 6}
290 290
};
291 291

  
292
#define MB_INTRA 0x01
293
#define MB_PAT   0x02
294
#define MB_BACK  0x04
295
#define MB_FOR   0x08
296
#define MB_QUANT 0x10  
297

  
298
static const uint8_t table_mb_ptype[32][2] = {
299
    { 0, 0 }, // 0x00
292
#define MB_TYPE_PAT       0x40000000
293
#define MB_TYPE_ZERO_MV   0x20000000
294
#define IS_ZERO_MV(a)   ((a)&MB_TYPE_ZERO_MV)
295
#define IS_PAT(a)       ((a)&MB_TYPE_PAT)
296

  
297
static const uint8_t table_mb_ptype[7][2] = {
300 298
    { 3, 5 }, // 0x01 MB_INTRA
301 299
    { 1, 2 }, // 0x02 MB_PAT
302
    { 0, 0 }, // 0x03
303
    { 0, 0 }, // 0x04
304
    { 0, 0 }, // 0x05
305
    { 0, 0 }, // 0x06
306
    { 0, 0 }, // 0x07
307 300
    { 1, 3 }, // 0x08 MB_FOR
308
    { 0, 0 }, // 0x09
309 301
    { 1, 1 }, // 0x0A MB_FOR|MB_PAT
310
    { 0, 0 }, // 0x0B
311
    { 0, 0 }, // 0x0C
312
    { 0, 0 }, // 0x0D
313
    { 0, 0 }, // 0x0E
314
    { 0, 0 }, // 0x0F
315
    { 0, 0 }, // 0x10
316 302
    { 1, 6 }, // 0x11 MB_QUANT|MB_INTRA
317 303
    { 1, 5 }, // 0x12 MB_QUANT|MB_PAT
318
    { 0, 0 }, // 0x13
319
    { 0, 0 }, // 0x14
320
    { 0, 0 }, // 0x15
321
    { 0, 0 }, // 0x16
322
    { 0, 0 }, // 0x17
323
    { 0, 0 }, // 0x18
324
    { 0, 0 }, // 0x19
325 304
    { 2, 5 }, // 0x1A MB_QUANT|MB_FOR|MB_PAT
326
    { 0, 0 }, // 0x1B
327
    { 0, 0 }, // 0x1C
328
    { 0, 0 }, // 0x1D
329
    { 0, 0 }, // 0x1E
330
    { 0, 0 }, // 0x1F
331 305
};
332 306

  
333
static const uint8_t table_mb_btype[32][2] = {
334
    { 0, 0 }, // 0x00
307
static const uint32_t ptype2mb_type[7] = {
308
                    MB_TYPE_INTRA,
309
                    MB_TYPE_L0 | MB_TYPE_PAT | MB_TYPE_ZERO_MV | MB_TYPE_16x16,
310
                    MB_TYPE_L0,
311
                    MB_TYPE_L0 | MB_TYPE_PAT,
312
    MB_TYPE_QUANT | MB_TYPE_INTRA,
313
    MB_TYPE_QUANT | MB_TYPE_L0 | MB_TYPE_PAT | MB_TYPE_ZERO_MV | MB_TYPE_16x16,
314
    MB_TYPE_QUANT | MB_TYPE_L0 | MB_TYPE_PAT,
315
};
316

  
317
static const uint8_t table_mb_btype[11][2] = {
335 318
    { 3, 5 }, // 0x01 MB_INTRA
336
    { 0, 0 }, // 0x02
337
    { 0, 0 }, // 0x03
338 319
    { 2, 3 }, // 0x04 MB_BACK
339
    { 0, 0 }, // 0x05
340 320
    { 3, 3 }, // 0x06 MB_BACK|MB_PAT
341
    { 0, 0 }, // 0x07
342 321
    { 2, 4 }, // 0x08 MB_FOR
343
    { 0, 0 }, // 0x09
344 322
    { 3, 4 }, // 0x0A MB_FOR|MB_PAT
345
    { 0, 0 }, // 0x0B
346 323
    { 2, 2 }, // 0x0C MB_FOR|MB_BACK
347
    { 0, 0 }, // 0x0D
348 324
    { 3, 2 }, // 0x0E MB_FOR|MB_BACK|MB_PAT
349
    { 0, 0 }, // 0x0F
350
    { 0, 0 }, // 0x10
351 325
    { 1, 6 }, // 0x11 MB_QUANT|MB_INTRA
352
    { 0, 0 }, // 0x12
353
    { 0, 0 }, // 0x13
354
    { 0, 0 }, // 0x14
355
    { 0, 0 }, // 0x15
356 326
    { 2, 6 }, // 0x16 MB_QUANT|MB_BACK|MB_PAT
357
    { 0, 0 }, // 0x17
358
    { 0, 0 }, // 0x18
359
    { 0, 0 }, // 0x19
360 327
    { 3, 6 }, // 0x1A MB_QUANT|MB_FOR|MB_PAT
361
    { 0, 0 }, // 0x1B
362
    { 0, 0 }, // 0x1C
363
    { 0, 0 }, // 0x1D
364 328
    { 2, 5 }, // 0x1E MB_QUANT|MB_FOR|MB_BACK|MB_PAT
365
    { 0, 0 }, // 0x1F
329
};
330

  
331
static const uint32_t btype2mb_type[11] = {
332
                    MB_TYPE_INTRA,
333
                    MB_TYPE_L1,
334
                    MB_TYPE_L1   | MB_TYPE_PAT,
335
                    MB_TYPE_L0,
336
                    MB_TYPE_L0   | MB_TYPE_PAT,
337
                    MB_TYPE_L0L1,
338
                    MB_TYPE_L0L1 | MB_TYPE_PAT,
339
    MB_TYPE_QUANT | MB_TYPE_INTRA,
340
    MB_TYPE_QUANT | MB_TYPE_L1   | MB_TYPE_PAT,
341
    MB_TYPE_QUANT | MB_TYPE_L0   | MB_TYPE_PAT,
342
    MB_TYPE_QUANT | MB_TYPE_L0L1 | MB_TYPE_PAT,
366 343
};
367 344

  
368 345
static const uint8_t mbMotionVectorTable[17][2] = {

Also available in: Unified diff