Statistics
| Branch: | Revision:

ffmpeg / libavcodec / mpeg4data.h @ 3bf43d42

History | View | Annotate | Download (3.97 KB)

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
// aspect_ratio_info
8
#define EXTENDET_PAR 15
9

    
10
//vol_sprite_usage / sprite_enable
11
#define STATIC_SPRITE 1
12
#define GMC_SPRITE 2
13

    
14
/* dc encoding for mpeg4 */
15
const UINT8 DCtab_lum[13][2] =
16
{
17
    {3,3}, {3,2}, {2,2}, {2,3}, {1,3}, {1,4}, {1,5}, {1,6}, {1,7},
18
    {1,8}, {1,9}, {1,10}, {1,11},
19
}; 
20

    
21
const UINT8 DCtab_chrom[13][2] =
22
{
23
    {3,2}, {2,2}, {1,2}, {1,3}, {1,4}, {1,5}, {1,6}, {1,7}, {1,8},
24
    {1,9}, {1,10}, {1,11}, {1,12},
25
}; 
26

    
27
const UINT16 intra_vlc[103][2] = {
28
{ 0x2, 2 },
29
{ 0x6, 3 },{ 0xf, 4 },{ 0xd, 5 },{ 0xc, 5 },
30
{ 0x15, 6 },{ 0x13, 6 },{ 0x12, 6 },{ 0x17, 7 },
31
{ 0x1f, 8 },{ 0x1e, 8 },{ 0x1d, 8 },{ 0x25, 9 },
32
{ 0x24, 9 },{ 0x23, 9 },{ 0x21, 9 },{ 0x21, 10 },
33
{ 0x20, 10 },{ 0xf, 10 },{ 0xe, 10 },{ 0x7, 11 },
34
{ 0x6, 11 },{ 0x20, 11 },{ 0x21, 11 },{ 0x50, 12 },
35
{ 0x51, 12 },{ 0x52, 12 },{ 0xe, 4 },{ 0x14, 6 },
36
{ 0x16, 7 },{ 0x1c, 8 },{ 0x20, 9 },{ 0x1f, 9 },
37
{ 0xd, 10 },{ 0x22, 11 },{ 0x53, 12 },{ 0x55, 12 },
38
{ 0xb, 5 },{ 0x15, 7 },{ 0x1e, 9 },{ 0xc, 10 },
39
{ 0x56, 12 },{ 0x11, 6 },{ 0x1b, 8 },{ 0x1d, 9 },
40
{ 0xb, 10 },{ 0x10, 6 },{ 0x22, 9 },{ 0xa, 10 },
41
{ 0xd, 6 },{ 0x1c, 9 },{ 0x8, 10 },{ 0x12, 7 },
42
{ 0x1b, 9 },{ 0x54, 12 },{ 0x14, 7 },{ 0x1a, 9 },
43
{ 0x57, 12 },{ 0x19, 8 },{ 0x9, 10 },{ 0x18, 8 },
44
{ 0x23, 11 },{ 0x17, 8 },{ 0x19, 9 },{ 0x18, 9 },
45
{ 0x7, 10 },{ 0x58, 12 },{ 0x7, 4 },{ 0xc, 6 },
46
{ 0x16, 8 },{ 0x17, 9 },{ 0x6, 10 },{ 0x5, 11 },
47
{ 0x4, 11 },{ 0x59, 12 },{ 0xf, 6 },{ 0x16, 9 },
48
{ 0x5, 10 },{ 0xe, 6 },{ 0x4, 10 },{ 0x11, 7 },
49
{ 0x24, 11 },{ 0x10, 7 },{ 0x25, 11 },{ 0x13, 7 },
50
{ 0x5a, 12 },{ 0x15, 8 },{ 0x5b, 12 },{ 0x14, 8 },
51
{ 0x13, 8 },{ 0x1a, 8 },{ 0x15, 9 },{ 0x14, 9 },
52
{ 0x13, 9 },{ 0x12, 9 },{ 0x11, 9 },{ 0x26, 11 },
53
{ 0x27, 11 },{ 0x5c, 12 },{ 0x5d, 12 },{ 0x5e, 12 },
54
{ 0x5f, 12 },{ 0x3, 7 },
55
};
56

    
57
const INT8 intra_level[102] = {
58
  1,  2,  3,  4,  5,  6,  7,  8,
59
  9, 10, 11, 12, 13, 14, 15, 16,
60
 17, 18, 19, 20, 21, 22, 23, 24,
61
 25, 26, 27,  1,  2,  3,  4,  5,
62
  6,  7,  8,  9, 10,  1,  2,  3,
63
  4,  5,  1,  2,  3,  4,  1,  2,
64
  3,  1,  2,  3,  1,  2,  3,  1,
65
  2,  3,  1,  2,  1,  2,  1,  1,
66
  1,  1,  1,  1,  2,  3,  4,  5,
67
  6,  7,  8,  1,  2,  3,  1,  2,
68
  1,  2,  1,  2,  1,  2,  1,  2,
69
  1,  1,  1,  1,  1,  1,  1,  1,
70
  1,  1,  1,  1,  1,  1,
71
};
72

    
73
const INT8 intra_run[102] = {
74
  0,  0,  0,  0,  0,  0,  0,  0,
75
  0,  0,  0,  0,  0,  0,  0,  0,
76
  0,  0,  0,  0,  0,  0,  0,  0,
77
  0,  0,  0,  1,  1,  1,  1,  1,
78
  1,  1,  1,  1,  1,  2,  2,  2,
79
  2,  2,  3,  3,  3,  3,  4,  4,
80
  4,  5,  5,  5,  6,  6,  6,  7,
81
  7,  7,  8,  8,  9,  9, 10, 11,
82
 12, 13, 14,  0,  0,  0,  0,  0,
83
  0,  0,  0,  1,  1,  1,  2,  2,
84
  3,  3,  4,  4,  5,  5,  6,  6,
85
  7,  8,  9, 10, 11, 12, 13, 14,
86
 15, 16, 17, 18, 19, 20,
87
};
88

    
89
static RLTable rl_intra = {
90
    102,
91
    67,
92
    intra_vlc,
93
    intra_run,
94
    intra_level,
95
};
96

    
97
static const UINT16 sprite_trajectory_tab[15][2] = {
98
 {0x00, 2}, {0x02, 3},  {0x03, 3},  {0x04, 3}, {0x05, 3}, {0x06, 3},
99
 {0x0E, 4}, {0x1E, 5},  {0x3E, 6},  {0x7E, 7}, {0xFE, 8}, 
100
 {0x1FE, 9},{0x3FE, 10},{0x7FE, 11},{0xFFE, 12},
101
};
102

    
103
static const UINT8 mb_type_b_tab[4][2] = {
104
 {1, 1}, {1, 2}, {1, 3}, {1, 4},
105
};
106

    
107
static const UINT16 pixel_aspect[16][2]={
108
 {0, 0},
109
 {1, 1},
110
 {12, 11},
111
 {10, 11},
112
 {16, 11},
113
 {40, 33},
114
 {0, 0},
115
 {0, 0},
116
 {0, 0},
117
 {0, 0},
118
 {0, 0},
119
 {0, 0},
120
 {0, 0},
121
 {0, 0},
122
 {0, 0},
123
 {0, 0},
124
};
125

    
126
/* these matrixes will be permuted for the idct */
127
INT16 ff_mpeg4_default_intra_matrix[64] = {
128
  8, 17, 18, 19, 21, 23, 25, 27,
129
 17, 18, 19, 21, 23, 25, 27, 28,
130
 20, 21, 22, 23, 24, 26, 28, 30,
131
 21, 22, 23, 24, 26, 28, 30, 32,
132
 22, 23, 24, 26, 28, 30, 32, 35,
133
 23, 24, 26, 28, 30, 32, 35, 38,
134
 25, 26, 28, 30, 32, 35, 38, 41,
135
 27, 28, 30, 32, 35, 38, 41, 45, 
136
};
137

    
138
INT16 ff_mpeg4_default_non_intra_matrix[64] = {
139
 16, 17, 18, 19, 20, 21, 22, 23,
140
 17, 18, 19, 20, 21, 22, 23, 24,
141
 18, 19, 20, 21, 22, 23, 24, 25,
142
 19, 20, 21, 22, 23, 24, 26, 27,
143
 20, 21, 22, 23, 25, 26, 27, 28,
144
 21, 22, 23, 24, 26, 27, 28, 30,
145
 22, 23, 24, 26, 27, 28, 30, 31,
146
 23, 24, 25, 27, 28, 30, 31, 33,
147
};
148