FFmpeg
msmpeg4_vc1_data.c
Go to the documentation of this file.
1 /*
2  * Common MSMPEG-4 and VC-1 tables and VLC init code
3  * Copyright (c) 2001 Fabrice Bellard
4  * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
5  *
6  * msmpeg4v1 & v2 stuff by Michael Niedermayer <michaelni@gmx.at>
7  *
8  * This file is part of FFmpeg.
9  *
10  * FFmpeg is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 2.1 of the License, or (at your option) any later version.
14  *
15  * FFmpeg is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with FFmpeg; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  */
24 
25 /**
26  * @file
27  * Common MSMPEG-4 and VC-1 tables and VLC init code
28  */
29 
30 #include "msmpeg4_vc1_data.h"
31 #include "vlc.h"
32 #include "libavutil/attributes.h"
33 #include "libavutil/thread.h"
34 
38 
39 static av_cold void msmp4_vc1_vlcs_init(void)
40 {
42  &ff_table0_dc_lum[0][1], 8, 4,
43  &ff_table0_dc_lum[0][0], 8, 4, 1158);
45  &ff_table0_dc_chroma[0][1], 8, 4,
46  &ff_table0_dc_chroma[0][0], 8, 4, 1118);
48  &ff_table1_dc_lum[0][1], 8, 4,
49  &ff_table1_dc_lum[0][0], 8, 4, 1476);
51  &ff_table1_dc_chroma[0][1], 8, 4,
52  &ff_table1_dc_chroma[0][0], 8, 4, 1216);
53 
55  &ff_msmp4_mb_i_table[0][1], 4, 2,
56  &ff_msmp4_mb_i_table[0][0], 4, 2, 536);
57 }
58 
60 {
61  static AVOnce init_static_once = AV_ONCE_INIT;
62  ff_thread_once(&init_static_once, msmp4_vc1_vlcs_init);
63 }
64 
65 /* intra picture macroblock coded block pattern */
66 const uint16_t ff_msmp4_mb_i_table[64][2] = {
67  { 0x1, 1 }, { 0x17, 6 }, { 0x9, 5 }, { 0x5, 5 },
68  { 0x6, 5 }, { 0x47, 9 }, { 0x20, 7 }, { 0x10, 7 },
69  { 0x2, 5 }, { 0x7c, 9 }, { 0x3a, 7 }, { 0x1d, 7 },
70  { 0x2, 6 }, { 0xec, 9 }, { 0x77, 8 }, { 0x0, 8 },
71  { 0x3, 5 }, { 0xb7, 9 }, { 0x2c, 7 }, { 0x13, 7 },
72  { 0x1, 6 }, { 0x168, 10 }, { 0x46, 8 }, { 0x3f, 8 },
73  { 0x1e, 6 }, { 0x712, 13 }, { 0xb5, 9 }, { 0x42, 8 },
74  { 0x22, 7 }, { 0x1c5, 11 }, { 0x11e, 10 }, { 0x87, 9 },
75  { 0x6, 4 }, { 0x3, 9 }, { 0x1e, 7 }, { 0x1c, 6 },
76  { 0x12, 7 }, { 0x388, 12 }, { 0x44, 9 }, { 0x70, 9 },
77  { 0x1f, 6 }, { 0x23e, 11 }, { 0x39, 8 }, { 0x8e, 9 },
78  { 0x1, 7 }, { 0x1c6, 11 }, { 0xb6, 9 }, { 0x45, 9 },
79  { 0x14, 6 }, { 0x23f, 11 }, { 0x7d, 9 }, { 0x18, 9 },
80  { 0x7, 7 }, { 0x1c7, 11 }, { 0x86, 9 }, { 0x19, 9 },
81  { 0x15, 6 }, { 0x1db, 10 }, { 0x2, 9 }, { 0x46, 9 },
82  { 0xd, 8 }, { 0x713, 13 }, { 0x1da, 10 }, { 0x169, 10 },
83 };
84 
85 /* dc table 0 */
86 
87 const uint32_t ff_table0_dc_lum[120][2] = {
88  { 0x1, 1 }, { 0x1, 2 }, { 0x1, 4 }, { 0x1, 5 },
89  { 0x5, 5 }, { 0x7, 5 }, { 0x8, 6 }, { 0xc, 6 },
90  { 0x0, 7 }, { 0x2, 7 }, { 0x12, 7 }, { 0x1a, 7 },
91  { 0x3, 8 }, { 0x7, 8 }, { 0x27, 8 }, { 0x37, 8 },
92  { 0x5, 9 }, { 0x4c, 9 }, { 0x6c, 9 }, { 0x6d, 9 },
93  { 0x8, 10 }, { 0x19, 10 }, { 0x9b, 10 }, { 0x1b, 10 },
94  { 0x9a, 10 }, { 0x13, 11 }, { 0x34, 11 }, { 0x35, 11 },
95  { 0x61, 12 }, { 0x48, 13 }, { 0xc4, 13 }, { 0x4a, 13 },
96  { 0xc6, 13 }, { 0xc7, 13 }, { 0x92, 14 }, { 0x18b, 14 },
97  { 0x93, 14 }, { 0x183, 14 }, { 0x182, 14 }, { 0x96, 14 },
98  { 0x97, 14 }, { 0x180, 14 }, { 0x314, 15 }, { 0x315, 15 },
99  { 0x605, 16 }, { 0x604, 16 }, { 0x606, 16 }, { 0xc0e, 17 },
100  { 0x303cd, 23 }, { 0x303c9, 23 }, { 0x303c8, 23 }, { 0x303ca, 23 },
101  { 0x303cb, 23 }, { 0x303cc, 23 }, { 0x303ce, 23 }, { 0x303cf, 23 },
102  { 0x303d0, 23 }, { 0x303d1, 23 }, { 0x303d2, 23 }, { 0x303d3, 23 },
103  { 0x303d4, 23 }, { 0x303d5, 23 }, { 0x303d6, 23 }, { 0x303d7, 23 },
104  { 0x303d8, 23 }, { 0x303d9, 23 }, { 0x303da, 23 }, { 0x303db, 23 },
105  { 0x303dc, 23 }, { 0x303dd, 23 }, { 0x303de, 23 }, { 0x303df, 23 },
106  { 0x303e0, 23 }, { 0x303e1, 23 }, { 0x303e2, 23 }, { 0x303e3, 23 },
107  { 0x303e4, 23 }, { 0x303e5, 23 }, { 0x303e6, 23 }, { 0x303e7, 23 },
108  { 0x303e8, 23 }, { 0x303e9, 23 }, { 0x303ea, 23 }, { 0x303eb, 23 },
109  { 0x303ec, 23 }, { 0x303ed, 23 }, { 0x303ee, 23 }, { 0x303ef, 23 },
110  { 0x303f0, 23 }, { 0x303f1, 23 }, { 0x303f2, 23 }, { 0x303f3, 23 },
111  { 0x303f4, 23 }, { 0x303f5, 23 }, { 0x303f6, 23 }, { 0x303f7, 23 },
112  { 0x303f8, 23 }, { 0x303f9, 23 }, { 0x303fa, 23 }, { 0x303fb, 23 },
113  { 0x303fc, 23 }, { 0x303fd, 23 }, { 0x303fe, 23 }, { 0x303ff, 23 },
114  { 0x60780, 24 }, { 0x60781, 24 }, { 0x60782, 24 }, { 0x60783, 24 },
115  { 0x60784, 24 }, { 0x60785, 24 }, { 0x60786, 24 }, { 0x60787, 24 },
116  { 0x60788, 24 }, { 0x60789, 24 }, { 0x6078a, 24 }, { 0x6078b, 24 },
117  { 0x6078c, 24 }, { 0x6078d, 24 }, { 0x6078e, 24 }, { 0x6078f, 24 },
118 };
119 
120 const uint32_t ff_table0_dc_chroma[120][2] = {
121  { 0x0, 2 }, { 0x1, 2 }, { 0x5, 3 }, { 0x9, 4 },
122  { 0xd, 4 }, { 0x11, 5 }, { 0x1d, 5 }, { 0x1f, 5 },
123  { 0x21, 6 }, { 0x31, 6 }, { 0x38, 6 }, { 0x33, 6 },
124  { 0x39, 6 }, { 0x3d, 6 }, { 0x61, 7 }, { 0x79, 7 },
125  { 0x80, 8 }, { 0xc8, 8 }, { 0xca, 8 }, { 0xf0, 8 },
126  { 0x81, 8 }, { 0xc0, 8 }, { 0xc9, 8 }, { 0x107, 9 },
127  { 0x106, 9 }, { 0x196, 9 }, { 0x183, 9 }, { 0x1e3, 9 },
128  { 0x1e2, 9 }, { 0x20a, 10 }, { 0x20b, 10 }, { 0x609, 11 },
129  { 0x412, 11 }, { 0x413, 11 }, { 0x60b, 11 }, { 0x411, 11 },
130  { 0x60a, 11 }, { 0x65f, 11 }, { 0x410, 11 }, { 0x65d, 11 },
131  { 0x65e, 11 }, { 0xcb8, 12 }, { 0xc10, 12 }, { 0xcb9, 12 },
132  { 0x1823, 13 }, { 0x3045, 14 }, { 0x6089, 15 }, { 0xc110, 16 },
133  { 0x304448, 22 }, { 0x304449, 22 }, { 0x30444a, 22 }, { 0x30444b, 22 },
134  { 0x30444c, 22 }, { 0x30444d, 22 }, { 0x30444e, 22 }, { 0x30444f, 22 },
135  { 0x304450, 22 }, { 0x304451, 22 }, { 0x304452, 22 }, { 0x304453, 22 },
136  { 0x304454, 22 }, { 0x304455, 22 }, { 0x304456, 22 }, { 0x304457, 22 },
137  { 0x304458, 22 }, { 0x304459, 22 }, { 0x30445a, 22 }, { 0x30445b, 22 },
138  { 0x30445c, 22 }, { 0x30445d, 22 }, { 0x30445e, 22 }, { 0x30445f, 22 },
139  { 0x304460, 22 }, { 0x304461, 22 }, { 0x304462, 22 }, { 0x304463, 22 },
140  { 0x304464, 22 }, { 0x304465, 22 }, { 0x304466, 22 }, { 0x304467, 22 },
141  { 0x304468, 22 }, { 0x304469, 22 }, { 0x30446a, 22 }, { 0x30446b, 22 },
142  { 0x30446c, 22 }, { 0x30446d, 22 }, { 0x30446e, 22 }, { 0x30446f, 22 },
143  { 0x304470, 22 }, { 0x304471, 22 }, { 0x304472, 22 }, { 0x304473, 22 },
144  { 0x304474, 22 }, { 0x304475, 22 }, { 0x304476, 22 }, { 0x304477, 22 },
145  { 0x304478, 22 }, { 0x304479, 22 }, { 0x30447a, 22 }, { 0x30447b, 22 },
146  { 0x30447c, 22 }, { 0x30447d, 22 }, { 0x30447e, 22 }, { 0x30447f, 22 },
147  { 0x608880, 23 }, { 0x608881, 23 }, { 0x608882, 23 }, { 0x608883, 23 },
148  { 0x608884, 23 }, { 0x608885, 23 }, { 0x608886, 23 }, { 0x608887, 23 },
149  { 0x608888, 23 }, { 0x608889, 23 }, { 0x60888a, 23 }, { 0x60888b, 23 },
150  { 0x60888c, 23 }, { 0x60888d, 23 }, { 0x60888e, 23 }, { 0x60888f, 23 },
151 };
152 
153 /* dc table 1 */
154 
155 const uint32_t ff_table1_dc_lum[120][2] = {
156  { 0x2, 2 }, { 0x3, 2 }, { 0x3, 3 }, { 0x2, 4 },
157  { 0x5, 4 }, { 0x1, 5 }, { 0x3, 5 }, { 0x8, 5 },
158  { 0x0, 6 }, { 0x5, 6 }, { 0xd, 6 }, { 0xf, 6 },
159  { 0x13, 6 }, { 0x8, 7 }, { 0x18, 7 }, { 0x1c, 7 },
160  { 0x24, 7 }, { 0x4, 8 }, { 0x6, 8 }, { 0x12, 8 },
161  { 0x32, 8 }, { 0x3b, 8 }, { 0x4a, 8 }, { 0x4b, 8 },
162  { 0xb, 9 }, { 0x26, 9 }, { 0x27, 9 }, { 0x66, 9 },
163  { 0x74, 9 }, { 0x75, 9 }, { 0x14, 10 }, { 0x1c, 10 },
164  { 0x1f, 10 }, { 0x1d, 10 }, { 0x2b, 11 }, { 0x3d, 11 },
165  { 0x19d, 11 }, { 0x19f, 11 }, { 0x54, 12 }, { 0x339, 12 },
166  { 0x338, 12 }, { 0x33d, 12 }, { 0xab, 13 }, { 0xf1, 13 },
167  { 0x678, 13 }, { 0xf2, 13 }, { 0x1e0, 14 }, { 0x1e1, 14 },
168  { 0x154, 14 }, { 0xcf2, 14 }, { 0x3cc, 15 }, { 0x2ab, 15 },
169  { 0x19e7, 15 }, { 0x3ce, 15 }, { 0x19e6, 15 }, { 0x554, 16 },
170  { 0x79f, 16 }, { 0x555, 16 }, { 0xf3d, 17 }, { 0xf37, 17 },
171  { 0xf3c, 17 }, { 0xf35, 17 }, { 0x1e6d, 18 }, { 0x1e68, 18 },
172  { 0x3cd8, 19 }, { 0x3cd3, 19 }, { 0x3cd9, 19 }, { 0x79a4, 20 },
173  { 0xf34ba, 25 }, { 0xf34b4, 25 }, { 0xf34b5, 25 }, { 0xf34b6, 25 },
174  { 0xf34b7, 25 }, { 0xf34b8, 25 }, { 0xf34b9, 25 }, { 0xf34bb, 25 },
175  { 0xf34bc, 25 }, { 0xf34bd, 25 }, { 0xf34be, 25 }, { 0xf34bf, 25 },
176  { 0x1e6940, 26 }, { 0x1e6941, 26 }, { 0x1e6942, 26 }, { 0x1e6943, 26 },
177  { 0x1e6944, 26 }, { 0x1e6945, 26 }, { 0x1e6946, 26 }, { 0x1e6947, 26 },
178  { 0x1e6948, 26 }, { 0x1e6949, 26 }, { 0x1e694a, 26 }, { 0x1e694b, 26 },
179  { 0x1e694c, 26 }, { 0x1e694d, 26 }, { 0x1e694e, 26 }, { 0x1e694f, 26 },
180  { 0x1e6950, 26 }, { 0x1e6951, 26 }, { 0x1e6952, 26 }, { 0x1e6953, 26 },
181  { 0x1e6954, 26 }, { 0x1e6955, 26 }, { 0x1e6956, 26 }, { 0x1e6957, 26 },
182  { 0x1e6958, 26 }, { 0x1e6959, 26 }, { 0x1e695a, 26 }, { 0x1e695b, 26 },
183  { 0x1e695c, 26 }, { 0x1e695d, 26 }, { 0x1e695e, 26 }, { 0x1e695f, 26 },
184  { 0x1e6960, 26 }, { 0x1e6961, 26 }, { 0x1e6962, 26 }, { 0x1e6963, 26 },
185  { 0x1e6964, 26 }, { 0x1e6965, 26 }, { 0x1e6966, 26 }, { 0x1e6967, 26 },
186 };
187 
188 const uint32_t ff_table1_dc_chroma[120][2] = {
189  { 0x0, 2 }, { 0x1, 2 }, { 0x4, 3 }, { 0x7, 3 },
190  { 0xb, 4 }, { 0xd, 4 }, { 0x15, 5 }, { 0x28, 6 },
191  { 0x30, 6 }, { 0x32, 6 }, { 0x52, 7 }, { 0x62, 7 },
192  { 0x66, 7 }, { 0xa6, 8 }, { 0xc6, 8 }, { 0xcf, 8 },
193  { 0x14f, 9 }, { 0x18e, 9 }, { 0x19c, 9 }, { 0x29d, 10 },
194  { 0x33a, 10 }, { 0x538, 11 }, { 0x63c, 11 }, { 0x63e, 11 },
195  { 0x63f, 11 }, { 0x676, 11 }, { 0xa73, 12 }, { 0xc7a, 12 },
196  { 0xcef, 12 }, { 0x14e5, 13 }, { 0x19dd, 13 }, { 0x29c8, 14 },
197  { 0x29c9, 14 }, { 0x63dd, 15 }, { 0x33b8, 14 }, { 0x33b9, 14 },
198  { 0xc7b6, 16 }, { 0x63d8, 15 }, { 0x63df, 15 }, { 0xc7b3, 16 },
199  { 0xc7b4, 16 }, { 0xc7b5, 16 }, { 0x63de, 15 }, { 0xc7b7, 16 },
200  { 0xc7b8, 16 }, { 0xc7b9, 16 }, { 0x18f65, 17 }, { 0x31ec8, 18 },
201  { 0xc7b248, 24 }, { 0xc7b249, 24 }, { 0xc7b24a, 24 }, { 0xc7b24b, 24 },
202  { 0xc7b24c, 24 }, { 0xc7b24d, 24 }, { 0xc7b24e, 24 }, { 0xc7b24f, 24 },
203  { 0xc7b250, 24 }, { 0xc7b251, 24 }, { 0xc7b252, 24 }, { 0xc7b253, 24 },
204  { 0xc7b254, 24 }, { 0xc7b255, 24 }, { 0xc7b256, 24 }, { 0xc7b257, 24 },
205  { 0xc7b258, 24 }, { 0xc7b259, 24 }, { 0xc7b25a, 24 }, { 0xc7b25b, 24 },
206  { 0xc7b25c, 24 }, { 0xc7b25d, 24 }, { 0xc7b25e, 24 }, { 0xc7b25f, 24 },
207  { 0xc7b260, 24 }, { 0xc7b261, 24 }, { 0xc7b262, 24 }, { 0xc7b263, 24 },
208  { 0xc7b264, 24 }, { 0xc7b265, 24 }, { 0xc7b266, 24 }, { 0xc7b267, 24 },
209  { 0xc7b268, 24 }, { 0xc7b269, 24 }, { 0xc7b26a, 24 }, { 0xc7b26b, 24 },
210  { 0xc7b26c, 24 }, { 0xc7b26d, 24 }, { 0xc7b26e, 24 }, { 0xc7b26f, 24 },
211  { 0xc7b270, 24 }, { 0xc7b271, 24 }, { 0xc7b272, 24 }, { 0xc7b273, 24 },
212  { 0xc7b274, 24 }, { 0xc7b275, 24 }, { 0xc7b276, 24 }, { 0xc7b277, 24 },
213  { 0xc7b278, 24 }, { 0xc7b279, 24 }, { 0xc7b27a, 24 }, { 0xc7b27b, 24 },
214  { 0xc7b27c, 24 }, { 0xc7b27d, 24 }, { 0xc7b27e, 24 }, { 0xc7b27f, 24 },
215  { 0x18f6480, 25 }, { 0x18f6481, 25 }, { 0x18f6482, 25 }, { 0x18f6483, 25 },
216  { 0x18f6484, 25 }, { 0x18f6485, 25 }, { 0x18f6486, 25 }, { 0x18f6487, 25 },
217  { 0x18f6488, 25 }, { 0x18f6489, 25 }, { 0x18f648a, 25 }, { 0x18f648b, 25 },
218  { 0x18f648c, 25 }, { 0x18f648d, 25 }, { 0x18f648e, 25 }, { 0x18f648f, 25 },
219 };
220 
222  { 0x00, 0x08, 0x01, 0x02, 0x09, 0x10, 0x18, 0x11,
223  0x0A, 0x03, 0x04, 0x0B, 0x12, 0x19, 0x20, 0x28,
224  0x30, 0x38, 0x29, 0x21, 0x1A, 0x13, 0x0C, 0x05,
225  0x06, 0x0D, 0x14, 0x1B, 0x22, 0x31, 0x39, 0x3A,
226  0x32, 0x2A, 0x23, 0x1C, 0x15, 0x0E, 0x07, 0x0F,
227  0x16, 0x1D, 0x24, 0x2B, 0x33, 0x3B, 0x3C, 0x34,
228  0x2C, 0x25, 0x1E, 0x17, 0x1F, 0x26, 0x2D, 0x35,
229  0x3D, 0x3E, 0x36, 0x2E, 0x27, 0x2F, 0x37, 0x3F, },
230  { 0x00, 0x08, 0x01, 0x02, 0x09, 0x10, 0x18, 0x11,
231  0x0A, 0x03, 0x04, 0x0B, 0x12, 0x19, 0x20, 0x28,
232  0x21, 0x30, 0x1A, 0x13, 0x0C, 0x05, 0x06, 0x0D,
233  0x14, 0x1B, 0x22, 0x29, 0x38, 0x31, 0x39, 0x2A,
234  0x23, 0x1C, 0x15, 0x0E, 0x07, 0x0F, 0x16, 0x1D,
235  0x24, 0x2B, 0x32, 0x3A, 0x33, 0x3B, 0x2C, 0x25,
236  0x1E, 0x17, 0x1F, 0x26, 0x2D, 0x34, 0x3C, 0x35,
237  0x3D, 0x2E, 0x27, 0x2F, 0x36, 0x3E, 0x37, 0x3F, },
238  { 0x00, 0x01, 0x08, 0x02, 0x03, 0x09, 0x10, 0x18,
239  0x11, 0x0A, 0x04, 0x05, 0x0B, 0x12, 0x19, 0x20,
240  0x28, 0x30, 0x21, 0x1A, 0x13, 0x0C, 0x06, 0x07,
241  0x0D, 0x14, 0x1B, 0x22, 0x29, 0x38, 0x31, 0x39,
242  0x2A, 0x23, 0x1C, 0x15, 0x0E, 0x0F, 0x16, 0x1D,
243  0x24, 0x2B, 0x32, 0x3A, 0x33, 0x2C, 0x25, 0x1E,
244  0x17, 0x1F, 0x26, 0x2D, 0x34, 0x3B, 0x3C, 0x35,
245  0x2E, 0x27, 0x2F, 0x36, 0x3D, 0x3E, 0x37, 0x3F, },
246  { 0x00, 0x08, 0x10, 0x01, 0x18, 0x20, 0x28, 0x09,
247  0x02, 0x03, 0x0A, 0x11, 0x19, 0x30, 0x38, 0x29,
248  0x21, 0x1A, 0x12, 0x0B, 0x04, 0x05, 0x0C, 0x13,
249  0x1B, 0x22, 0x31, 0x39, 0x32, 0x2A, 0x23, 0x1C,
250  0x14, 0x0D, 0x06, 0x07, 0x0E, 0x15, 0x1D, 0x24,
251  0x2B, 0x33, 0x3A, 0x3B, 0x34, 0x2C, 0x25, 0x1E,
252  0x16, 0x0F, 0x17, 0x1F, 0x26, 0x2D, 0x3C, 0x35,
253  0x2E, 0x27, 0x2F, 0x36, 0x3D, 0x3E, 0x37, 0x3F, }
254 };
ff_table0_dc_lum
const uint32_t ff_table0_dc_lum[120][2]
Definition: msmpeg4_vc1_data.c:87
thread.h
INIT_VLC_STATIC
#define INIT_VLC_STATIC(vlc, bits, a, b, c, d, e, f, g, static_size)
Definition: vlc.h:125
ff_msmp4_dc_luma_vlc
VLC ff_msmp4_dc_luma_vlc[2]
Definition: msmpeg4_vc1_data.c:36
ff_msmp4_mb_i_vlc
VLC ff_msmp4_mb_i_vlc
Definition: msmpeg4_vc1_data.c:35
MSMP4_MB_INTRA_VLC_BITS
#define MSMP4_MB_INTRA_VLC_BITS
Definition: msmpeg4_vc1_data.h:36
ff_thread_once
static int ff_thread_once(char *control, void(*routine)(void))
Definition: thread.h:184
av_cold
#define av_cold
Definition: attributes.h:90
ff_msmp4_dc_chroma_vlc
VLC ff_msmp4_dc_chroma_vlc[2]
Definition: msmpeg4_vc1_data.c:37
ff_msmp4_vc1_vlcs_init_once
av_cold void ff_msmp4_vc1_vlcs_init_once(void)
Definition: msmpeg4_vc1_data.c:59
AV_ONCE_INIT
#define AV_ONCE_INIT
Definition: thread.h:182
ff_msmp4_mb_i_table
const uint16_t ff_msmp4_mb_i_table[64][2]
Definition: msmpeg4_vc1_data.c:66
msmp4_vc1_vlcs_init
static av_cold void msmp4_vc1_vlcs_init(void)
Definition: msmpeg4_vc1_data.c:39
AVOnce
#define AVOnce
Definition: thread.h:181
MSMP4_DC_VLC_BITS
#define MSMP4_DC_VLC_BITS
Definition: msmpeg4_vc1_data.h:38
attributes.h
WMV1_SCANTABLE_COUNT
#define WMV1_SCANTABLE_COUNT
Definition: msmpeg4_vc1_data.h:45
VLC
Definition: vlc.h:31
ff_table0_dc_chroma
const uint32_t ff_table0_dc_chroma[120][2]
Definition: msmpeg4_vc1_data.c:120
msmpeg4_vc1_data.h
vlc.h
ff_table1_dc_chroma
const uint32_t ff_table1_dc_chroma[120][2]
Definition: msmpeg4_vc1_data.c:188
ff_wmv1_scantable
const uint8_t ff_wmv1_scantable[WMV1_SCANTABLE_COUNT][64]
Definition: msmpeg4_vc1_data.c:221
ff_table1_dc_lum
const uint32_t ff_table1_dc_lum[120][2]
Definition: msmpeg4_vc1_data.c:155