export delay info
[ffmpeg.git] / libavcodec / mpeg4data.h
1 // shapes
2 #define RECT_SHAPE       0
3 #define BIN_SHAPE        1
4 #define BIN_ONLY_SHAPE   2
5 #define GRAY_SHAPE       3
6
7 #define SIMPLE_VO_TYPE 1
8 #define CORE_VO_TYPE   3
9
10 // 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
17 /* dc encoding for mpeg4 */
18 const UINT8 DCtab_lum[13][2] =
19 {
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 const UINT8 DCtab_chrom[13][2] =
25 {
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
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
106 static const UINT8 mb_type_b_tab[4][2] = {
107  {1, 1}, {1, 2}, {1, 3}, {1, 4},
108 };
109
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
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 };
151