Statistics
| Branch: | Revision:

ffmpeg / libavcodec / mpeg4data.h @ 57514323

History | View | Annotate | Download (4.02 KB)

1 cc9ba006 Michael Niedermayer
// shapes
2
#define RECT_SHAPE       0
3
#define BIN_SHAPE        1
4
#define BIN_ONLY_SHAPE   2
5
#define GRAY_SHAPE       3
6
7 1ff662cc Michael Niedermayer
#define SIMPLE_VO_TYPE 1
8
#define CORE_VO_TYPE   3
9
10 cc9ba006 Michael Niedermayer
// aspect_ratio_info
11
#define EXTENDET_PAR 15
12
13
//vol_sprite_usage / sprite_enable
14
#define STATIC_SPRITE 1
15
#define GMC_SPRITE 2
16 de6d9b64 Fabrice Bellard
17
/* dc encoding for mpeg4 */
18 84afee34 Michael Niedermayer
const UINT8 DCtab_lum[13][2] =
19 de6d9b64 Fabrice Bellard
{
20
    {3,3}, {3,2}, {2,2}, {2,3}, {1,3}, {1,4}, {1,5}, {1,6}, {1,7},
21
    {1,8}, {1,9}, {1,10}, {1,11},
22
}; 
23
24 84afee34 Michael Niedermayer
const UINT8 DCtab_chrom[13][2] =
25 de6d9b64 Fabrice Bellard
{
26
    {3,2}, {2,2}, {1,2}, {1,3}, {1,4}, {1,5}, {1,6}, {1,7}, {1,8},
27
    {1,9}, {1,10}, {1,11}, {1,12},
28
}; 
29
30
const UINT16 intra_vlc[103][2] = {
31
{ 0x2, 2 },
32
{ 0x6, 3 },{ 0xf, 4 },{ 0xd, 5 },{ 0xc, 5 },
33
{ 0x15, 6 },{ 0x13, 6 },{ 0x12, 6 },{ 0x17, 7 },
34
{ 0x1f, 8 },{ 0x1e, 8 },{ 0x1d, 8 },{ 0x25, 9 },
35
{ 0x24, 9 },{ 0x23, 9 },{ 0x21, 9 },{ 0x21, 10 },
36
{ 0x20, 10 },{ 0xf, 10 },{ 0xe, 10 },{ 0x7, 11 },
37
{ 0x6, 11 },{ 0x20, 11 },{ 0x21, 11 },{ 0x50, 12 },
38
{ 0x51, 12 },{ 0x52, 12 },{ 0xe, 4 },{ 0x14, 6 },
39
{ 0x16, 7 },{ 0x1c, 8 },{ 0x20, 9 },{ 0x1f, 9 },
40
{ 0xd, 10 },{ 0x22, 11 },{ 0x53, 12 },{ 0x55, 12 },
41
{ 0xb, 5 },{ 0x15, 7 },{ 0x1e, 9 },{ 0xc, 10 },
42
{ 0x56, 12 },{ 0x11, 6 },{ 0x1b, 8 },{ 0x1d, 9 },
43
{ 0xb, 10 },{ 0x10, 6 },{ 0x22, 9 },{ 0xa, 10 },
44
{ 0xd, 6 },{ 0x1c, 9 },{ 0x8, 10 },{ 0x12, 7 },
45
{ 0x1b, 9 },{ 0x54, 12 },{ 0x14, 7 },{ 0x1a, 9 },
46
{ 0x57, 12 },{ 0x19, 8 },{ 0x9, 10 },{ 0x18, 8 },
47
{ 0x23, 11 },{ 0x17, 8 },{ 0x19, 9 },{ 0x18, 9 },
48
{ 0x7, 10 },{ 0x58, 12 },{ 0x7, 4 },{ 0xc, 6 },
49
{ 0x16, 8 },{ 0x17, 9 },{ 0x6, 10 },{ 0x5, 11 },
50
{ 0x4, 11 },{ 0x59, 12 },{ 0xf, 6 },{ 0x16, 9 },
51
{ 0x5, 10 },{ 0xe, 6 },{ 0x4, 10 },{ 0x11, 7 },
52
{ 0x24, 11 },{ 0x10, 7 },{ 0x25, 11 },{ 0x13, 7 },
53
{ 0x5a, 12 },{ 0x15, 8 },{ 0x5b, 12 },{ 0x14, 8 },
54
{ 0x13, 8 },{ 0x1a, 8 },{ 0x15, 9 },{ 0x14, 9 },
55
{ 0x13, 9 },{ 0x12, 9 },{ 0x11, 9 },{ 0x26, 11 },
56
{ 0x27, 11 },{ 0x5c, 12 },{ 0x5d, 12 },{ 0x5e, 12 },
57
{ 0x5f, 12 },{ 0x3, 7 },
58
};
59
60
const INT8 intra_level[102] = {
61
  1,  2,  3,  4,  5,  6,  7,  8,
62
  9, 10, 11, 12, 13, 14, 15, 16,
63
 17, 18, 19, 20, 21, 22, 23, 24,
64
 25, 26, 27,  1,  2,  3,  4,  5,
65
  6,  7,  8,  9, 10,  1,  2,  3,
66
  4,  5,  1,  2,  3,  4,  1,  2,
67
  3,  1,  2,  3,  1,  2,  3,  1,
68
  2,  3,  1,  2,  1,  2,  1,  1,
69
  1,  1,  1,  1,  2,  3,  4,  5,
70
  6,  7,  8,  1,  2,  3,  1,  2,
71
  1,  2,  1,  2,  1,  2,  1,  2,
72
  1,  1,  1,  1,  1,  1,  1,  1,
73
  1,  1,  1,  1,  1,  1,
74
};
75
76
const INT8 intra_run[102] = {
77
  0,  0,  0,  0,  0,  0,  0,  0,
78
  0,  0,  0,  0,  0,  0,  0,  0,
79
  0,  0,  0,  0,  0,  0,  0,  0,
80
  0,  0,  0,  1,  1,  1,  1,  1,
81
  1,  1,  1,  1,  1,  2,  2,  2,
82
  2,  2,  3,  3,  3,  3,  4,  4,
83
  4,  5,  5,  5,  6,  6,  6,  7,
84
  7,  7,  8,  8,  9,  9, 10, 11,
85
 12, 13, 14,  0,  0,  0,  0,  0,
86
  0,  0,  0,  1,  1,  1,  2,  2,
87
  3,  3,  4,  4,  5,  5,  6,  6,
88
  7,  8,  9, 10, 11, 12, 13, 14,
89
 15, 16, 17, 18, 19, 20,
90
};
91
92
static RLTable rl_intra = {
93
    102,
94
    67,
95
    intra_vlc,
96
    intra_run,
97
    intra_level,
98
};
99 73c8e514 Michael Niedermayer
100
static const UINT16 sprite_trajectory_tab[15][2] = {
101
 {0x00, 2}, {0x02, 3},  {0x03, 3},  {0x04, 3}, {0x05, 3}, {0x06, 3},
102
 {0x0E, 4}, {0x1E, 5},  {0x3E, 6},  {0x7E, 7}, {0xFE, 8}, 
103
 {0x1FE, 9},{0x3FE, 10},{0x7FE, 11},{0xFFE, 12},
104
};
105 6f91bcd1 Michael Niedermayer
106
static const UINT8 mb_type_b_tab[4][2] = {
107
 {1, 1}, {1, 2}, {1, 3}, {1, 4},
108
};
109 84afee34 Michael Niedermayer
110
static const UINT16 pixel_aspect[16][2]={
111
 {0, 0},
112
 {1, 1},
113
 {12, 11},
114
 {10, 11},
115
 {16, 11},
116
 {40, 33},
117
 {0, 0},
118
 {0, 0},
119
 {0, 0},
120
 {0, 0},
121
 {0, 0},
122
 {0, 0},
123
 {0, 0},
124
 {0, 0},
125
 {0, 0},
126
 {0, 0},
127
};
128 3bf43d42 Michael Niedermayer
129
/* these matrixes will be permuted for the idct */
130
INT16 ff_mpeg4_default_intra_matrix[64] = {
131
  8, 17, 18, 19, 21, 23, 25, 27,
132
 17, 18, 19, 21, 23, 25, 27, 28,
133
 20, 21, 22, 23, 24, 26, 28, 30,
134
 21, 22, 23, 24, 26, 28, 30, 32,
135
 22, 23, 24, 26, 28, 30, 32, 35,
136
 23, 24, 26, 28, 30, 32, 35, 38,
137
 25, 26, 28, 30, 32, 35, 38, 41,
138
 27, 28, 30, 32, 35, 38, 41, 45, 
139
};
140
141
INT16 ff_mpeg4_default_non_intra_matrix[64] = {
142
 16, 17, 18, 19, 20, 21, 22, 23,
143
 17, 18, 19, 20, 21, 22, 23, 24,
144
 18, 19, 20, 21, 22, 23, 24, 25,
145
 19, 20, 21, 22, 23, 24, 26, 27,
146
 20, 21, 22, 23, 25, 26, 27, 28,
147
 21, 22, 23, 24, 26, 27, 28, 30,
148
 22, 23, 24, 26, 27, 28, 30, 31,
149
 23, 24, 25, 27, 28, 30, 31, 33,
150
};