/src/ffmpeg/libavcodec/vlc.h
Line | Count | Source |
1 | | /* |
2 | | * This file is part of FFmpeg. |
3 | | * |
4 | | * FFmpeg is free software; you can redistribute it and/or |
5 | | * modify it under the terms of the GNU Lesser General Public |
6 | | * License as published by the Free Software Foundation; either |
7 | | * version 2.1 of the License, or (at your option) any later version. |
8 | | * |
9 | | * FFmpeg is distributed in the hope that it will be useful, |
10 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 | | * Lesser General Public License for more details. |
13 | | * |
14 | | * You should have received a copy of the GNU Lesser General Public |
15 | | * License along with FFmpeg; if not, write to the Free Software |
16 | | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
17 | | */ |
18 | | |
19 | | #ifndef AVCODEC_VLC_H |
20 | | #define AVCODEC_VLC_H |
21 | | |
22 | | #include <stddef.h> |
23 | | #include <stdint.h> |
24 | | |
25 | | #include "libavutil/macros.h" |
26 | | |
27 | 113k | #define VLC_MULTI_MAX_SYMBOLS 6 |
28 | | |
29 | | // When changing this, be sure to also update tableprint_vlc.h accordingly. |
30 | | typedef int16_t VLCBaseType; |
31 | | |
32 | | typedef struct VLCElem { |
33 | | union { |
34 | | /// The struct is for use as ordinary VLC (with get_vlc2()) |
35 | | struct { |
36 | | VLCBaseType sym; |
37 | | VLCBaseType len; |
38 | | }; |
39 | | /// This struct is for use as run-length VLC (with GET_RL_VLC) |
40 | | struct { |
41 | | int16_t level; |
42 | | int8_t len8; |
43 | | uint8_t run; |
44 | | }; |
45 | | }; |
46 | | } VLCElem; |
47 | | |
48 | | typedef VLCElem RL_VLC_ELEM; |
49 | | |
50 | | typedef struct VLC { |
51 | | int bits; |
52 | | VLCElem *table; |
53 | | int table_size, table_allocated; |
54 | | } VLC; |
55 | | |
56 | | typedef struct VLC_MULTI_ELEM { |
57 | | union { |
58 | | uint8_t val8[VLC_MULTI_MAX_SYMBOLS]; |
59 | | uint16_t val16[VLC_MULTI_MAX_SYMBOLS / 2]; |
60 | | }; |
61 | | int8_t len; // -31,32 |
62 | | uint8_t num; |
63 | | } VLC_MULTI_ELEM; |
64 | | |
65 | | typedef struct VLC_MULTI { |
66 | | VLC_MULTI_ELEM *table; |
67 | | int table_size, table_allocated; |
68 | | } VLC_MULTI; |
69 | | |
70 | | #define vlc_init(vlc, nb_bits, nb_codes, \ |
71 | | bits, bits_wrap, bits_size, \ |
72 | | codes, codes_wrap, codes_size, \ |
73 | | flags) \ |
74 | 114k | ff_vlc_init_sparse(vlc, nb_bits, nb_codes, \ |
75 | 114k | bits, bits_wrap, bits_size, \ |
76 | 114k | codes, codes_wrap, codes_size, \ |
77 | 114k | NULL, 0, 0, flags) |
78 | | |
79 | | /** |
80 | | * Build VLC decoding tables suitable for use with get_vlc2(). |
81 | | * |
82 | | * @param[in,out] vlc The VLC to be initialized; table and table_allocated |
83 | | * must have been set when initializing a static VLC, |
84 | | * otherwise this will be treated as uninitialized. |
85 | | * @param[in] nb_bits The number of bits to use for the VLC table; |
86 | | * higher values take up more memory and cache, but |
87 | | * allow to read codes with fewer reads. |
88 | | * Corresponds to the `bits` parameter of get_vlc2(). |
89 | | * @param[in] nb_codes The number of provided bits, codes and (if supplied) |
90 | | * symbol entries. |
91 | | * @param[in] bits The lengths (in bits) of the codes. Entries > 0 |
92 | | * correspond to valid codes; entries == 0 will be skipped. |
93 | | * @param[in] bits_wrap Stride (in bytes) of the bits table. |
94 | | * @param[in] codes_size Size of the bits. 1, 2 and 4 are supported. |
95 | | * @param[in] codes Table which gives the bit pattern of of each vlc code. |
96 | | * @param[in] codes_wrap Stride (in bytes) of the codes table. |
97 | | * @param[in] codes_size Size of the codes. 1, 2 and 4 are supported. |
98 | | * @param[in] symbols The symbols, i.e. what is returned from get_vlc2() |
99 | | * when the corresponding code is encountered. |
100 | | * May be NULL, then 0, 1, 2, 3, 4,... will be used. |
101 | | * @param[in] symbols_wrap Stride (in bytes) of the symbols table. |
102 | | * @param[in] symbols_size Size of the symbols. 1 and 2 are supported. |
103 | | * @param[in] flags A combination of the VLC_INIT_* flags. |
104 | | * |
105 | | * 'wrap' and 'size' make it possible to use any memory configuration and types |
106 | | * (byte/word/int) to store the 'bits', 'codes', and 'symbols' tables. |
107 | | */ |
108 | | int ff_vlc_init_sparse(VLC *vlc, int nb_bits, int nb_codes, |
109 | | const void *bits, int bits_wrap, int bits_size, |
110 | | const void *codes, int codes_wrap, int codes_size, |
111 | | const void *symbols, int symbols_wrap, int symbols_size, |
112 | | int flags); |
113 | | |
114 | | /** |
115 | | * Build VLC decoding tables suitable for use with get_vlc2() |
116 | | * |
117 | | * This function takes lengths and symbols and calculates the codes from them. |
118 | | * For this the input lengths and symbols have to be sorted according to "left |
119 | | * nodes in the corresponding tree first". |
120 | | * |
121 | | * @param[in,out] vlc The VLC to be initialized; table and table_allocated |
122 | | * must have been set when initializing a static VLC, |
123 | | * otherwise this will be treated as uninitialized. |
124 | | * @param[in] nb_bits The number of bits to use for the VLC table; |
125 | | * higher values take up more memory and cache, but |
126 | | * allow to read codes with fewer reads. |
127 | | * @param[in] nb_codes The number of provided length and (if supplied) symbol |
128 | | * entries. |
129 | | * @param[in] lens The lengths of the codes. Entries > 0 correspond to |
130 | | * valid codes; entries == 0 will be skipped and entries |
131 | | * with len < 0 indicate that the tree is incomplete and |
132 | | * has an open end of length -len at this position. |
133 | | * @param[in] lens_wrap Stride (in bytes) of the lengths. |
134 | | * @param[in] symbols The symbols, i.e. what is returned from get_vlc2() |
135 | | * when the corresponding code is encountered. |
136 | | * May be NULL, then 0, 1, 2, 3, 4,... will be used. |
137 | | * @param[in] symbols_wrap Stride (in bytes) of the symbols. |
138 | | * @param[in] symbols_size Size of the symbols. 1 and 2 are supported. |
139 | | * @param[in] offset An offset to apply to all the valid symbols. |
140 | | * @param[in] flags A combination of the VLC_INIT_* flags; notice that |
141 | | * VLC_INIT_INPUT_LE is pointless and ignored. |
142 | | */ |
143 | | int ff_vlc_init_from_lengths(VLC *vlc, int nb_bits, int nb_codes, |
144 | | const int8_t *lens, int lens_wrap, |
145 | | const void *symbols, int symbols_wrap, int symbols_size, |
146 | | int offset, int flags, void *logctx); |
147 | | |
148 | | /** |
149 | | * Build VLC decoding tables suitable for use with get_vlc_multi() |
150 | | * |
151 | | * This function takes lengths and symbols and calculates the codes from them. |
152 | | * For this the input lengths and symbols have to be sorted according to "left |
153 | | * nodes in the corresponding tree first". |
154 | | * |
155 | | * @param[in,out] vlc The VLC to be initialized; table and table_allocated |
156 | | * must have been set when initializing a static VLC, |
157 | | * otherwise this will be treated as uninitialized. |
158 | | * @param[in,out] multi The VLC_MULTI to be initialized; table and table_allocated |
159 | | * must have been set when initializing a static VLC, |
160 | | * otherwise this will be treated as uninitialized. |
161 | | * @param[in] nb_bits The number of bits to use for the VLC table; |
162 | | * higher values take up more memory and cache, but |
163 | | * allow to read codes with fewer reads. |
164 | | * @param[in] nb_elems The max possible number of elements. |
165 | | * @param[in] nb_codes The number of provided length and (if supplied) symbol |
166 | | * entries. |
167 | | * @param[in] lens The lengths of the codes. Entries > 0 correspond to |
168 | | * valid codes; entries == 0 will be skipped and entries |
169 | | * with len < 0 indicate that the tree is incomplete and |
170 | | * has an open end of length -len at this position. |
171 | | * @param[in] lens_wrap Stride (in bytes) of the lengths. |
172 | | * @param[in] symbols The symbols, i.e. what is returned from get_vlc2() |
173 | | * when the corresponding code is encountered. |
174 | | * May be NULL, then 0, 1, 2, 3, 4,... will be used. |
175 | | * @param[in] symbols_wrap Stride (in bytes) of the symbols. |
176 | | * @param[in] symbols_size Size of the symbols. 1 and 2 are supported. |
177 | | * @param[in] offset An offset to apply to all the valid symbols. |
178 | | * @param[in] flags A combination of the VLC_INIT_* flags; notice that |
179 | | * VLC_INIT_INPUT_LE is pointless and ignored. |
180 | | */ |
181 | | int ff_vlc_init_multi_from_lengths(VLC *vlc, VLC_MULTI *multi, int nb_bits, int nb_elems, |
182 | | int nb_codes, const int8_t *lens, int lens_wrap, |
183 | | const void *symbols, int symbols_wrap, int symbols_size, |
184 | | int offset, int flags, void *logctx); |
185 | | |
186 | | |
187 | | void ff_vlc_free_multi(VLC_MULTI *vlc); |
188 | | void ff_vlc_free(VLC *vlc); |
189 | | |
190 | 74.6M | #define VLC_INIT_USE_STATIC 1 |
191 | 4.28k | #define VLC_INIT_STATIC_OVERLONG (2 | VLC_INIT_USE_STATIC) |
192 | | /* If VLC_INIT_INPUT_LE is set, the LSB bit of the codes used to |
193 | | * initialize the VLC table is the first bit to be read. */ |
194 | 211M | #define VLC_INIT_INPUT_LE 4 |
195 | | /* If set the VLC is intended for a little endian bitstream reader. */ |
196 | 872M | #define VLC_INIT_OUTPUT_LE 8 |
197 | 33.4k | #define VLC_INIT_LE (VLC_INIT_INPUT_LE | VLC_INIT_OUTPUT_LE) |
198 | | |
199 | | /** |
200 | | * For static VLCs, the number of bits can often be hardcoded |
201 | | * at each get_vlc2() callsite. Then using a full VLC would be uneconomical, |
202 | | * because only VLC.table would ever be accessed after initialization. |
203 | | * The following functions provide wrappers around the relevant ff_vlc_init_* |
204 | | * functions suitable for said task. |
205 | | * |
206 | | * The ff_vlc_init_tables_* functions are intended to be used for initializing |
207 | | * a series of VLCs. The user initializes a VLCInitState with the details |
208 | | * about the underlying array of VLCElem; it is automatically updated by |
209 | | * the ff_vlc_init_tables_* functions (i.e. table is incremented and size |
210 | | * decremented by the number of elements of the current table). |
211 | | * The VLC_INIT_STATIC_OVERLONG flag is also automatically added. |
212 | | * These functions return a pointer to the table just initialized, |
213 | | * potentially to be used in arrays of pointer to VLC tables. |
214 | | * |
215 | | * The ff_vlc_init_table_* functions are intended to be used for initializing |
216 | | * a single VLC table, given by table and table_size. The VLC_INIT_USE_STATIC |
217 | | * flag is automatically added. |
218 | | */ |
219 | | |
220 | | typedef struct VLCInitState { |
221 | | VLCElem *table; ///< points to where the next VLC table will be placed |
222 | | unsigned size; ///< remaining number of elements in table |
223 | | } VLCInitState; |
224 | | |
225 | 66 | #define VLC_INIT_STATE(_table) { .table = (_table), .size = FF_ARRAY_ELEMS(_table) } |
226 | | |
227 | | void ff_vlc_init_table_from_lengths(VLCElem table[], int table_size, |
228 | | int nb_bits, int nb_codes, |
229 | | const int8_t *lens, int lens_wrap, |
230 | | const void *symbols, int symbols_wrap, int symbols_size, |
231 | | int offset, int flags); |
232 | | |
233 | | const VLCElem *ff_vlc_init_tables_from_lengths(VLCInitState *state, |
234 | | int nb_bits, int nb_codes, |
235 | | const int8_t *lens, int lens_wrap, |
236 | | const void *symbols, int symbols_wrap, int symbols_size, |
237 | | int offset, int flags); |
238 | | |
239 | | void ff_vlc_init_table_sparse(VLCElem table[], int table_size, |
240 | | int nb_bits, int nb_codes, |
241 | | const void *bits, int bits_wrap, int bits_size, |
242 | | const void *codes, int codes_wrap, int codes_size, |
243 | | const void *symbols, int symbols_wrap, int symbols_size, |
244 | | int flags); |
245 | | |
246 | | const VLCElem *ff_vlc_init_tables_sparse(VLCInitState *state, |
247 | | int nb_bits, int nb_codes, |
248 | | const void *bits, int bits_wrap, int bits_size, |
249 | | const void *codes, int codes_wrap, int codes_size, |
250 | | const void *symbols, int symbols_wrap, int symbols_size, |
251 | | int flags); |
252 | | |
253 | | static inline |
254 | | const VLCElem *ff_vlc_init_tables(VLCInitState *state, |
255 | | int nb_bits, int nb_codes, |
256 | | const void *bits, int bits_wrap, int bits_size, |
257 | | const void *codes, int codes_wrap, int codes_size, |
258 | | int flags) |
259 | 714 | { |
260 | 714 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, |
261 | 714 | bits, bits_wrap, bits_size, |
262 | 714 | codes, codes_wrap, codes_size, |
263 | 714 | NULL, 0, 0, flags); |
264 | 714 | } Unexecuted instantiation: ituh263enc.c:ff_vlc_init_tables Unexecuted instantiation: mpegvideo_enc.c:ff_vlc_init_tables Unexecuted instantiation: mpegvideo_motion.c:ff_vlc_init_tables Unexecuted instantiation: msmpeg4enc.c:ff_vlc_init_tables Unexecuted instantiation: rl.c:ff_vlc_init_tables Unexecuted instantiation: rv20enc.c:ff_vlc_init_tables Unexecuted instantiation: speedhqenc.c:ff_vlc_init_tables Unexecuted instantiation: vlc.c:ff_vlc_init_tables Unexecuted instantiation: wmv2dec.c:ff_vlc_init_tables Unexecuted instantiation: aac_adtstoasc.c:ff_vlc_init_tables Unexecuted instantiation: dovi_rpu.c:ff_vlc_init_tables Unexecuted instantiation: dovi_split.c:ff_vlc_init_tables Unexecuted instantiation: dts2pts.c:ff_vlc_init_tables Unexecuted instantiation: eac3_core.c:ff_vlc_init_tables Unexecuted instantiation: evc_frame_merge.c:ff_vlc_init_tables Unexecuted instantiation: extract_extradata.c:ff_vlc_init_tables Unexecuted instantiation: h264_metadata.c:ff_vlc_init_tables Unexecuted instantiation: h264_redundant_pps.c:ff_vlc_init_tables Unexecuted instantiation: h265_metadata.c:ff_vlc_init_tables Unexecuted instantiation: h266_metadata.c:ff_vlc_init_tables Unexecuted instantiation: lcevc_merge.c:ff_vlc_init_tables Unexecuted instantiation: lcevc_metadata.c:ff_vlc_init_tables Unexecuted instantiation: remove_extradata.c:ff_vlc_init_tables Unexecuted instantiation: truehd_core.c:ff_vlc_init_tables Unexecuted instantiation: vp9_raw_reorder.c:ff_vlc_init_tables Unexecuted instantiation: vp9_superframe.c:ff_vlc_init_tables Unexecuted instantiation: vp9_superframe_split.c:ff_vlc_init_tables Unexecuted instantiation: cbs.c:ff_vlc_init_tables Unexecuted instantiation: cbs_apv.c:ff_vlc_init_tables Unexecuted instantiation: cbs_av1.c:ff_vlc_init_tables Unexecuted instantiation: cbs_h264.c:ff_vlc_init_tables Unexecuted instantiation: cbs_h2645.c:ff_vlc_init_tables Unexecuted instantiation: cbs_h265.c:ff_vlc_init_tables Unexecuted instantiation: cbs_h266.c:ff_vlc_init_tables Unexecuted instantiation: cbs_lcevc.c:ff_vlc_init_tables Unexecuted instantiation: cbs_mpeg2.c:ff_vlc_init_tables Unexecuted instantiation: cbs_sei.c:ff_vlc_init_tables Unexecuted instantiation: cbs_vp8.c:ff_vlc_init_tables Unexecuted instantiation: cbs_vp9.c:ff_vlc_init_tables Unexecuted instantiation: dovi_rpudec.c:ff_vlc_init_tables Unexecuted instantiation: evc_parse.c:ff_vlc_init_tables Unexecuted instantiation: evc_ps.c:ff_vlc_init_tables Unexecuted instantiation: h261.c:ff_vlc_init_tables Unexecuted instantiation: h261enc.c:ff_vlc_init_tables Unexecuted instantiation: h263.c:ff_vlc_init_tables Unexecuted instantiation: h263data.c:ff_vlc_init_tables Unexecuted instantiation: h263dec.c:ff_vlc_init_tables Unexecuted instantiation: h2645_parse.c:ff_vlc_init_tables Unexecuted instantiation: h264_parse.c:ff_vlc_init_tables Unexecuted instantiation: h264_ps.c:ff_vlc_init_tables Unexecuted instantiation: h264data.c:ff_vlc_init_tables Unexecuted instantiation: h265_profile_level.c:ff_vlc_init_tables Unexecuted instantiation: ps.c:ff_vlc_init_tables Unexecuted instantiation: intelh263dec.c:ff_vlc_init_tables Unexecuted instantiation: intrax8.c:ff_vlc_init_tables Unexecuted instantiation: ituh263dec.c:ff_vlc_init_tables Unexecuted instantiation: mlp_parse.c:ff_vlc_init_tables Unexecuted instantiation: mpeg12data.c:ff_vlc_init_tables Unexecuted instantiation: mpeg12enc.c:ff_vlc_init_tables Unexecuted instantiation: mpeg4audio.c:ff_vlc_init_tables Unexecuted instantiation: mpeg4video.c:ff_vlc_init_tables Unexecuted instantiation: mpeg4videodec.c:ff_vlc_init_tables Unexecuted instantiation: mpeg4videoenc.c:ff_vlc_init_tables Unexecuted instantiation: mpeg_er.c:ff_vlc_init_tables Unexecuted instantiation: mpegvideo_dec.c:ff_vlc_init_tables Unexecuted instantiation: msmpeg4.c:ff_vlc_init_tables msmpeg4_vc1_data.c:ff_vlc_init_tables Line | Count | Source | 259 | 40 | { | 260 | 40 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 261 | 40 | bits, bits_wrap, bits_size, | 262 | 40 | codes, codes_wrap, codes_size, | 263 | | NULL, 0, 0, flags); | 264 | 40 | } |
Unexecuted instantiation: msmpeg4data.c:ff_vlc_init_tables Unexecuted instantiation: msmpeg4dec.c:ff_vlc_init_tables Unexecuted instantiation: rv10.c:ff_vlc_init_tables Unexecuted instantiation: ac3_parser.c:ff_vlc_init_tables Unexecuted instantiation: adts_header.c:ff_vlc_init_tables Unexecuted instantiation: av1_parse.c:ff_vlc_init_tables Unexecuted instantiation: flvdec.c:ff_vlc_init_tables Unexecuted instantiation: h261data.c:ff_vlc_init_tables Unexecuted instantiation: h2645_vui.c:ff_vlc_init_tables Unexecuted instantiation: tak_parser.c:ff_vlc_init_tables Unexecuted instantiation: vc1_parser.c:ff_vlc_init_tables Unexecuted instantiation: vorbis_parser.c:ff_vlc_init_tables Unexecuted instantiation: vp9_parser.c:ff_vlc_init_tables Unexecuted instantiation: vvc_parser.c:ff_vlc_init_tables Unexecuted instantiation: aac_ac3_parser.c:ff_vlc_init_tables Unexecuted instantiation: av1_parser.c:ff_vlc_init_tables Unexecuted instantiation: avs2_parser.c:ff_vlc_init_tables Unexecuted instantiation: avs3_parser.c:ff_vlc_init_tables Unexecuted instantiation: cavs_parser.c:ff_vlc_init_tables Unexecuted instantiation: dca_parser.c:ff_vlc_init_tables Unexecuted instantiation: dolby_e_parser.c:ff_vlc_init_tables Unexecuted instantiation: evc_parser.c:ff_vlc_init_tables Unexecuted instantiation: ffv1_parser.c:ff_vlc_init_tables Unexecuted instantiation: flac_parser.c:ff_vlc_init_tables Unexecuted instantiation: ftr_parser.c:ff_vlc_init_tables Unexecuted instantiation: h264_parser.c:ff_vlc_init_tables Unexecuted instantiation: h264_sei.c:ff_vlc_init_tables Unexecuted instantiation: h264idct.c:ff_vlc_init_tables Unexecuted instantiation: parser.c:ff_vlc_init_tables Unexecuted instantiation: sei.c:ff_vlc_init_tables Unexecuted instantiation: jpegxl_parser.c:ff_vlc_init_tables Unexecuted instantiation: jpegxs_parser.c:ff_vlc_init_tables Unexecuted instantiation: lcevc_parser.c:ff_vlc_init_tables Unexecuted instantiation: mlp_parser.c:ff_vlc_init_tables Unexecuted instantiation: mpeg4video_parser.c:ff_vlc_init_tables Unexecuted instantiation: mpegaudiodecheader.c:ff_vlc_init_tables Unexecuted instantiation: tak.c:ff_vlc_init_tables Unexecuted instantiation: vc1.c:ff_vlc_init_tables Unexecuted instantiation: vc1data.c:ff_vlc_init_tables Unexecuted instantiation: dca.c:ff_vlc_init_tables Unexecuted instantiation: dca_exss.c:ff_vlc_init_tables Unexecuted instantiation: dolby_e_parse.c:ff_vlc_init_tables Unexecuted instantiation: ffv1.c:ff_vlc_init_tables Unexecuted instantiation: ffv1_parse.c:ff_vlc_init_tables Unexecuted instantiation: flac.c:ff_vlc_init_tables Unexecuted instantiation: h2645_sei.c:ff_vlc_init_tables Unexecuted instantiation: parse.c:ff_vlc_init_tables Unexecuted instantiation: jpegxl_parse.c:ff_vlc_init_tables Unexecuted instantiation: aom_film_grain.c:ff_vlc_init_tables Unexecuted instantiation: dynamic_hdr_vivid.c:ff_vlc_init_tables Unexecuted instantiation: hdr_dynamic_metadata.c:ff_vlc_init_tables Unexecuted instantiation: av1dec.c:ff_vlc_init_tables Unexecuted instantiation: bit.c:ff_vlc_init_tables Unexecuted instantiation: dtsdec.c:ff_vlc_init_tables Unexecuted instantiation: dtshddec.c:ff_vlc_init_tables Unexecuted instantiation: h264dec.c:ff_vlc_init_tables Unexecuted instantiation: hls_sample_encryption.c:ff_vlc_init_tables Unexecuted instantiation: isom.c:ff_vlc_init_tables Unexecuted instantiation: matroskadec.c:ff_vlc_init_tables Unexecuted instantiation: mlpdec.c:ff_vlc_init_tables Unexecuted instantiation: mov.c:ff_vlc_init_tables Unexecuted instantiation: mpc8.c:ff_vlc_init_tables Unexecuted instantiation: mpegts.c:ff_vlc_init_tables Unexecuted instantiation: oggparsetheora.c:ff_vlc_init_tables Unexecuted instantiation: shortendec.c:ff_vlc_init_tables Unexecuted instantiation: swfdec.c:ff_vlc_init_tables Unexecuted instantiation: takdec.c:ff_vlc_init_tables Unexecuted instantiation: iamf_parse.c:ff_vlc_init_tables Unexecuted instantiation: dirac.c:ff_vlc_init_tables Unexecuted instantiation: atrac9dec.c:ff_vlc_init_tables Unexecuted instantiation: enc.c:ff_vlc_init_tables Unexecuted instantiation: enc_psy.c:ff_vlc_init_tables Unexecuted instantiation: pvq.c:ff_vlc_init_tables Unexecuted instantiation: rc.c:ff_vlc_init_tables Unexecuted instantiation: celt.c:ff_vlc_init_tables Unexecuted instantiation: gsmdec.c:ff_vlc_init_tables Unexecuted instantiation: msgsmdec.c:ff_vlc_init_tables Unexecuted instantiation: sheervideo.c:ff_vlc_init_tables Unexecuted instantiation: imc.c:ff_vlc_init_tables Unexecuted instantiation: adpcm.c:ff_vlc_init_tables Unexecuted instantiation: wmaenc.c:ff_vlc_init_tables Unexecuted instantiation: wma.c:ff_vlc_init_tables Unexecuted instantiation: cfhd.c:ff_vlc_init_tables Unexecuted instantiation: cfhddata.c:ff_vlc_init_tables Unexecuted instantiation: wavarc.c:ff_vlc_init_tables Unexecuted instantiation: escape130.c:ff_vlc_init_tables Unexecuted instantiation: utvideodec.c:ff_vlc_init_tables Unexecuted instantiation: asvdec.c:ff_vlc_init_tables Unexecuted instantiation: diracdec.c:ff_vlc_init_tables Unexecuted instantiation: dirac_arith.c:ff_vlc_init_tables Unexecuted instantiation: wmadec.c:ff_vlc_init_tables Unexecuted instantiation: aacenc.c:ff_vlc_init_tables Unexecuted instantiation: imm4.c:ff_vlc_init_tables Unexecuted instantiation: exr.c:ff_vlc_init_tables Unexecuted instantiation: aacdec.c:ff_vlc_init_tables Unexecuted instantiation: aacdec_fixed.c:ff_vlc_init_tables Unexecuted instantiation: aacdec_float.c:ff_vlc_init_tables Unexecuted instantiation: aacdec_tab.c:ff_vlc_init_tables Unexecuted instantiation: aacdec_usac.c:ff_vlc_init_tables Unexecuted instantiation: aacdec_usac_mps212.c:ff_vlc_init_tables Unexecuted instantiation: aacps_common.c:ff_vlc_init_tables Unexecuted instantiation: aacsbr.c:ff_vlc_init_tables Unexecuted instantiation: aacsbr_fixed.c:ff_vlc_init_tables Unexecuted instantiation: aacdec_ac.c:ff_vlc_init_tables Unexecuted instantiation: aacdec_lpd.c:ff_vlc_init_tables Unexecuted instantiation: aacps_fixed.c:ff_vlc_init_tables Unexecuted instantiation: aacps_float.c:ff_vlc_init_tables Unexecuted instantiation: mjpegdec.c:ff_vlc_init_tables Unexecuted instantiation: mjpegdec_common.c:ff_vlc_init_tables Unexecuted instantiation: jpeglsdec.c:ff_vlc_init_tables Unexecuted instantiation: jvdec.c:ff_vlc_init_tables Unexecuted instantiation: rdt.c:ff_vlc_init_tables Unexecuted instantiation: rtpdec_h261.c:ff_vlc_init_tables Unexecuted instantiation: rtpdec_h263_rfc2190.c:ff_vlc_init_tables Unexecuted instantiation: rtpdec_latm.c:ff_vlc_init_tables Unexecuted instantiation: rtpdec_mpeg4.c:ff_vlc_init_tables Unexecuted instantiation: rtpdec_qt.c:ff_vlc_init_tables h264_cavlc.c:ff_vlc_init_tables Line | Count | Source | 259 | 72 | { | 260 | 72 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 261 | 72 | bits, bits_wrap, bits_size, | 262 | 72 | codes, codes_wrap, codes_size, | 263 | | NULL, 0, 0, flags); | 264 | 72 | } |
Unexecuted instantiation: h264_direct.c:ff_vlc_init_tables Unexecuted instantiation: h264_mb.c:ff_vlc_init_tables Unexecuted instantiation: h264_picture.c:ff_vlc_init_tables Unexecuted instantiation: h264_refs.c:ff_vlc_init_tables Unexecuted instantiation: h264_slice.c:ff_vlc_init_tables Unexecuted instantiation: h264_cabac.c:ff_vlc_init_tables Unexecuted instantiation: h264_loopfilter.c:ff_vlc_init_tables Unexecuted instantiation: alsdec.c:ff_vlc_init_tables Unexecuted instantiation: bgmc.c:ff_vlc_init_tables Unexecuted instantiation: mlz.c:ff_vlc_init_tables Unexecuted instantiation: vmixdec.c:ff_vlc_init_tables Unexecuted instantiation: bonk.c:ff_vlc_init_tables Unexecuted instantiation: mxpegdec.c:ff_vlc_init_tables Unexecuted instantiation: rv30.c:ff_vlc_init_tables Unexecuted instantiation: rv34.c:ff_vlc_init_tables Unexecuted instantiation: indeo3.c:ff_vlc_init_tables Unexecuted instantiation: eamad.c:ff_vlc_init_tables Unexecuted instantiation: mpeg12.c:ff_vlc_init_tables Unexecuted instantiation: g726.c:ff_vlc_init_tables vc1dec.c:ff_vlc_init_tables Line | Count | Source | 259 | 385 | { | 260 | 385 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 261 | 385 | bits, bits_wrap, bits_size, | 262 | 385 | codes, codes_wrap, codes_size, | 263 | | NULL, 0, 0, flags); | 264 | 385 | } |
Unexecuted instantiation: vc1_block.c:ff_vlc_init_tables Unexecuted instantiation: vc1_loopfilter.c:ff_vlc_init_tables Unexecuted instantiation: vc1_mc.c:ff_vlc_init_tables Unexecuted instantiation: vc1_pred.c:ff_vlc_init_tables Unexecuted instantiation: mpegaudiodec_float.c:ff_vlc_init_tables Unexecuted instantiation: mpegaudiodata.c:ff_vlc_init_tables Unexecuted instantiation: mpegaudiodec_common.c:ff_vlc_init_tables Unexecuted instantiation: wmv2enc.c:ff_vlc_init_tables Unexecuted instantiation: huffyuvdec.c:ff_vlc_init_tables Unexecuted instantiation: speexdec.c:ff_vlc_init_tables Unexecuted instantiation: atrac3plusdec.c:ff_vlc_init_tables Unexecuted instantiation: atrac3plusdsp.c:ff_vlc_init_tables Unexecuted instantiation: atrac3plus.c:ff_vlc_init_tables Unexecuted instantiation: mss4.c:ff_vlc_init_tables Unexecuted instantiation: tiff.c:ff_vlc_init_tables faxcompr.c:ff_vlc_init_tables Line | Count | Source | 259 | 1 | { | 260 | 1 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 261 | 1 | bits, bits_wrap, bits_size, | 262 | 1 | codes, codes_wrap, codes_size, | 263 | | NULL, 0, 0, flags); | 264 | 1 | } |
Unexecuted instantiation: ac3dec_float.c:ff_vlc_init_tables Unexecuted instantiation: on2avc.c:ff_vlc_init_tables Unexecuted instantiation: smacker.c:ff_vlc_init_tables Unexecuted instantiation: dvbsubdec.c:ff_vlc_init_tables Unexecuted instantiation: mss1.c:ff_vlc_init_tables Unexecuted instantiation: mss12.c:ff_vlc_init_tables Unexecuted instantiation: mss2.c:ff_vlc_init_tables Unexecuted instantiation: mdec.c:ff_vlc_init_tables Unexecuted instantiation: osq.c:ff_vlc_init_tables Unexecuted instantiation: vp6.c:ff_vlc_init_tables Unexecuted instantiation: huffman.c:ff_vlc_init_tables Unexecuted instantiation: vp56.c:ff_vlc_init_tables Unexecuted instantiation: vp56data.c:ff_vlc_init_tables Unexecuted instantiation: loco.c:ff_vlc_init_tables Unexecuted instantiation: magicyuv.c:ff_vlc_init_tables Unexecuted instantiation: vp5.c:ff_vlc_init_tables Unexecuted instantiation: ra144dec.c:ff_vlc_init_tables Unexecuted instantiation: indeo5.c:ff_vlc_init_tables Unexecuted instantiation: ivi.c:ff_vlc_init_tables Unexecuted instantiation: ivi_dsp.c:ff_vlc_init_tables Unexecuted instantiation: apac.c:ff_vlc_init_tables Unexecuted instantiation: clearvideo.c:ff_vlc_init_tables Unexecuted instantiation: dxtory.c:ff_vlc_init_tables Unexecuted instantiation: prores_raw.c:ff_vlc_init_tables Unexecuted instantiation: mpegaudiodec_fixed.c:ff_vlc_init_tables Unexecuted instantiation: ralf.c:ff_vlc_init_tables Unexecuted instantiation: pixlet.c:ff_vlc_init_tables Unexecuted instantiation: mpegaudioenc.c:ff_vlc_init_tables Unexecuted instantiation: wnv1.c:ff_vlc_init_tables Unexecuted instantiation: qoadec.c:ff_vlc_init_tables Unexecuted instantiation: vima.c:ff_vlc_init_tables Unexecuted instantiation: leaddec.c:ff_vlc_init_tables Unexecuted instantiation: eatqi.c:ff_vlc_init_tables Unexecuted instantiation: lagarith.c:ff_vlc_init_tables Unexecuted instantiation: lagarithrac.c:ff_vlc_init_tables Unexecuted instantiation: dss_sp.c:ff_vlc_init_tables Unexecuted instantiation: siren.c:ff_vlc_init_tables Unexecuted instantiation: cavsdec.c:ff_vlc_init_tables Unexecuted instantiation: cavs.c:ff_vlc_init_tables Unexecuted instantiation: cavsdata.c:ff_vlc_init_tables Unexecuted instantiation: hcom.c:ff_vlc_init_tables Line | Count | Source | 259 | 6 | { | 260 | 6 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 261 | 6 | bits, bits_wrap, bits_size, | 262 | 6 | codes, codes_wrap, codes_size, | 263 | | NULL, 0, 0, flags); | 264 | 6 | } |
Unexecuted instantiation: webp.c:ff_vlc_init_tables Unexecuted instantiation: eatgv.c:ff_vlc_init_tables Unexecuted instantiation: eatgq.c:ff_vlc_init_tables Unexecuted instantiation: sga.c:ff_vlc_init_tables Unexecuted instantiation: binkaudio.c:ff_vlc_init_tables Unexecuted instantiation: mpeg12dec.c:ff_vlc_init_tables Unexecuted instantiation: indeo2.c:ff_vlc_init_tables Unexecuted instantiation: 4xm.c:ff_vlc_init_tables Unexecuted instantiation: wmalosslessdec.c:ff_vlc_init_tables Unexecuted instantiation: ilbcdec.c:ff_vlc_init_tables Unexecuted instantiation: hevcdec.c:ff_vlc_init_tables Unexecuted instantiation: mvs.c:ff_vlc_init_tables Unexecuted instantiation: pred.c:ff_vlc_init_tables Unexecuted instantiation: refs.c:ff_vlc_init_tables Unexecuted instantiation: cabac.c:ff_vlc_init_tables Unexecuted instantiation: dsp.c:ff_vlc_init_tables Unexecuted instantiation: filter.c:ff_vlc_init_tables Unexecuted instantiation: tscc2.c:ff_vlc_init_tables Line | Count | Source | 259 | 2 | { | 260 | 2 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 261 | 2 | bits, bits_wrap, bits_size, | 262 | 2 | codes, codes_wrap, codes_size, | 263 | | NULL, 0, 0, flags); | 264 | 2 | } |
Unexecuted instantiation: hq_common.c:ff_vlc_init_tables Unexecuted instantiation: mobiclip.c:ff_vlc_init_tables Unexecuted instantiation: wmaprodec.c:ff_vlc_init_tables Unexecuted instantiation: g729dec.c:ff_vlc_init_tables Unexecuted instantiation: huffyuvenc.c:ff_vlc_init_tables Unexecuted instantiation: utvideoenc.c:ff_vlc_init_tables Unexecuted instantiation: sipr.c:ff_vlc_init_tables Unexecuted instantiation: g722dec.c:ff_vlc_init_tables Unexecuted instantiation: nellymoserdec.c:ff_vlc_init_tables Unexecuted instantiation: dcaenc.c:ff_vlc_init_tables Unexecuted instantiation: dcahuff.c:ff_vlc_init_tables Unexecuted instantiation: dcaadpcm.c:ff_vlc_init_tables Unexecuted instantiation: dcadata.c:ff_vlc_init_tables Unexecuted instantiation: interplayvideo.c:ff_vlc_init_tables Unexecuted instantiation: dec.c:ff_vlc_init_tables Unexecuted instantiation: dec_celt.c:ff_vlc_init_tables Unexecuted instantiation: silk.c:ff_vlc_init_tables Unexecuted instantiation: mjpegbdec.c:ff_vlc_init_tables Unexecuted instantiation: bink.c:ff_vlc_init_tables Unexecuted instantiation: dvdsubdec.c:ff_vlc_init_tables Unexecuted instantiation: rtjpeg.c:ff_vlc_init_tables Unexecuted instantiation: truespeech.c:ff_vlc_init_tables Unexecuted instantiation: metasound.c:ff_vlc_init_tables Unexecuted instantiation: svq1enc.c:ff_vlc_init_tables Unexecuted instantiation: escape124.c:ff_vlc_init_tables Unexecuted instantiation: cllc.c:ff_vlc_init_tables Unexecuted instantiation: dvdec.c:ff_vlc_init_tables Unexecuted instantiation: tta.c:ff_vlc_init_tables Unexecuted instantiation: photocd.c:ff_vlc_init_tables Unexecuted instantiation: fraps.c:ff_vlc_init_tables Unexecuted instantiation: motionpixels.c:ff_vlc_init_tables Unexecuted instantiation: vp9.c:ff_vlc_init_tables Unexecuted instantiation: vp9block.c:ff_vlc_init_tables Unexecuted instantiation: vp9data.c:ff_vlc_init_tables Unexecuted instantiation: vp9lpf.c:ff_vlc_init_tables Unexecuted instantiation: vp9mvs.c:ff_vlc_init_tables Unexecuted instantiation: vp9prob.c:ff_vlc_init_tables Unexecuted instantiation: vp9recon.c:ff_vlc_init_tables Unexecuted instantiation: ffv1dec.c:ff_vlc_init_tables Unexecuted instantiation: intra_utils.c:ff_vlc_init_tables Unexecuted instantiation: thread.c:ff_vlc_init_tables Unexecuted instantiation: ctu.c:ff_vlc_init_tables Unexecuted instantiation: inter.c:ff_vlc_init_tables Unexecuted instantiation: intra.c:ff_vlc_init_tables Unexecuted instantiation: wmavoice.c:ff_vlc_init_tables Unexecuted instantiation: rawdec.c:ff_vlc_init_tables svq1dec.c:ff_vlc_init_tables Line | Count | Source | 259 | 12 | { | 260 | 12 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 261 | 12 | bits, bits_wrap, bits_size, | 262 | 12 | codes, codes_wrap, codes_size, | 263 | | NULL, 0, 0, flags); | 264 | 12 | } |
Unexecuted instantiation: mpc7.c:ff_vlc_init_tables Unexecuted instantiation: truemotion2rt.c:ff_vlc_init_tables Unexecuted instantiation: adxdec.c:ff_vlc_init_tables Unexecuted instantiation: rv40.c:ff_vlc_init_tables Unexecuted instantiation: xsubdec.c:ff_vlc_init_tables Unexecuted instantiation: notchlc.c:ff_vlc_init_tables Unexecuted instantiation: aic.c:ff_vlc_init_tables Unexecuted instantiation: vqcdec.c:ff_vlc_init_tables Unexecuted instantiation: dolby_e.c:ff_vlc_init_tables Unexecuted instantiation: proresdec.c:ff_vlc_init_tables Unexecuted instantiation: evrcdec.c:ff_vlc_init_tables Unexecuted instantiation: dnxhddec.c:ff_vlc_init_tables Unexecuted instantiation: dcadec.c:ff_vlc_init_tables Unexecuted instantiation: dca_core.c:ff_vlc_init_tables Unexecuted instantiation: dca_lbr.c:ff_vlc_init_tables Unexecuted instantiation: dca_xll.c:ff_vlc_init_tables Unexecuted instantiation: mlpenc.c:ff_vlc_init_tables Unexecuted instantiation: atrac3.c:ff_vlc_init_tables Unexecuted instantiation: vorbisdec.c:ff_vlc_init_tables Unexecuted instantiation: flashsv.c:ff_vlc_init_tables Unexecuted instantiation: wavpack.c:ff_vlc_init_tables Unexecuted instantiation: speedhqdec.c:ff_vlc_init_tables Unexecuted instantiation: g723_1dec.c:ff_vlc_init_tables Unexecuted instantiation: g2meet.c:ff_vlc_init_tables Unexecuted instantiation: shorten.c:ff_vlc_init_tables Unexecuted instantiation: indeo4.c:ff_vlc_init_tables Unexecuted instantiation: sp5xdec.c:ff_vlc_init_tables Unexecuted instantiation: mvha.c:ff_vlc_init_tables Unexecuted instantiation: atrac1.c:ff_vlc_init_tables Unexecuted instantiation: apv_decode.c:ff_vlc_init_tables Unexecuted instantiation: apv_entropy.c:ff_vlc_init_tables Unexecuted instantiation: avs.c:ff_vlc_init_tables rv60dec.c:ff_vlc_init_tables Line | Count | Source | 259 | 196 | { | 260 | 196 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 261 | 196 | bits, bits_wrap, bits_size, | 262 | 196 | codes, codes_wrap, codes_size, | 263 | | NULL, 0, 0, flags); | 264 | 196 | } |
Unexecuted instantiation: alac.c:ff_vlc_init_tables Unexecuted instantiation: tiertexseqv.c:ff_vlc_init_tables Unexecuted instantiation: ffv1enc.c:ff_vlc_init_tables Unexecuted instantiation: hcadec.c:ff_vlc_init_tables Unexecuted instantiation: pcx.c:ff_vlc_init_tables Unexecuted instantiation: qcelpdec.c:ff_vlc_init_tables Unexecuted instantiation: flacdec.c:ff_vlc_init_tables Unexecuted instantiation: ac3dec_fixed.c:ff_vlc_init_tables Unexecuted instantiation: midivid.c:ff_vlc_init_tables Unexecuted instantiation: snowenc.c:ff_vlc_init_tables Unexecuted instantiation: mimic.c:ff_vlc_init_tables Unexecuted instantiation: fic.c:ff_vlc_init_tables Unexecuted instantiation: qdmc.c:ff_vlc_init_tables Unexecuted instantiation: ra288.c:ff_vlc_init_tables Unexecuted instantiation: interplayacm.c:ff_vlc_init_tables Unexecuted instantiation: ylc.c:ff_vlc_init_tables Unexecuted instantiation: ftr.c:ff_vlc_init_tables Unexecuted instantiation: agm.c:ff_vlc_init_tables Unexecuted instantiation: xan.c:ff_vlc_init_tables Unexecuted instantiation: svq3.c:ff_vlc_init_tables Unexecuted instantiation: cri.c:ff_vlc_init_tables Unexecuted instantiation: qdm2.c:ff_vlc_init_tables Unexecuted instantiation: cljrdec.c:ff_vlc_init_tables Unexecuted instantiation: g728dec.c:ff_vlc_init_tables Unexecuted instantiation: cook.c:ff_vlc_init_tables Unexecuted instantiation: twinvqdec.c:ff_vlc_init_tables Unexecuted instantiation: hq_hqa.c:ff_vlc_init_tables Unexecuted instantiation: cdxl.c:ff_vlc_init_tables Unexecuted instantiation: vble.c:ff_vlc_init_tables Unexecuted instantiation: mv30.c:ff_vlc_init_tables Unexecuted instantiation: apedec.c:ff_vlc_init_tables Unexecuted instantiation: h261dec.c:ff_vlc_init_tables Unexecuted instantiation: dstdec.c:ff_vlc_init_tables Unexecuted instantiation: jpeglsenc.c:ff_vlc_init_tables Unexecuted instantiation: truemotion2.c:ff_vlc_init_tables |
265 | | |
266 | | #define VLC_INIT_STATIC_SPARSE_TABLE(vlc_table, nb_bits, nb_codes, \ |
267 | | bits, bits_wrap, bits_size, \ |
268 | | codes, codes_wrap, codes_size, \ |
269 | | symbols, symbols_wrap, symbols_size, \ |
270 | | flags) \ |
271 | 31 | ff_vlc_init_table_sparse(vlc_table, FF_ARRAY_ELEMS(vlc_table), \ |
272 | 31 | (nb_bits), (nb_codes), \ |
273 | 31 | (bits), (bits_wrap), (bits_size), \ |
274 | 31 | (codes), (codes_wrap), (codes_size), \ |
275 | 31 | (symbols), (symbols_wrap), (symbols_size), \ |
276 | 31 | (flags)) |
277 | | |
278 | | #define VLC_INIT_STATIC_TABLE(vlc_table, nb_bits, nb_codes, \ |
279 | | bits, bits_wrap, bits_size, \ |
280 | | codes, codes_wrap, codes_size, \ |
281 | | flags) \ |
282 | 174 | ff_vlc_init_table_sparse(vlc_table, FF_ARRAY_ELEMS(vlc_table), \ |
283 | 174 | (nb_bits), (nb_codes), \ |
284 | 174 | (bits), (bits_wrap), (bits_size), \ |
285 | 174 | (codes), (codes_wrap), (codes_size), \ |
286 | 174 | NULL, 0, 0, (flags)) |
287 | | |
288 | | #define VLC_INIT_STATIC_TABLE_FROM_LENGTHS(vlc_table, nb_bits, nb_codes, \ |
289 | | lens, lens_wrap, \ |
290 | | syms, syms_wrap, syms_size, \ |
291 | | offset, flags) \ |
292 | 46 | ff_vlc_init_table_from_lengths(vlc_table, FF_ARRAY_ELEMS(vlc_table), \ |
293 | 46 | (nb_bits), (nb_codes), \ |
294 | 46 | (lens), (lens_wrap), \ |
295 | 46 | (syms), (syms_wrap), (syms_size), \ |
296 | 46 | (offset), (flags)) |
297 | | |
298 | | #endif /* AVCODEC_VLC_H */ |