comparison mpeg4data.h @ 0:986e461dc072 libavcodec

Initial revision
author glantau
date Sun, 22 Jul 2001 14:18:56 +0000
parents
children f6806d3e2d37
comparison
equal deleted inserted replaced
-1:000000000000 0:986e461dc072
1
2 /* dc encoding for mpeg4 */
3 static const UINT8 DCtab_lum[13][2] =
4 {
5 {3,3}, {3,2}, {2,2}, {2,3}, {1,3}, {1,4}, {1,5}, {1,6}, {1,7},
6 {1,8}, {1,9}, {1,10}, {1,11},
7 };
8
9 static const UINT8 DCtab_chrom[13][2] =
10 {
11 {3,2}, {2,2}, {1,2}, {1,3}, {1,4}, {1,5}, {1,6}, {1,7}, {1,8},
12 {1,9}, {1,10}, {1,11}, {1,12},
13 };
14
15 const UINT16 intra_vlc[103][2] = {
16 { 0x2, 2 },
17 { 0x6, 3 },{ 0xf, 4 },{ 0xd, 5 },{ 0xc, 5 },
18 { 0x15, 6 },{ 0x13, 6 },{ 0x12, 6 },{ 0x17, 7 },
19 { 0x1f, 8 },{ 0x1e, 8 },{ 0x1d, 8 },{ 0x25, 9 },
20 { 0x24, 9 },{ 0x23, 9 },{ 0x21, 9 },{ 0x21, 10 },
21 { 0x20, 10 },{ 0xf, 10 },{ 0xe, 10 },{ 0x7, 11 },
22 { 0x6, 11 },{ 0x20, 11 },{ 0x21, 11 },{ 0x50, 12 },
23 { 0x51, 12 },{ 0x52, 12 },{ 0xe, 4 },{ 0x14, 6 },
24 { 0x16, 7 },{ 0x1c, 8 },{ 0x20, 9 },{ 0x1f, 9 },
25 { 0xd, 10 },{ 0x22, 11 },{ 0x53, 12 },{ 0x55, 12 },
26 { 0xb, 5 },{ 0x15, 7 },{ 0x1e, 9 },{ 0xc, 10 },
27 { 0x56, 12 },{ 0x11, 6 },{ 0x1b, 8 },{ 0x1d, 9 },
28 { 0xb, 10 },{ 0x10, 6 },{ 0x22, 9 },{ 0xa, 10 },
29 { 0xd, 6 },{ 0x1c, 9 },{ 0x8, 10 },{ 0x12, 7 },
30 { 0x1b, 9 },{ 0x54, 12 },{ 0x14, 7 },{ 0x1a, 9 },
31 { 0x57, 12 },{ 0x19, 8 },{ 0x9, 10 },{ 0x18, 8 },
32 { 0x23, 11 },{ 0x17, 8 },{ 0x19, 9 },{ 0x18, 9 },
33 { 0x7, 10 },{ 0x58, 12 },{ 0x7, 4 },{ 0xc, 6 },
34 { 0x16, 8 },{ 0x17, 9 },{ 0x6, 10 },{ 0x5, 11 },
35 { 0x4, 11 },{ 0x59, 12 },{ 0xf, 6 },{ 0x16, 9 },
36 { 0x5, 10 },{ 0xe, 6 },{ 0x4, 10 },{ 0x11, 7 },
37 { 0x24, 11 },{ 0x10, 7 },{ 0x25, 11 },{ 0x13, 7 },
38 { 0x5a, 12 },{ 0x15, 8 },{ 0x5b, 12 },{ 0x14, 8 },
39 { 0x13, 8 },{ 0x1a, 8 },{ 0x15, 9 },{ 0x14, 9 },
40 { 0x13, 9 },{ 0x12, 9 },{ 0x11, 9 },{ 0x26, 11 },
41 { 0x27, 11 },{ 0x5c, 12 },{ 0x5d, 12 },{ 0x5e, 12 },
42 { 0x5f, 12 },{ 0x3, 7 },
43 };
44
45 const INT8 intra_level[102] = {
46 1, 2, 3, 4, 5, 6, 7, 8,
47 9, 10, 11, 12, 13, 14, 15, 16,
48 17, 18, 19, 20, 21, 22, 23, 24,
49 25, 26, 27, 1, 2, 3, 4, 5,
50 6, 7, 8, 9, 10, 1, 2, 3,
51 4, 5, 1, 2, 3, 4, 1, 2,
52 3, 1, 2, 3, 1, 2, 3, 1,
53 2, 3, 1, 2, 1, 2, 1, 1,
54 1, 1, 1, 1, 2, 3, 4, 5,
55 6, 7, 8, 1, 2, 3, 1, 2,
56 1, 2, 1, 2, 1, 2, 1, 2,
57 1, 1, 1, 1, 1, 1, 1, 1,
58 1, 1, 1, 1, 1, 1,
59 };
60
61 const INT8 intra_run[102] = {
62 0, 0, 0, 0, 0, 0, 0, 0,
63 0, 0, 0, 0, 0, 0, 0, 0,
64 0, 0, 0, 0, 0, 0, 0, 0,
65 0, 0, 0, 1, 1, 1, 1, 1,
66 1, 1, 1, 1, 1, 2, 2, 2,
67 2, 2, 3, 3, 3, 3, 4, 4,
68 4, 5, 5, 5, 6, 6, 6, 7,
69 7, 7, 8, 8, 9, 9, 10, 11,
70 12, 13, 14, 0, 0, 0, 0, 0,
71 0, 0, 0, 1, 1, 1, 2, 2,
72 3, 3, 4, 4, 5, 5, 6, 6,
73 7, 8, 9, 10, 11, 12, 13, 14,
74 15, 16, 17, 18, 19, 20,
75 };
76
77 static RLTable rl_intra = {
78 102,
79 67,
80 intra_vlc,
81 intra_run,
82 intra_level,
83 };
84
85 /* alternate scan orders used when doing AC prediction */
86 UINT8 ff_alternate_horizontal_scan[64] = {
87 0, 1, 2, 3, 8, 9, 16, 17,
88 10, 11, 4, 5, 6, 7, 15, 14,
89 13, 12, 19, 18, 24, 25, 32, 33,
90 26, 27, 20, 21, 22, 23, 28, 29,
91 30, 31, 34, 35, 40, 41, 48, 49,
92 42, 43, 36, 37, 38, 39, 44, 45,
93 46, 47, 50, 51, 56, 57, 58, 59,
94 52, 53, 54, 55, 60, 61, 62, 63,
95 };
96
97 UINT8 ff_alternate_vertical_scan[64] = {
98 0, 8, 16, 24, 1, 9, 2, 10,
99 17, 25, 32, 40, 48, 56, 57, 49,
100 41, 33, 26, 18, 3, 11, 4, 12,
101 19, 27, 34, 42, 50, 58, 35, 43,
102 51, 59, 20, 28, 5, 13, 6, 14,
103 21, 29, 36, 44, 52, 60, 37, 45,
104 53, 61, 22, 30, 7, 15, 23, 31,
105 38, 46, 54, 62, 39, 47, 55, 63,
106 };