Statistics
| Branch: | Revision:

ffmpeg / libavcodec / mpeg12data.h @ c009df3f

History | View | Annotate | Download (11.4 KB)

1 983e3246 Michael Niedermayer
/**
2
 * @file mpeg12data.h
3
 * MPEG1/2 tables.
4 de6d9b64 Fabrice Bellard
 */
5
6 0c1a9eda Zdenek Kabelac
const int16_t ff_mpeg1_default_intra_matrix[64] = {
7 de6d9b64 Fabrice Bellard
        8, 16, 19, 22, 26, 27, 29, 34,
8
        16, 16, 22, 24, 27, 29, 34, 37,
9
        19, 22, 26, 27, 29, 34, 34, 38,
10
        22, 22, 26, 27, 29, 34, 37, 40,
11
        22, 26, 27, 29, 32, 35, 40, 48,
12
        26, 27, 29, 32, 35, 40, 48, 58,
13
        26, 27, 29, 34, 38, 46, 56, 69,
14
        27, 29, 35, 38, 46, 56, 69, 83
15
};
16
17 0c1a9eda Zdenek Kabelac
const int16_t ff_mpeg1_default_non_intra_matrix[64] = {
18 de6d9b64 Fabrice Bellard
    16, 16, 16, 16, 16, 16, 16, 16,
19
    16, 16, 16, 16, 16, 16, 16, 16,
20
    16, 16, 16, 16, 16, 16, 16, 16,
21
    16, 16, 16, 16, 16, 16, 16, 16,
22
    16, 16, 16, 16, 16, 16, 16, 16,
23
    16, 16, 16, 16, 16, 16, 16, 16,
24
    16, 16, 16, 16, 16, 16, 16, 16,
25
    16, 16, 16, 16, 16, 16, 16, 16,
26
};
27
28
const unsigned char vlc_dc_table[256] = {
29
    0, 1, 2, 2,
30
    3, 3, 3, 3,
31
    4, 4, 4, 4, 4, 4, 4, 4,
32
    5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
33
    6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
34
    6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
35
36
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
37
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
38
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
39
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
40
41
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
42
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
43
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
44
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
45
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
46
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
47
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
48
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
49
};
50
51 0c1a9eda Zdenek Kabelac
const uint16_t vlc_dc_lum_code[12] = {
52 de6d9b64 Fabrice Bellard
    0x4, 0x0, 0x1, 0x5, 0x6, 0xe, 0x1e, 0x3e, 0x7e, 0xfe, 0x1fe, 0x1ff,
53
};
54
const unsigned char vlc_dc_lum_bits[12] = {
55
    3, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9, 9,
56
};
57
58 0c1a9eda Zdenek Kabelac
const uint16_t vlc_dc_chroma_code[12] = {
59 de6d9b64 Fabrice Bellard
    0x0, 0x1, 0x2, 0x6, 0xe, 0x1e, 0x3e, 0x7e, 0xfe, 0x1fe, 0x3fe, 0x3ff,
60
};
61
const unsigned char vlc_dc_chroma_bits[12] = {
62
    2, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10,
63
};
64
65 f004ca1c Michael Niedermayer
/* simple include everything table for dc, first byte is bits number next 3 are code*/
66 0c1a9eda Zdenek Kabelac
static uint32_t mpeg1_lum_dc_uni[512];
67
static uint32_t mpeg1_chr_dc_uni[512];
68 f004ca1c Michael Niedermayer
69 0c1a9eda Zdenek Kabelac
static const uint16_t mpeg1_vlc[113][2] = {
70 de6d9b64 Fabrice Bellard
 { 0x3, 2 }, { 0x4, 4 }, { 0x5, 5 }, { 0x6, 7 },
71
 { 0x26, 8 }, { 0x21, 8 }, { 0xa, 10 }, { 0x1d, 12 },
72
 { 0x18, 12 }, { 0x13, 12 }, { 0x10, 12 }, { 0x1a, 13 },
73
 { 0x19, 13 }, { 0x18, 13 }, { 0x17, 13 }, { 0x1f, 14 },
74
 { 0x1e, 14 }, { 0x1d, 14 }, { 0x1c, 14 }, { 0x1b, 14 },
75
 { 0x1a, 14 }, { 0x19, 14 }, { 0x18, 14 }, { 0x17, 14 },
76
 { 0x16, 14 }, { 0x15, 14 }, { 0x14, 14 }, { 0x13, 14 },
77
 { 0x12, 14 }, { 0x11, 14 }, { 0x10, 14 }, { 0x18, 15 },
78
 { 0x17, 15 }, { 0x16, 15 }, { 0x15, 15 }, { 0x14, 15 },
79
 { 0x13, 15 }, { 0x12, 15 }, { 0x11, 15 }, { 0x10, 15 },
80
 { 0x3, 3 }, { 0x6, 6 }, { 0x25, 8 }, { 0xc, 10 },
81
 { 0x1b, 12 }, { 0x16, 13 }, { 0x15, 13 }, { 0x1f, 15 },
82
 { 0x1e, 15 }, { 0x1d, 15 }, { 0x1c, 15 }, { 0x1b, 15 },
83
 { 0x1a, 15 }, { 0x19, 15 }, { 0x13, 16 }, { 0x12, 16 },
84
 { 0x11, 16 }, { 0x10, 16 }, { 0x5, 4 }, { 0x4, 7 },
85
 { 0xb, 10 }, { 0x14, 12 }, { 0x14, 13 }, { 0x7, 5 },
86
 { 0x24, 8 }, { 0x1c, 12 }, { 0x13, 13 }, { 0x6, 5 },
87
 { 0xf, 10 }, { 0x12, 12 }, { 0x7, 6 }, { 0x9, 10 },
88
 { 0x12, 13 }, { 0x5, 6 }, { 0x1e, 12 }, { 0x14, 16 },
89
 { 0x4, 6 }, { 0x15, 12 }, { 0x7, 7 }, { 0x11, 12 },
90
 { 0x5, 7 }, { 0x11, 13 }, { 0x27, 8 }, { 0x10, 13 },
91
 { 0x23, 8 }, { 0x1a, 16 }, { 0x22, 8 }, { 0x19, 16 },
92
 { 0x20, 8 }, { 0x18, 16 }, { 0xe, 10 }, { 0x17, 16 },
93
 { 0xd, 10 }, { 0x16, 16 }, { 0x8, 10 }, { 0x15, 16 },
94
 { 0x1f, 12 }, { 0x1a, 12 }, { 0x19, 12 }, { 0x17, 12 },
95
 { 0x16, 12 }, { 0x1f, 13 }, { 0x1e, 13 }, { 0x1d, 13 },
96
 { 0x1c, 13 }, { 0x1b, 13 }, { 0x1f, 16 }, { 0x1e, 16 },
97
 { 0x1d, 16 }, { 0x1c, 16 }, { 0x1b, 16 },
98
 { 0x1, 6 }, /* escape */
99
 { 0x2, 2 }, /* EOB */
100
};
101
102 0c1a9eda Zdenek Kabelac
static const uint16_t mpeg2_vlc[113][2] = {
103 de6d9b64 Fabrice Bellard
  {0x02, 2}, {0x06, 3}, {0x07, 4}, {0x1c, 5},
104
  {0x1d, 5}, {0x05, 6}, {0x04, 6}, {0x7b, 7},
105
  {0x7c, 7}, {0x23, 8}, {0x22, 8}, {0xfa, 8},
106
  {0xfb, 8}, {0xfe, 8}, {0xff, 8}, {0x1f,14},
107
  {0x1e,14}, {0x1d,14}, {0x1c,14}, {0x1b,14},
108
  {0x1a,14}, {0x19,14}, {0x18,14}, {0x17,14},
109
  {0x16,14}, {0x15,14}, {0x14,14}, {0x13,14},
110
  {0x12,14}, {0x11,14}, {0x10,14}, {0x18,15},
111
  {0x17,15}, {0x16,15}, {0x15,15}, {0x14,15},
112
  {0x13,15}, {0x12,15}, {0x11,15}, {0x10,15},
113
  {0x02, 3}, {0x06, 5}, {0x79, 7}, {0x27, 8},
114
  {0x20, 8}, {0x16,13}, {0x15,13}, {0x1f,15},
115
  {0x1e,15}, {0x1d,15}, {0x1c,15}, {0x1b,15},
116
  {0x1a,15}, {0x19,15}, {0x13,16}, {0x12,16},
117
  {0x11,16}, {0x10,16}, {0x05, 5}, {0x07, 7}, 
118
  {0xfc, 8}, {0x0c,10}, {0x14,13}, {0x07, 5}, 
119
  {0x26, 8}, {0x1c,12}, {0x13,13}, {0x06, 6}, 
120
  {0xfd, 8}, {0x12,12}, {0x07, 6}, {0x04, 9}, 
121
  {0x12,13}, {0x06, 7}, {0x1e,12}, {0x14,16}, 
122
  {0x04, 7}, {0x15,12}, {0x05, 7}, {0x11,12}, 
123
  {0x78, 7}, {0x11,13}, {0x7a, 7}, {0x10,13}, 
124
  {0x21, 8}, {0x1a,16}, {0x25, 8}, {0x19,16}, 
125
  {0x24, 8}, {0x18,16}, {0x05, 9}, {0x17,16}, 
126
  {0x07, 9}, {0x16,16}, {0x0d,10}, {0x15,16}, 
127
  {0x1f,12}, {0x1a,12}, {0x19,12}, {0x17,12}, 
128
  {0x16,12}, {0x1f,13}, {0x1e,13}, {0x1d,13}, 
129
  {0x1c,13}, {0x1b,13}, {0x1f,16}, {0x1e,16}, 
130
  {0x1d,16}, {0x1c,16}, {0x1b,16}, 
131
  {0x01,6}, /* escape */
132
  {0x06,4}, /* EOB */
133
};
134
135 0c1a9eda Zdenek Kabelac
static const int8_t mpeg1_level[111] = {
136 de6d9b64 Fabrice Bellard
  1,  2,  3,  4,  5,  6,  7,  8,
137
  9, 10, 11, 12, 13, 14, 15, 16,
138
 17, 18, 19, 20, 21, 22, 23, 24,
139
 25, 26, 27, 28, 29, 30, 31, 32,
140
 33, 34, 35, 36, 37, 38, 39, 40,
141
  1,  2,  3,  4,  5,  6,  7,  8,
142
  9, 10, 11, 12, 13, 14, 15, 16,
143
 17, 18,  1,  2,  3,  4,  5,  1,
144
  2,  3,  4,  1,  2,  3,  1,  2,
145
  3,  1,  2,  3,  1,  2,  1,  2,
146
  1,  2,  1,  2,  1,  2,  1,  2,
147
  1,  2,  1,  2,  1,  2,  1,  2,
148
  1,  1,  1,  1,  1,  1,  1,  1,
149
  1,  1,  1,  1,  1,  1,  1,
150
};
151
152 0c1a9eda Zdenek Kabelac
static const int8_t mpeg1_run[111] = {
153 de6d9b64 Fabrice Bellard
  0,  0,  0,  0,  0,  0,  0,  0,
154
  0,  0,  0,  0,  0,  0,  0,  0,
155
  0,  0,  0,  0,  0,  0,  0,  0,
156
  0,  0,  0,  0,  0,  0,  0,  0,
157
  0,  0,  0,  0,  0,  0,  0,  0,
158
  1,  1,  1,  1,  1,  1,  1,  1,
159
  1,  1,  1,  1,  1,  1,  1,  1,
160
  1,  1,  2,  2,  2,  2,  2,  3,
161
  3,  3,  3,  4,  4,  4,  5,  5,
162
  5,  6,  6,  6,  7,  7,  8,  8,
163
  9,  9, 10, 10, 11, 11, 12, 12,
164
 13, 13, 14, 14, 15, 15, 16, 16,
165
 17, 18, 19, 20, 21, 22, 23, 24,
166
 25, 26, 27, 28, 29, 30, 31,
167
};
168
169 0c1a9eda Zdenek Kabelac
static uint8_t mpeg1_index_run[2][64];
170
static int8_t mpeg1_max_level[2][64];
171 80feb2a2 Michael Niedermayer
172 de6d9b64 Fabrice Bellard
static RLTable rl_mpeg1 = {
173
    111,
174
    111,
175
    mpeg1_vlc,
176
    mpeg1_run,
177
    mpeg1_level,
178
};
179
180
static RLTable rl_mpeg2 = {
181
    111,
182
    111,
183
    mpeg2_vlc,
184
    mpeg1_run,
185
    mpeg1_level,
186
};
187
188 9c00c3af Michael Niedermayer
static const uint8_t mbAddrIncrTable[36][2] = {
189 de6d9b64 Fabrice Bellard
    {0x1, 1},
190
    {0x3, 3},
191
    {0x2, 3},
192
    {0x3, 4},
193
    {0x2, 4},
194
    {0x3, 5},
195
    {0x2, 5},
196
    {0x7, 7},
197
    {0x6, 7},
198
    {0xb, 8},
199
    {0xa, 8},
200
    {0x9, 8},
201
    {0x8, 8},
202
    {0x7, 8},
203
    {0x6, 8},
204
    {0x17, 10},
205
    {0x16, 10},
206
    {0x15, 10},
207
    {0x14, 10},
208
    {0x13, 10},
209
    {0x12, 10},
210
    {0x23, 11},
211
    {0x22, 11},
212
    {0x21, 11},
213
    {0x20, 11},
214
    {0x1f, 11},
215
    {0x1e, 11},
216
    {0x1d, 11},
217
    {0x1c, 11},
218
    {0x1b, 11},
219
    {0x1a, 11},
220
    {0x19, 11},
221
    {0x18, 11},
222
    {0x8, 11}, /* escape */
223
    {0xf, 11}, /* stuffing */
224 9c00c3af Michael Niedermayer
    {0x0, 8}, /* end (and 15 more 0 bits should follow) */
225 de6d9b64 Fabrice Bellard
};
226
227 0c1a9eda Zdenek Kabelac
static const uint8_t mbPatTable[63][2] = {
228 de6d9b64 Fabrice Bellard
    {0xb, 5},
229
    {0x9, 5},
230
    {0xd, 6},
231
    {0xd, 4},
232
    {0x17, 7},
233
    {0x13, 7},
234
    {0x1f, 8},
235
    {0xc, 4},
236
    {0x16, 7},
237
    {0x12, 7},
238
    {0x1e, 8},
239
    {0x13, 5},
240
    {0x1b, 8},
241
    {0x17, 8},
242
    {0x13, 8},
243
    {0xb, 4},
244
    {0x15, 7},
245
    {0x11, 7},
246
    {0x1d, 8},
247
    {0x11, 5},
248
    {0x19, 8},
249
    {0x15, 8},
250
    {0x11, 8},
251
    {0xf, 6},
252
    {0xf, 8},
253
    {0xd, 8},
254
    {0x3, 9},
255
    {0xf, 5},
256
    {0xb, 8},
257
    {0x7, 8},
258
    {0x7, 9},
259
    {0xa, 4},
260
    {0x14, 7},
261
    {0x10, 7},
262
    {0x1c, 8},
263
    {0xe, 6},
264
    {0xe, 8},
265
    {0xc, 8},
266
    {0x2, 9},
267
    {0x10, 5},
268
    {0x18, 8},
269
    {0x14, 8},
270
    {0x10, 8},
271
    {0xe, 5},
272
    {0xa, 8},
273
    {0x6, 8},
274
    {0x6, 9},
275
    {0x12, 5},
276
    {0x1a, 8},
277
    {0x16, 8},
278
    {0x12, 8},
279
    {0xd, 5},
280
    {0x9, 8},
281
    {0x5, 8},
282
    {0x5, 9},
283
    {0xc, 5},
284
    {0x8, 8},
285
    {0x4, 8},
286
    {0x4, 9},
287
    {0x7, 3},
288
    {0xa, 5},
289
    {0x8, 5},
290
    {0xc, 6}
291
};
292
293 7bc9090a Michael Niedermayer
#define MB_TYPE_PAT       0x40000000
294
#define MB_TYPE_ZERO_MV   0x20000000
295
#define IS_ZERO_MV(a)   ((a)&MB_TYPE_ZERO_MV)
296
#define IS_PAT(a)       ((a)&MB_TYPE_PAT)
297 de6d9b64 Fabrice Bellard
298 7bc9090a Michael Niedermayer
static const uint8_t table_mb_ptype[7][2] = {
299 1a565432 Fabrice Bellard
    { 3, 5 }, // 0x01 MB_INTRA
300
    { 1, 2 }, // 0x02 MB_PAT
301
    { 1, 3 }, // 0x08 MB_FOR
302
    { 1, 1 }, // 0x0A MB_FOR|MB_PAT
303
    { 1, 6 }, // 0x11 MB_QUANT|MB_INTRA
304
    { 1, 5 }, // 0x12 MB_QUANT|MB_PAT
305
    { 2, 5 }, // 0x1A MB_QUANT|MB_FOR|MB_PAT
306 de6d9b64 Fabrice Bellard
};
307
308 7bc9090a Michael Niedermayer
static const uint32_t ptype2mb_type[7] = {
309
                    MB_TYPE_INTRA,
310
                    MB_TYPE_L0 | MB_TYPE_PAT | MB_TYPE_ZERO_MV | MB_TYPE_16x16,
311
                    MB_TYPE_L0,
312
                    MB_TYPE_L0 | MB_TYPE_PAT,
313
    MB_TYPE_QUANT | MB_TYPE_INTRA,
314
    MB_TYPE_QUANT | MB_TYPE_L0 | MB_TYPE_PAT | MB_TYPE_ZERO_MV | MB_TYPE_16x16,
315
    MB_TYPE_QUANT | MB_TYPE_L0 | MB_TYPE_PAT,
316
};
317
318
static const uint8_t table_mb_btype[11][2] = {
319 1a565432 Fabrice Bellard
    { 3, 5 }, // 0x01 MB_INTRA
320
    { 2, 3 }, // 0x04 MB_BACK
321
    { 3, 3 }, // 0x06 MB_BACK|MB_PAT
322
    { 2, 4 }, // 0x08 MB_FOR
323
    { 3, 4 }, // 0x0A MB_FOR|MB_PAT
324
    { 2, 2 }, // 0x0C MB_FOR|MB_BACK
325
    { 3, 2 }, // 0x0E MB_FOR|MB_BACK|MB_PAT
326
    { 1, 6 }, // 0x11 MB_QUANT|MB_INTRA
327
    { 2, 6 }, // 0x16 MB_QUANT|MB_BACK|MB_PAT
328
    { 3, 6 }, // 0x1A MB_QUANT|MB_FOR|MB_PAT
329
    { 2, 5 }, // 0x1E MB_QUANT|MB_FOR|MB_BACK|MB_PAT
330 7bc9090a Michael Niedermayer
};
331
332
static const uint32_t btype2mb_type[11] = {
333
                    MB_TYPE_INTRA,
334
                    MB_TYPE_L1,
335
                    MB_TYPE_L1   | MB_TYPE_PAT,
336
                    MB_TYPE_L0,
337
                    MB_TYPE_L0   | MB_TYPE_PAT,
338
                    MB_TYPE_L0L1,
339
                    MB_TYPE_L0L1 | MB_TYPE_PAT,
340
    MB_TYPE_QUANT | MB_TYPE_INTRA,
341
    MB_TYPE_QUANT | MB_TYPE_L1   | MB_TYPE_PAT,
342
    MB_TYPE_QUANT | MB_TYPE_L0   | MB_TYPE_PAT,
343
    MB_TYPE_QUANT | MB_TYPE_L0L1 | MB_TYPE_PAT,
344 de6d9b64 Fabrice Bellard
};
345
346 0c1a9eda Zdenek Kabelac
static const uint8_t mbMotionVectorTable[17][2] = {
347 de6d9b64 Fabrice Bellard
{ 0x1, 1 },
348
{ 0x1, 2 },
349
{ 0x1, 3 },
350
{ 0x1, 4 },
351
{ 0x3, 6 },
352
{ 0x5, 7 },
353
{ 0x4, 7 },
354
{ 0x3, 7 },
355
{ 0xb, 9 },
356
{ 0xa, 9 },
357
{ 0x9, 9 },
358
{ 0x11, 10 },
359
{ 0x10, 10 },
360
{ 0xf, 10 },
361
{ 0xe, 10 },
362
{ 0xd, 10 },
363
{ 0xc, 10 },
364
};
365
366 14bea432 Michael Niedermayer
#define MPEG1_FRAME_RATE_BASE 1001
367
368
static const int frame_rate_tab[16] = {
369
        0,        
370
    24000,
371
    24024,
372
    25025,
373
    30000,
374
    30030,
375
    50050,
376
    60000,
377
    60060,
378
  // Xing's 15fps: (9)
379
    15015,
380
  // libmpeg3's "Unofficial economy rates": (10-13)
381
     5005,
382
    10010,
383
    12012,
384
    15015,
385
  // random, just to avoid segfault !never encode these
386
    25025,
387
    25025,
388 de6d9b64 Fabrice Bellard
};
389
390 0c1a9eda Zdenek Kabelac
static const uint8_t non_linear_qscale[32] = {
391 de6d9b64 Fabrice Bellard
    0, 1, 2, 3, 4, 5, 6, 7,
392
    8,10,12,14,16,18,20,22,
393
    24,28,32,36,40,44,48,52,
394
    56,64,72,80,88,96,104,112,
395
};
396 8f8402e4 Michael Niedermayer
397 0c1a9eda Zdenek Kabelac
uint8_t ff_mpeg1_dc_scale_table[128]={ // MN: mpeg2 really can have such large qscales?
398 8f8402e4 Michael Niedermayer
//  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
399
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
400
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
401
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
402
    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
403
};
404
405 945f15b7 Michael Niedermayer
static const float mpeg1_aspect[16]={
406
    0.0000,
407
    1.0000,
408
    0.6735,
409
    0.7031,
410
    
411
    0.7615,
412
    0.8055,
413
    0.8437,
414
    0.8935,
415
416
    0.9157,
417
    0.9815,
418
    1.0255,
419
    1.0695,
420
421
    1.0950,
422
    1.1575,
423
    1.2015,
424
};
425
426
static const float mpeg2_aspect[16]={
427
    0,
428
    1.0,
429
    -3.0/4.0,
430
    -9.0/16.0,
431
    -1.0/2.21,
432
};