yading@10
|
1 /*
|
yading@10
|
2 * VC-1 and WMV3 decoder
|
yading@10
|
3 * copyright (c) 2006 Konstantin Shishkov
|
yading@10
|
4 *
|
yading@10
|
5 * This file is part of FFmpeg.
|
yading@10
|
6 *
|
yading@10
|
7 * FFmpeg is free software; you can redistribute it and/or
|
yading@10
|
8 * modify it under the terms of the GNU Lesser General Public
|
yading@10
|
9 * License as published by the Free Software Foundation; either
|
yading@10
|
10 * version 2.1 of the License, or (at your option) any later version.
|
yading@10
|
11 *
|
yading@10
|
12 * FFmpeg is distributed in the hope that it will be useful,
|
yading@10
|
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yading@10
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yading@10
|
15 * Lesser General Public License for more details.
|
yading@10
|
16 *
|
yading@10
|
17 * You should have received a copy of the GNU Lesser General Public
|
yading@10
|
18 * License along with FFmpeg; if not, write to the Free Software
|
yading@10
|
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
yading@10
|
20 */
|
yading@10
|
21
|
yading@10
|
22 #ifndef AVCODEC_VC1ACDATA_H
|
yading@10
|
23 #define AVCODEC_VC1ACDATA_H
|
yading@10
|
24
|
yading@10
|
25 #include <stdint.h>
|
yading@10
|
26
|
yading@10
|
27 #include "vc1data.h"
|
yading@10
|
28
|
yading@10
|
29 /* which indexes point to last=1 entries in tables */
|
yading@10
|
30 static const int vc1_last_decode_table[AC_MODES] = {
|
yading@10
|
31 119, 99, 85, 81, 67, 58, 126, 109
|
yading@10
|
32 };
|
yading@10
|
33
|
yading@10
|
34 static const uint8_t vc1_index_decode_table[AC_MODES][185][2] = {
|
yading@10
|
35 {
|
yading@10
|
36 { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5}, { 0, 6}, { 0, 7}, { 0, 8},
|
yading@10
|
37 { 0, 9}, { 0, 10}, { 0, 11}, { 0, 12}, { 0, 13}, { 0, 14}, { 0, 15}, { 0, 16},
|
yading@10
|
38 { 0, 17}, { 0, 18}, { 0, 19}, { 1, 1}, { 1, 2}, { 1, 3}, { 1, 4}, { 1, 5},
|
yading@10
|
39 { 1, 6}, { 1, 7}, { 1, 8}, { 1, 9}, { 1, 10}, { 1, 11}, { 1, 12}, { 1, 13},
|
yading@10
|
40 { 1, 14}, { 1, 15}, { 2, 1}, { 2, 2}, { 2, 3}, { 2, 4}, { 2, 5}, { 2, 6},
|
yading@10
|
41 { 2, 7}, { 2, 8}, { 2, 9}, { 2, 10}, { 2, 11}, { 2, 12}, { 3, 1}, { 3, 2},
|
yading@10
|
42 { 3, 3}, { 3, 4}, { 3, 5}, { 3, 6}, { 3, 7}, { 3, 8}, { 3, 9}, { 3, 10},
|
yading@10
|
43 { 3, 11}, { 4, 1}, { 4, 2}, { 4, 3}, { 4, 4}, { 4, 5}, { 4, 6}, { 5, 1},
|
yading@10
|
44 { 5, 2}, { 5, 3}, { 5, 4}, { 5, 5}, { 6, 1}, { 6, 2}, { 6, 3}, { 6, 4},
|
yading@10
|
45 { 7, 1}, { 7, 2}, { 7, 3}, { 7, 4}, { 8, 1}, { 8, 2}, { 8, 3}, { 8, 4},
|
yading@10
|
46 { 9, 1}, { 9, 2}, { 9, 3}, { 9, 4}, { 10, 1}, { 10, 2}, { 10, 3}, { 11, 1},
|
yading@10
|
47 { 11, 2}, { 11, 3}, { 12, 1}, { 12, 2}, { 12, 3}, { 13, 1}, { 13, 2}, { 13, 3},
|
yading@10
|
48 { 14, 1}, { 14, 2}, { 14, 3}, { 15, 1}, { 15, 2}, { 15, 3}, { 16, 1}, { 16, 2},
|
yading@10
|
49 { 17, 1}, { 17, 2}, { 18, 1}, { 19, 1}, { 20, 1}, { 21, 1}, { 22, 1}, { 23, 1},
|
yading@10
|
50 { 24, 1}, { 25, 1}, { 26, 1}, { 27, 1}, { 28, 1}, { 29, 1}, { 30, 1}, { 0, 1},
|
yading@10
|
51 { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5}, { 0, 6}, { 1, 1}, { 1, 2}, { 1, 3},
|
yading@10
|
52 { 1, 4}, { 1, 5}, { 2, 1}, { 2, 2}, { 2, 3}, { 2, 4}, { 3, 1}, { 3, 2},
|
yading@10
|
53 { 3, 3}, { 3, 4}, { 4, 1}, { 4, 2}, { 4, 3}, { 5, 1}, { 5, 2}, { 6, 1},
|
yading@10
|
54 { 6, 2}, { 7, 1}, { 7, 2}, { 8, 1}, { 8, 2}, { 9, 1}, { 9, 2}, { 10, 1},
|
yading@10
|
55 { 10, 2}, { 11, 1}, { 11, 2}, { 12, 1}, { 12, 2}, { 13, 1}, { 13, 2}, { 14, 1},
|
yading@10
|
56 { 14, 2}, { 15, 1}, { 15, 2}, { 16, 1}, { 17, 1}, { 18, 1}, { 19, 1}, { 20, 1},
|
yading@10
|
57 { 21, 1}, { 22, 1}, { 23, 1}, { 24, 1}, { 25, 1}, { 26, 1}, { 27, 1}, { 28, 1},
|
yading@10
|
58 { 29, 1}, { 30, 1}, { 31, 1}, { 32, 1}, { 33, 1}, { 34, 1}, { 35, 1}, { 36, 1},
|
yading@10
|
59 { 37, 1}
|
yading@10
|
60 },
|
yading@10
|
61 {
|
yading@10
|
62 { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5}, { 0, 6}, { 0, 7}, { 0, 8},
|
yading@10
|
63 { 0, 9}, { 0, 10}, { 0, 11}, { 0, 12}, { 0, 13}, { 0, 14}, { 0, 15}, { 0, 16},
|
yading@10
|
64 { 0, 17}, { 0, 18}, { 0, 19}, { 0, 20}, { 0, 21}, { 0, 22}, { 0, 23}, { 1, 1},
|
yading@10
|
65 { 1, 2}, { 1, 3}, { 1, 4}, { 1, 5}, { 1, 6}, { 1, 7}, { 1, 8}, { 1, 9},
|
yading@10
|
66 { 1, 10}, { 1, 11}, { 2, 1}, { 2, 2}, { 2, 3}, { 2, 4}, { 2, 5}, { 2, 6},
|
yading@10
|
67 { 2, 7}, { 2, 8}, { 3, 1}, { 3, 2}, { 3, 3}, { 3, 4}, { 3, 5}, { 3, 6},
|
yading@10
|
68 { 3, 7}, { 4, 1}, { 4, 2}, { 4, 3}, { 4, 4}, { 4, 5}, { 5, 1}, { 5, 2},
|
yading@10
|
69 { 5, 3}, { 5, 4}, { 5, 5}, { 6, 1}, { 6, 2}, { 6, 3}, { 6, 4}, { 7, 1},
|
yading@10
|
70 { 7, 2}, { 7, 3}, { 7, 4}, { 8, 1}, { 8, 2}, { 8, 3}, { 9, 1}, { 9, 2},
|
yading@10
|
71 { 9, 3}, { 10, 1}, { 10, 2}, { 10, 3}, { 11, 1}, { 11, 2}, { 11, 3}, { 12, 1},
|
yading@10
|
72 { 12, 2}, { 13, 1}, { 13, 2}, { 14, 1}, { 14, 2}, { 15, 1}, { 15, 2}, { 16, 1},
|
yading@10
|
73 { 16, 2}, { 17, 1}, { 18, 1}, { 19, 1}, { 20, 1}, { 21, 1}, { 22, 1}, { 23, 1},
|
yading@10
|
74 { 24, 1}, { 25, 1}, { 26, 1}, { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5},
|
yading@10
|
75 { 0, 6}, { 0, 7}, { 0, 8}, { 0, 9}, { 1, 1}, { 1, 2}, { 1, 3}, { 1, 4},
|
yading@10
|
76 { 1, 5}, { 2, 1}, { 2, 2}, { 2, 3}, { 2, 4}, { 3, 1}, { 3, 2}, { 3, 3},
|
yading@10
|
77 { 3, 4}, { 4, 1}, { 4, 2}, { 4, 3}, { 5, 1}, { 5, 2}, { 5, 3}, { 6, 1},
|
yading@10
|
78 { 6, 2}, { 6, 3}, { 7, 1}, { 7, 2}, { 8, 1}, { 8, 2}, { 9, 1}, { 9, 2},
|
yading@10
|
79 { 10, 1}, { 10, 2}, { 11, 1}, { 11, 2}, { 12, 1}, { 12, 2}, { 13, 1}, { 13, 2},
|
yading@10
|
80 { 14, 1}, { 14, 2}, { 15, 1}, { 16, 1}, { 17, 1}, { 18, 1}, { 19, 1}, { 20, 1},
|
yading@10
|
81 { 21, 1}, { 22, 1}, { 23, 1}, { 24, 1}, { 25, 1}, { 26, 1}, { 27, 1}, { 28, 1},
|
yading@10
|
82 { 29, 1}, { 30, 1}, { 31, 1}, { 32, 1}, { 33, 1}, { 34, 1}, { 35, 1}, { 36, 1}
|
yading@10
|
83 },
|
yading@10
|
84 {
|
yading@10
|
85 { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5}, { 0, 6}, { 0, 7}, { 0, 8},
|
yading@10
|
86 { 0, 9}, { 0, 10}, { 0, 11}, { 0, 12}, { 0, 13}, { 0, 14}, { 0, 15}, { 0, 16},
|
yading@10
|
87 { 1, 1}, { 1, 2}, { 1, 3}, { 1, 4}, { 1, 5}, { 1, 6}, { 1, 7}, { 1, 8},
|
yading@10
|
88 { 1, 9}, { 1, 10}, { 1, 11}, { 2, 1}, { 2, 2}, { 2, 3}, { 2, 4}, { 2, 5},
|
yading@10
|
89 { 2, 6}, { 2, 7}, { 2, 8}, { 3, 1}, { 3, 2}, { 3, 3}, { 3, 4}, { 3, 5},
|
yading@10
|
90 { 3, 6}, { 3, 7}, { 4, 1}, { 4, 2}, { 4, 3}, { 4, 4}, { 4, 5}, { 5, 1},
|
yading@10
|
91 { 5, 2}, { 5, 3}, { 5, 4}, { 6, 1}, { 6, 2}, { 6, 3}, { 6, 4}, { 7, 1},
|
yading@10
|
92 { 7, 2}, { 7, 3}, { 8, 1}, { 8, 2}, { 8, 3}, { 9, 1}, { 9, 2}, { 9, 3},
|
yading@10
|
93 { 10, 1}, { 10, 2}, { 10, 3}, { 11, 1}, { 11, 2}, { 11, 3}, { 12, 1}, { 12, 2},
|
yading@10
|
94 { 12, 3}, { 13, 1}, { 13, 2}, { 13, 3}, { 14, 1}, { 14, 2}, { 15, 1}, { 15, 2},
|
yading@10
|
95 { 16, 1}, { 17, 1}, { 18, 1}, { 19, 1}, { 20, 1}, { 0, 1}, { 0, 2}, { 0, 3},
|
yading@10
|
96 { 0, 4}, { 1, 1}, { 1, 2}, { 1, 3}, { 1, 4}, { 2, 1}, { 2, 2}, { 2, 3},
|
yading@10
|
97 { 3, 1}, { 3, 2}, { 3, 3}, { 4, 1}, { 4, 2}, { 5, 1}, { 5, 2}, { 6, 1},
|
yading@10
|
98 { 6, 2}, { 7, 1}, { 7, 2}, { 8, 1}, { 8, 2}, { 9, 1}, { 9, 2}, { 10, 1},
|
yading@10
|
99 { 10, 2}, { 11, 1}, { 11, 2}, { 12, 1}, { 12, 2}, { 13, 1}, { 13, 2}, { 14, 1},
|
yading@10
|
100 { 15, 1}, { 16, 1}, { 17, 1}, { 18, 1}, { 19, 1}, { 20, 1}, { 21, 1}, { 22, 1},
|
yading@10
|
101 { 23, 1}, { 24, 1}, { 25, 1}, { 26, 1}
|
yading@10
|
102 },
|
yading@10
|
103 {
|
yading@10
|
104 { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5}, { 0, 6}, { 0, 7}, { 0, 8},
|
yading@10
|
105 { 0, 9}, { 0, 10}, { 0, 11}, { 0, 12}, { 0, 13}, { 0, 14}, { 1, 1}, { 1, 2},
|
yading@10
|
106 { 1, 3}, { 1, 4}, { 1, 5}, { 1, 6}, { 1, 7}, { 1, 8}, { 1, 9}, { 2, 1},
|
yading@10
|
107 { 2, 2}, { 2, 3}, { 2, 4}, { 2, 5}, { 3, 1}, { 3, 2}, { 3, 3}, { 3, 4},
|
yading@10
|
108 { 4, 1}, { 4, 2}, { 4, 3}, { 4, 4}, { 5, 1}, { 5, 2}, { 5, 3}, { 5, 4},
|
yading@10
|
109 { 6, 1}, { 6, 2}, { 6, 3}, { 7, 1}, { 7, 2}, { 7, 3}, { 8, 1}, { 8, 2},
|
yading@10
|
110 { 8, 3}, { 9, 1}, { 9, 2}, { 9, 3}, { 10, 1}, { 10, 2}, { 10, 3}, { 11, 1},
|
yading@10
|
111 { 11, 2}, { 11, 3}, { 12, 1}, { 12, 2}, { 12, 3}, { 13, 1}, { 13, 2}, { 14, 1},
|
yading@10
|
112 { 14, 2}, { 15, 1}, { 15, 2}, { 16, 1}, { 17, 1}, { 18, 1}, { 19, 1}, { 20, 1},
|
yading@10
|
113 { 21, 1}, { 22, 1}, { 23, 1}, { 24, 1}, { 25, 1}, { 26, 1}, { 27, 1}, { 28, 1},
|
yading@10
|
114 { 29, 1}, { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5}, { 1, 1}, { 1, 2},
|
yading@10
|
115 { 1, 3}, { 1, 4}, { 2, 1}, { 2, 2}, { 2, 3}, { 3, 1}, { 3, 2}, { 3, 3},
|
yading@10
|
116 { 4, 1}, { 4, 2}, { 5, 1}, { 5, 2}, { 6, 1}, { 6, 2}, { 7, 1}, { 7, 2},
|
yading@10
|
117 { 8, 1}, { 8, 2}, { 9, 1}, { 9, 2}, { 10, 1}, { 10, 2}, { 11, 1}, { 11, 2},
|
yading@10
|
118 { 12, 1}, { 12, 2}, { 13, 1}, { 13, 2}, { 14, 1}, { 14, 2}, { 15, 1}, { 15, 2},
|
yading@10
|
119 { 16, 1}, { 17, 1}, { 18, 1}, { 19, 1}, { 20, 1}, { 21, 1}, { 22, 1}, { 23, 1},
|
yading@10
|
120 { 24, 1}, { 25, 1}, { 26, 1}, { 27, 1}, { 28, 1}, { 29, 1}, { 30, 1}, { 31, 1},
|
yading@10
|
121 { 32, 1}, { 33, 1}, { 34, 1}, { 35, 1}, { 36, 1}, { 37, 1}, { 38, 1}, { 39, 1},
|
yading@10
|
122 { 40, 1}, { 41, 1}, { 42, 1}, { 43, 1}
|
yading@10
|
123 },
|
yading@10
|
124 {
|
yading@10
|
125 { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5}, { 0, 6}, { 0, 7}, { 0, 8},
|
yading@10
|
126 { 0, 9}, { 0, 10}, { 0, 11}, { 0, 12}, { 0, 13}, { 0, 14}, { 0, 15}, { 0, 16},
|
yading@10
|
127 { 0, 17}, { 0, 18}, { 0, 19}, { 0, 20}, { 0, 21}, { 0, 22}, { 0, 23}, { 0, 24},
|
yading@10
|
128 { 0, 25}, { 0, 26}, { 0, 27}, { 1, 1}, { 1, 2}, { 1, 3}, { 1, 4}, { 1, 5},
|
yading@10
|
129 { 1, 6}, { 1, 7}, { 1, 8}, { 1, 9}, { 1, 10}, { 2, 1}, { 2, 2}, { 2, 3},
|
yading@10
|
130 { 2, 4}, { 2, 5}, { 3, 1}, { 3, 2}, { 3, 3}, { 3, 4}, { 4, 1}, { 4, 2},
|
yading@10
|
131 { 4, 3}, { 5, 1}, { 5, 2}, { 5, 3}, { 6, 1}, { 6, 2}, { 6, 3}, { 7, 1},
|
yading@10
|
132 { 7, 2}, { 7, 3}, { 8, 1}, { 8, 2}, { 9, 1}, { 9, 2}, { 10, 1}, { 11, 1},
|
yading@10
|
133 { 12, 1}, { 13, 1}, { 14, 1}, { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5},
|
yading@10
|
134 { 0, 6}, { 0, 7}, { 0, 8}, { 1, 1}, { 1, 2}, { 1, 3}, { 2, 1}, { 2, 2},
|
yading@10
|
135 { 3, 1}, { 3, 2}, { 4, 1}, { 4, 2}, { 5, 1}, { 5, 2}, { 6, 1}, { 6, 2},
|
yading@10
|
136 { 7, 1}, { 8, 1}, { 9, 1}, { 10, 1}, { 11, 1}, { 12, 1}, { 13, 1}, { 14, 1},
|
yading@10
|
137 { 15, 1}, { 16, 1}, { 17, 1}, { 18, 1}, { 19, 1}, { 20, 1}
|
yading@10
|
138 },
|
yading@10
|
139 {
|
yading@10
|
140 { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5}, { 0, 6}, { 0, 7}, { 0, 8},
|
yading@10
|
141 { 0, 9}, { 0, 10}, { 0, 11}, { 0, 12}, { 1, 1}, { 1, 2}, { 1, 3}, { 1, 4},
|
yading@10
|
142 { 1, 5}, { 1, 6}, { 2, 1}, { 2, 2}, { 2, 3}, { 2, 4}, { 3, 1}, { 3, 2},
|
yading@10
|
143 { 3, 3}, { 4, 1}, { 4, 2}, { 4, 3}, { 5, 1}, { 5, 2}, { 5, 3}, { 6, 1},
|
yading@10
|
144 { 6, 2}, { 6, 3}, { 7, 1}, { 7, 2}, { 8, 1}, { 8, 2}, { 9, 1}, { 9, 2},
|
yading@10
|
145 { 10, 1}, { 10, 2}, { 11, 1}, { 12, 1}, { 13, 1}, { 14, 1}, { 15, 1}, { 16, 1},
|
yading@10
|
146 { 17, 1}, { 18, 1}, { 19, 1}, { 20, 1}, { 21, 1}, { 22, 1}, { 23, 1}, { 24, 1},
|
yading@10
|
147 { 25, 1}, { 26, 1}, { 0, 1}, { 0, 2}, { 0, 3}, { 1, 1}, { 1, 2}, { 2, 1},
|
yading@10
|
148 { 3, 1}, { 4, 1}, { 5, 1}, { 6, 1}, { 7, 1}, { 8, 1}, { 9, 1}, { 10, 1},
|
yading@10
|
149 { 11, 1}, { 12, 1}, { 13, 1}, { 14, 1}, { 15, 1}, { 16, 1}, { 17, 1}, { 18, 1},
|
yading@10
|
150 { 19, 1}, { 20, 1}, { 21, 1}, { 22, 1}, { 23, 1}, { 24, 1}, { 25, 1}, { 26, 1},
|
yading@10
|
151 { 27, 1}, { 28, 1}, { 29, 1}, { 30, 1}, { 31, 1}, { 32, 1}, { 33, 1}, { 34, 1},
|
yading@10
|
152 { 35, 1}, { 36, 1}, { 37, 1}, { 38, 1}, { 39, 1}, { 40, 1}
|
yading@10
|
153 },
|
yading@10
|
154 {
|
yading@10
|
155 { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5}, { 0, 6}, { 0, 7}, { 0, 8},
|
yading@10
|
156 { 0, 9}, { 0, 10}, { 0, 11}, { 0, 12}, { 0, 13}, { 0, 14}, { 0, 15}, { 0, 16},
|
yading@10
|
157 { 0, 17}, { 0, 18}, { 0, 19}, { 0, 20}, { 0, 21}, { 0, 22}, { 0, 23}, { 0, 24},
|
yading@10
|
158 { 0, 25}, { 0, 26}, { 0, 27}, { 0, 28}, { 0, 29}, { 0, 30}, { 0, 31}, { 0, 32},
|
yading@10
|
159 { 0, 33}, { 0, 34}, { 0, 35}, { 0, 36}, { 0, 37}, { 0, 38}, { 0, 39}, { 0, 40},
|
yading@10
|
160 { 0, 41}, { 0, 42}, { 0, 43}, { 0, 44}, { 0, 45}, { 0, 46}, { 0, 47}, { 0, 48},
|
yading@10
|
161 { 0, 49}, { 0, 50}, { 0, 51}, { 0, 52}, { 0, 53}, { 0, 54}, { 0, 55}, { 0, 56},
|
yading@10
|
162 { 1, 1}, { 1, 2}, { 1, 3}, { 1, 4}, { 1, 5}, { 1, 6}, { 1, 7}, { 1, 8},
|
yading@10
|
163 { 1, 9}, { 1, 10}, { 1, 11}, { 1, 12}, { 1, 13}, { 1, 14}, { 1, 15}, { 1, 16},
|
yading@10
|
164 { 1, 17}, { 1, 18}, { 1, 19}, { 1, 20}, { 2, 1}, { 2, 2}, { 2, 3}, { 2, 4},
|
yading@10
|
165 { 2, 5}, { 2, 6}, { 2, 7}, { 2, 8}, { 2, 9}, { 2, 10}, { 3, 1}, { 3, 2},
|
yading@10
|
166 { 3, 3}, { 3, 4}, { 3, 5}, { 3, 6}, { 3, 7}, { 4, 1}, { 4, 2}, { 4, 3},
|
yading@10
|
167 { 4, 4}, { 4, 5}, { 4, 6}, { 5, 1}, { 5, 2}, { 5, 3}, { 5, 4}, { 5, 5},
|
yading@10
|
168 { 6, 1}, { 6, 2}, { 6, 3}, { 6, 4}, { 7, 1}, { 7, 2}, { 7, 3}, { 8, 1},
|
yading@10
|
169 { 8, 2}, { 8, 3}, { 9, 1}, { 9, 2}, { 9, 3}, { 10, 1}, { 10, 2}, { 11, 1},
|
yading@10
|
170 { 11, 2}, { 12, 1}, { 12, 2}, { 13, 1}, { 13, 2}, { 14, 1}, { 0, 1}, { 0, 2},
|
yading@10
|
171 { 0, 3}, { 0, 4}, { 1, 1}, { 1, 2}, { 1, 3}, { 2, 1}, { 2, 2}, { 2, 3},
|
yading@10
|
172 { 3, 1}, { 3, 2}, { 4, 1}, { 4, 2}, { 5, 1}, { 5, 2}, { 6, 1}, { 6, 2},
|
yading@10
|
173 { 7, 1}, { 7, 2}, { 8, 1}, { 8, 2}, { 9, 1}, { 9, 2}, { 10, 1}, { 10, 2},
|
yading@10
|
174 { 11, 1}, { 11, 2}, { 12, 1}, { 12, 2}, { 13, 1}, { 13, 2}, { 14, 1}, { 14, 2},
|
yading@10
|
175 { 15, 1}, { 16, 1}
|
yading@10
|
176 },
|
yading@10
|
177 {
|
yading@10
|
178 { 0, 1}, { 0, 2}, { 0, 3}, { 0, 4}, { 0, 5}, { 0, 6}, { 0, 7}, { 0, 8},
|
yading@10
|
179 { 0, 9}, { 0, 10}, { 0, 11}, { 0, 12}, { 0, 13}, { 0, 14}, { 0, 15}, { 0, 16},
|
yading@10
|
180 { 0, 17}, { 0, 18}, { 0, 19}, { 0, 20}, { 0, 21}, { 0, 22}, { 0, 23}, { 0, 24},
|
yading@10
|
181 { 0, 25}, { 0, 26}, { 0, 27}, { 0, 28}, { 0, 29}, { 0, 30}, { 0, 31}, { 0, 32},
|
yading@10
|
182 { 1, 1}, { 1, 2}, { 1, 3}, { 1, 4}, { 1, 5}, { 1, 6}, { 1, 7}, { 1, 8},
|
yading@10
|
183 { 1, 9}, { 1, 10}, { 1, 11}, { 1, 12}, { 1, 13}, { 2, 1}, { 2, 2}, { 2, 3},
|
yading@10
|
184 { 2, 4}, { 2, 5}, { 2, 6}, { 2, 7}, { 2, 8}, { 3, 1}, { 3, 2}, { 3, 3},
|
yading@10
|
185 { 3, 4}, { 3, 5}, { 3, 6}, { 4, 1}, { 4, 2}, { 4, 3}, { 4, 4}, { 4, 5},
|
yading@10
|
186 { 5, 1}, { 5, 2}, { 5, 3}, { 5, 4}, { 6, 1}, { 6, 2}, { 6, 3}, { 6, 4},
|
yading@10
|
187 { 7, 1}, { 7, 2}, { 7, 3}, { 8, 1}, { 8, 2}, { 8, 3}, { 9, 1}, { 9, 2},
|
yading@10
|
188 { 9, 3}, { 10, 1}, { 10, 2}, { 11, 1}, { 11, 2}, { 12, 1}, { 12, 2}, { 13, 1},
|
yading@10
|
189 { 13, 2}, { 14, 1}, { 14, 2}, { 15, 1}, { 15, 2}, { 16, 1}, { 16, 2}, { 17, 1},
|
yading@10
|
190 { 17, 2}, { 18, 1}, { 18, 2}, { 19, 1}, { 19, 2}, { 20, 1}, { 20, 2}, { 21, 1},
|
yading@10
|
191 { 21, 2}, { 22, 1}, { 22, 2}, { 23, 1}, { 24, 1}, { 0, 1}, { 0, 2}, { 0, 3},
|
yading@10
|
192 { 0, 4}, { 1, 1}, { 1, 2}, { 1, 3}, { 2, 1}, { 2, 2}, { 2, 3}, { 3, 1},
|
yading@10
|
193 { 3, 2}, { 3, 3}, { 4, 1}, { 4, 2}, { 5, 1}, { 5, 2}, { 6, 1}, { 6, 2},
|
yading@10
|
194 { 7, 1}, { 7, 2}, { 8, 1}, { 8, 2}, { 9, 1}, { 9, 2}, { 10, 1}, { 10, 2},
|
yading@10
|
195 { 11, 1}, { 11, 2}, { 12, 1}, { 12, 2}, { 13, 1}, { 13, 2}, { 14, 1}, { 14, 2},
|
yading@10
|
196 { 15, 1}, { 15, 2}, { 16, 1}, { 16, 2}, { 17, 1}, { 17, 2}, { 18, 1}, { 18, 2},
|
yading@10
|
197 { 19, 1}, { 19, 2}, { 20, 1}, { 20, 2}, { 21, 1}, { 21, 2}, { 22, 1}, { 22, 2},
|
yading@10
|
198 { 23, 1}, { 23, 2}, { 24, 1}, { 24, 2}, { 25, 1}, { 25, 2}, { 26, 1}, { 26, 2},
|
yading@10
|
199 { 27, 1}, { 27, 2}, { 28, 1}, { 28, 2}, { 29, 1}, { 30, 1}
|
yading@10
|
200 }
|
yading@10
|
201 };
|
yading@10
|
202
|
yading@10
|
203 static const uint8_t vc1_delta_level_table[AC_MODES][31] = {
|
yading@10
|
204 {
|
yading@10
|
205 19, 15, 12, 11, 6, 5, 4, 4, 4, 4,
|
yading@10
|
206 3, 3, 3, 3, 3, 3, 2, 2, 1, 1,
|
yading@10
|
207 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
208 1
|
yading@10
|
209 },
|
yading@10
|
210 {
|
yading@10
|
211 23, 11, 8, 7, 5, 5, 4, 4, 3, 3,
|
yading@10
|
212 3, 3, 2, 2, 2, 2, 2, 1, 1, 1,
|
yading@10
|
213 1, 1, 1, 1, 1, 1, 1
|
yading@10
|
214 },
|
yading@10
|
215 {
|
yading@10
|
216 16, 11, 8, 7, 5, 4, 4, 3, 3, 3,
|
yading@10
|
217 3, 3, 3, 3, 2, 2, 1, 1, 1, 1,
|
yading@10
|
218 1
|
yading@10
|
219 },
|
yading@10
|
220 {
|
yading@10
|
221 14, 9, 5, 4, 4, 4, 3, 3, 3, 3,
|
yading@10
|
222 3, 3, 3, 2, 2, 2, 1, 1, 1, 1,
|
yading@10
|
223 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
224 1
|
yading@10
|
225 },
|
yading@10
|
226 {
|
yading@10
|
227 27, 10, 5, 4, 3, 3, 3, 3, 2, 2,
|
yading@10
|
228 1, 1, 1, 1, 1
|
yading@10
|
229 },
|
yading@10
|
230 {
|
yading@10
|
231 12, 6, 4, 3, 3, 3, 3, 2, 2, 2,
|
yading@10
|
232 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
233 1, 1, 1, 1, 1, 1, 1
|
yading@10
|
234 },
|
yading@10
|
235 {
|
yading@10
|
236 56, 20, 10, 7, 6, 5, 4, 3, 3, 3,
|
yading@10
|
237 2, 2, 2, 2, 1
|
yading@10
|
238 },
|
yading@10
|
239 {
|
yading@10
|
240 32, 13, 8, 6, 5, 4, 4, 3, 3, 3,
|
yading@10
|
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
yading@10
|
242 2, 2, 2, 1, 1
|
yading@10
|
243 }
|
yading@10
|
244 };
|
yading@10
|
245
|
yading@10
|
246 static const uint8_t vc1_last_delta_level_table[AC_MODES][44] = {
|
yading@10
|
247 {
|
yading@10
|
248 6, 5, 4, 4, 3, 2, 2, 2, 2, 2,
|
yading@10
|
249 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
|
yading@10
|
250 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
251 1, 1, 1, 1, 1, 1, 1, 1
|
yading@10
|
252 },
|
yading@10
|
253 {
|
yading@10
|
254 9, 5, 4, 4, 3, 3, 3, 2, 2, 2,
|
yading@10
|
255 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
|
yading@10
|
256 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
257 1, 1, 1, 1, 1, 1, 1
|
yading@10
|
258 },
|
yading@10
|
259 {
|
yading@10
|
260 4, 4, 3, 3, 2, 2, 2, 2, 2, 2,
|
yading@10
|
261 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
|
yading@10
|
262 1, 1, 1, 1, 1, 1, 1
|
yading@10
|
263 },
|
yading@10
|
264 {
|
yading@10
|
265 5, 4, 3, 3, 2, 2, 2, 2, 2, 2,
|
yading@10
|
266 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
|
yading@10
|
267 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
268 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
269 1, 1, 1, 1
|
yading@10
|
270 },
|
yading@10
|
271 {
|
yading@10
|
272 8, 3, 2, 2, 2, 2, 2, 1, 1, 1,
|
yading@10
|
273 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
274 1
|
yading@10
|
275 },
|
yading@10
|
276 {
|
yading@10
|
277 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
278 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
279 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
280 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
281 1
|
yading@10
|
282 },
|
yading@10
|
283 {
|
yading@10
|
284 4, 3, 3, 2, 2, 2, 2, 2, 2, 2,
|
yading@10
|
285 2, 2, 2, 2, 2, 1, 1
|
yading@10
|
286 },
|
yading@10
|
287 {
|
yading@10
|
288 4, 3, 3, 3, 2, 2, 2, 2, 2, 2,
|
yading@10
|
289 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
yading@10
|
290 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
|
yading@10
|
291 1
|
yading@10
|
292 }
|
yading@10
|
293 };
|
yading@10
|
294
|
yading@10
|
295 static const uint8_t vc1_delta_run_table[AC_MODES][57] = {
|
yading@10
|
296 {
|
yading@10
|
297 -1, 30, 17, 15, 9, 5, 4, 3, 3, 3,
|
yading@10
|
298 3, 3, 2, 1, 1, 1, 0, 0, 0,
|
yading@10
|
299 0
|
yading@10
|
300 },
|
yading@10
|
301 {
|
yading@10
|
302 -1, 26, 16, 11, 7, 5, 3, 3, 2, 1,
|
yading@10
|
303 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
yading@10
|
304 0, 0, 0, 0
|
yading@10
|
305 },
|
yading@10
|
306 {
|
yading@10
|
307 -1, 20, 15, 13, 6, 4, 3, 3, 2, 1,
|
yading@10
|
308 1, 1, 0, 0, 0, 0, 0
|
yading@10
|
309 },
|
yading@10
|
310 {
|
yading@10
|
311 -1, 29, 15, 12, 5, 2, 1, 1, 1, 1,
|
yading@10
|
312 0, 0, 0, 0, 0
|
yading@10
|
313 },
|
yading@10
|
314 {
|
yading@10
|
315 -1, 14, 9, 7, 3, 2, 1, 1, 1, 1,
|
yading@10
|
316 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
yading@10
|
317 0, 0, 0, 0, 0, 0, 0, 0
|
yading@10
|
318 },
|
yading@10
|
319 {
|
yading@10
|
320 -1, 26, 10, 6, 2, 1, 1, 0, 0, 0,
|
yading@10
|
321 0, 0, 0
|
yading@10
|
322 },
|
yading@10
|
323 {
|
yading@10
|
324 -1, 14, 13, 9, 6, 5, 4, 3, 2, 2,
|
yading@10
|
325 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
yading@10
|
326 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
yading@10
|
327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
yading@10
|
328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
yading@10
|
329 0, 0, 0, 0, 0, 0, 0
|
yading@10
|
330 },
|
yading@10
|
331 {
|
yading@10
|
332 -1, 24, 22, 9, 6, 4, 3, 2, 2, 1,
|
yading@10
|
333 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
|
yading@10
|
334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
yading@10
|
335 0, 0, 0
|
yading@10
|
336 }
|
yading@10
|
337 };
|
yading@10
|
338
|
yading@10
|
339 static const uint8_t vc1_last_delta_run_table[AC_MODES][10] = {
|
yading@10
|
340 {
|
yading@10
|
341 -1, 37, 15, 4, 3, 1, 0
|
yading@10
|
342 },
|
yading@10
|
343 {
|
yading@10
|
344 -1, 36, 14, 6, 3, 1, 0, 0, 0,
|
yading@10
|
345 0
|
yading@10
|
346 },
|
yading@10
|
347 {
|
yading@10
|
348 -1, 26, 13, 3, 1
|
yading@10
|
349 },
|
yading@10
|
350 {
|
yading@10
|
351 -1, 43, 15, 3, 1, 0
|
yading@10
|
352 },
|
yading@10
|
353 {
|
yading@10
|
354 -1, 20, 6, 1, 0, 0, 0, 0, 0
|
yading@10
|
355 },
|
yading@10
|
356 {
|
yading@10
|
357 -1, 40, 1, 0
|
yading@10
|
358 },
|
yading@10
|
359 {
|
yading@10
|
360 -1, 16, 14, 2, 0
|
yading@10
|
361 },
|
yading@10
|
362 {
|
yading@10
|
363 -1, 30, 28, 3, 0
|
yading@10
|
364 }
|
yading@10
|
365 };
|
yading@10
|
366
|
yading@10
|
367 #endif /* AVCODEC_VC1ACDATA_H */
|