/src/ffmpeg/libavcodec/vlc.h
Line | Count | Source (jump to first uncovered line) |
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 | 0 | #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 | | VLCBaseType sym, len; |
34 | | } VLCElem; |
35 | | |
36 | | typedef struct VLC { |
37 | | int bits; |
38 | | VLCElem *table; |
39 | | int table_size, table_allocated; |
40 | | } VLC; |
41 | | |
42 | | typedef struct VLC_MULTI_ELEM { |
43 | | union { |
44 | | uint8_t val8[VLC_MULTI_MAX_SYMBOLS]; |
45 | | uint16_t val16[VLC_MULTI_MAX_SYMBOLS / 2]; |
46 | | }; |
47 | | int8_t len; // -31,32 |
48 | | uint8_t num; |
49 | | } VLC_MULTI_ELEM; |
50 | | |
51 | | typedef struct VLC_MULTI { |
52 | | VLC_MULTI_ELEM *table; |
53 | | int table_size, table_allocated; |
54 | | } VLC_MULTI; |
55 | | |
56 | | typedef struct RL_VLC_ELEM { |
57 | | int16_t level; |
58 | | int8_t len; |
59 | | uint8_t run; |
60 | | } RL_VLC_ELEM; |
61 | | |
62 | | #define vlc_init(vlc, nb_bits, nb_codes, \ |
63 | | bits, bits_wrap, bits_size, \ |
64 | | codes, codes_wrap, codes_size, \ |
65 | | flags) \ |
66 | 46.1k | ff_vlc_init_sparse(vlc, nb_bits, nb_codes, \ |
67 | 46.1k | bits, bits_wrap, bits_size, \ |
68 | 46.1k | codes, codes_wrap, codes_size, \ |
69 | 46.1k | NULL, 0, 0, flags) |
70 | | |
71 | | /** |
72 | | * Build VLC decoding tables suitable for use with get_vlc2(). |
73 | | * |
74 | | * @param[in,out] vlc The VLC to be initialized; table and table_allocated |
75 | | * must have been set when initializing a static VLC, |
76 | | * otherwise this will be treated as uninitialized. |
77 | | * @param[in] nb_bits The number of bits to use for the VLC table; |
78 | | * higher values take up more memory and cache, but |
79 | | * allow to read codes with fewer reads. |
80 | | * Corresponds to the `bits` parameter of get_vlc2(). |
81 | | * @param[in] nb_codes The number of provided bits, codes and (if supplied) |
82 | | * symbol entries. |
83 | | * @param[in] bits The lengths (in bits) of the codes. Entries > 0 |
84 | | * correspond to valid codes; entries == 0 will be skipped. |
85 | | * @param[in] bits_wrap Stride (in bytes) of the bits table. |
86 | | * @param[in] codes_size Size of the bits. 1, 2 and 4 are supported. |
87 | | * @param[in] codes Table which gives the bit pattern of of each vlc code. |
88 | | * @param[in] codes_wrap Stride (in bytes) of the codes table. |
89 | | * @param[in] codes_size Size of the codes. 1, 2 and 4 are supported. |
90 | | * @param[in] symbols The symbols, i.e. what is returned from get_vlc2() |
91 | | * when the corresponding code is encountered. |
92 | | * May be NULL, then 0, 1, 2, 3, 4,... will be used. |
93 | | * @param[in] symbols_wrap Stride (in bytes) of the symbols table. |
94 | | * @param[in] symbols_size Size of the symbols. 1 and 2 are supported. |
95 | | * @param[in] flags A combination of the VLC_INIT_* flags. |
96 | | * |
97 | | * 'wrap' and 'size' make it possible to use any memory configuration and types |
98 | | * (byte/word/int) to store the 'bits', 'codes', and 'symbols' tables. |
99 | | */ |
100 | | int ff_vlc_init_sparse(VLC *vlc, int nb_bits, int nb_codes, |
101 | | const void *bits, int bits_wrap, int bits_size, |
102 | | const void *codes, int codes_wrap, int codes_size, |
103 | | const void *symbols, int symbols_wrap, int symbols_size, |
104 | | int flags); |
105 | | |
106 | | /** |
107 | | * Build VLC decoding tables suitable for use with get_vlc2() |
108 | | * |
109 | | * This function takes lengths and symbols and calculates the codes from them. |
110 | | * For this the input lengths and symbols have to be sorted according to "left |
111 | | * nodes in the corresponding tree first". |
112 | | * |
113 | | * @param[in,out] vlc The VLC to be initialized; table and table_allocated |
114 | | * must have been set when initializing a static VLC, |
115 | | * otherwise this will be treated as uninitialized. |
116 | | * @param[in] nb_bits The number of bits to use for the VLC table; |
117 | | * higher values take up more memory and cache, but |
118 | | * allow to read codes with fewer reads. |
119 | | * @param[in] nb_codes The number of provided length and (if supplied) symbol |
120 | | * entries. |
121 | | * @param[in] lens The lengths of the codes. Entries > 0 correspond to |
122 | | * valid codes; entries == 0 will be skipped and entries |
123 | | * with len < 0 indicate that the tree is incomplete and |
124 | | * has an open end of length -len at this position. |
125 | | * @param[in] lens_wrap Stride (in bytes) of the lengths. |
126 | | * @param[in] symbols The symbols, i.e. what is returned from get_vlc2() |
127 | | * when the corresponding code is encountered. |
128 | | * May be NULL, then 0, 1, 2, 3, 4,... will be used. |
129 | | * @param[in] symbols_wrap Stride (in bytes) of the symbols. |
130 | | * @param[in] symbols_size Size of the symbols. 1 and 2 are supported. |
131 | | * @param[in] offset An offset to apply to all the valid symbols. |
132 | | * @param[in] flags A combination of the VLC_INIT_* flags; notice that |
133 | | * VLC_INIT_INPUT_LE is pointless and ignored. |
134 | | */ |
135 | | int ff_vlc_init_from_lengths(VLC *vlc, int nb_bits, int nb_codes, |
136 | | const int8_t *lens, int lens_wrap, |
137 | | const void *symbols, int symbols_wrap, int symbols_size, |
138 | | int offset, int flags, void *logctx); |
139 | | |
140 | | /** |
141 | | * Build VLC decoding tables suitable for use with get_vlc_multi() |
142 | | * |
143 | | * This function takes lengths and symbols and calculates the codes from them. |
144 | | * For this the input lengths and symbols have to be sorted according to "left |
145 | | * nodes in the corresponding tree first". |
146 | | * |
147 | | * @param[in,out] vlc The VLC to be initialized; table and table_allocated |
148 | | * must have been set when initializing a static VLC, |
149 | | * otherwise this will be treated as uninitialized. |
150 | | * @param[in,out] multi The VLC_MULTI to be initialized; table and table_allocated |
151 | | * must have been set when initializing a static VLC, |
152 | | * otherwise this will be treated as uninitialized. |
153 | | * @param[in] nb_bits The number of bits to use for the VLC table; |
154 | | * higher values take up more memory and cache, but |
155 | | * allow to read codes with fewer reads. |
156 | | * @param[in] nb_elems The max possible number of elements. |
157 | | * @param[in] nb_codes The number of provided length and (if supplied) symbol |
158 | | * entries. |
159 | | * @param[in] lens The lengths of the codes. Entries > 0 correspond to |
160 | | * valid codes; entries == 0 will be skipped and entries |
161 | | * with len < 0 indicate that the tree is incomplete and |
162 | | * has an open end of length -len at this position. |
163 | | * @param[in] lens_wrap Stride (in bytes) of the lengths. |
164 | | * @param[in] symbols The symbols, i.e. what is returned from get_vlc2() |
165 | | * when the corresponding code is encountered. |
166 | | * May be NULL, then 0, 1, 2, 3, 4,... will be used. |
167 | | * @param[in] symbols_wrap Stride (in bytes) of the symbols. |
168 | | * @param[in] symbols_size Size of the symbols. 1 and 2 are supported. |
169 | | * @param[in] offset An offset to apply to all the valid symbols. |
170 | | * @param[in] flags A combination of the VLC_INIT_* flags; notice that |
171 | | * VLC_INIT_INPUT_LE is pointless and ignored. |
172 | | */ |
173 | | int ff_vlc_init_multi_from_lengths(VLC *vlc, VLC_MULTI *multi, int nb_bits, int nb_elems, |
174 | | int nb_codes, const int8_t *lens, int lens_wrap, |
175 | | const void *symbols, int symbols_wrap, int symbols_size, |
176 | | int offset, int flags, void *logctx); |
177 | | |
178 | | |
179 | | void ff_vlc_free_multi(VLC_MULTI *vlc); |
180 | | void ff_vlc_free(VLC *vlc); |
181 | | |
182 | 46.4M | #define VLC_INIT_USE_STATIC 1 |
183 | 3.30k | #define VLC_INIT_STATIC_OVERLONG (2 | VLC_INIT_USE_STATIC) |
184 | | /* If VLC_INIT_INPUT_LE is set, the LSB bit of the codes used to |
185 | | * initialize the VLC table is the first bit to be read. */ |
186 | 226M | #define VLC_INIT_INPUT_LE 4 |
187 | | /* If set the VLC is intended for a little endian bitstream reader. */ |
188 | 435M | #define VLC_INIT_OUTPUT_LE 8 |
189 | 29.0k | #define VLC_INIT_LE (VLC_INIT_INPUT_LE | VLC_INIT_OUTPUT_LE) |
190 | | |
191 | | /** |
192 | | * For static VLCs, the number of bits can often be hardcoded |
193 | | * at each get_vlc2() callsite. Then using a full VLC would be uneconomical, |
194 | | * because only VLC.table would ever be accessed after initialization. |
195 | | * The following functions provide wrappers around the relevant ff_vlc_init_* |
196 | | * functions suitable for said task. |
197 | | * |
198 | | * The ff_vlc_init_tables_* functions are intended to be used for initializing |
199 | | * a series of VLCs. The user initializes a VLCInitState with the details |
200 | | * about the underlying array of VLCElem; it is automatically updated by |
201 | | * the ff_vlc_init_tables_* functions (i.e. table is incremented and size |
202 | | * decremented by the number of elements of the current table). |
203 | | * The VLC_INIT_STATIC_OVERLONG flag is also automatically added. |
204 | | * These functions return a pointer to the table just initialized, |
205 | | * potentially to be used in arrays of pointer to VLC tables. |
206 | | * |
207 | | * The ff_vlc_init_table_* functions are intended to be used for initializing |
208 | | * a single VLC table, given by table and table_size. The VLC_INIT_USE_STATIC |
209 | | * flag is automatically added. |
210 | | */ |
211 | | |
212 | | typedef struct VLCInitState { |
213 | | VLCElem *table; ///< points to where the next VLC table will be placed |
214 | | unsigned size; ///< remaining number of elements in table |
215 | | } VLCInitState; |
216 | | |
217 | 44 | #define VLC_INIT_STATE(_table) { .table = (_table), .size = FF_ARRAY_ELEMS(_table) } |
218 | | |
219 | | void ff_vlc_init_table_from_lengths(VLCElem table[], int table_size, |
220 | | int nb_bits, int nb_codes, |
221 | | const int8_t *lens, int lens_wrap, |
222 | | const void *symbols, int symbols_wrap, int symbols_size, |
223 | | int offset, int flags); |
224 | | |
225 | | const VLCElem *ff_vlc_init_tables_from_lengths(VLCInitState *state, |
226 | | int nb_bits, int nb_codes, |
227 | | const int8_t *lens, int lens_wrap, |
228 | | const void *symbols, int symbols_wrap, int symbols_size, |
229 | | int offset, int flags); |
230 | | |
231 | | void ff_vlc_init_table_sparse(VLCElem table[], int table_size, |
232 | | int nb_bits, int nb_codes, |
233 | | const void *bits, int bits_wrap, int bits_size, |
234 | | const void *codes, int codes_wrap, int codes_size, |
235 | | const void *symbols, int symbols_wrap, int symbols_size, |
236 | | int flags); |
237 | | |
238 | | const VLCElem *ff_vlc_init_tables_sparse(VLCInitState *state, |
239 | | int nb_bits, int nb_codes, |
240 | | const void *bits, int bits_wrap, int bits_size, |
241 | | const void *codes, int codes_wrap, int codes_size, |
242 | | const void *symbols, int symbols_wrap, int symbols_size, |
243 | | int flags); |
244 | | |
245 | | static inline |
246 | | const VLCElem *ff_vlc_init_tables(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 | | int flags) |
251 | 451 | { |
252 | 451 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, |
253 | 451 | bits, bits_wrap, bits_size, |
254 | 451 | codes, codes_wrap, codes_size, |
255 | 451 | NULL, 0, 0, flags); |
256 | 451 | } Unexecuted instantiation: atrac3.c:ff_vlc_init_tables Unexecuted instantiation: mjpegdec.c:ff_vlc_init_tables Unexecuted instantiation: mjpegdec_common.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: vlc.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: ac3_parser.c:ff_vlc_init_tables Unexecuted instantiation: adts_header.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: aac_adtstoasc.c:ff_vlc_init_tables Unexecuted instantiation: dovi_rpu.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: 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: cavs_parser.c:ff_vlc_init_tables Unexecuted instantiation: cbs.c:ff_vlc_init_tables Unexecuted instantiation: cbs_av1.c:ff_vlc_init_tables Unexecuted instantiation: cbs_h2645.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: dca_parser.c:ff_vlc_init_tables Unexecuted instantiation: dolby_e_parser.c:ff_vlc_init_tables Unexecuted instantiation: dovi_rpudec.c:ff_vlc_init_tables Unexecuted instantiation: dvd_nav_parser.c:ff_vlc_init_tables Unexecuted instantiation: evc_parse.c:ff_vlc_init_tables Unexecuted instantiation: evc_parser.c:ff_vlc_init_tables Unexecuted instantiation: evc_ps.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: h2645_parse.c:ff_vlc_init_tables Unexecuted instantiation: h264_parse.c:ff_vlc_init_tables Unexecuted instantiation: h264_parser.c:ff_vlc_init_tables Unexecuted instantiation: h264_ps.c:ff_vlc_init_tables Unexecuted instantiation: h264_sei.c:ff_vlc_init_tables Unexecuted instantiation: h264data.c:ff_vlc_init_tables Unexecuted instantiation: h264idct.c:ff_vlc_init_tables Unexecuted instantiation: h265_profile_level.c:ff_vlc_init_tables Unexecuted instantiation: parser.c:ff_vlc_init_tables Unexecuted instantiation: ps.c:ff_vlc_init_tables Unexecuted instantiation: sei.c:ff_vlc_init_tables Unexecuted instantiation: jpeglsdec.c:ff_vlc_init_tables Unexecuted instantiation: jpegxl_parser.c:ff_vlc_init_tables Unexecuted instantiation: mlp_parse.c:ff_vlc_init_tables Unexecuted instantiation: mlp_parser.c:ff_vlc_init_tables Unexecuted instantiation: mpeg4audio.c:ff_vlc_init_tables Unexecuted instantiation: mpeg4video_parser.c:ff_vlc_init_tables Unexecuted instantiation: mpeg4videodec.c:ff_vlc_init_tables Unexecuted instantiation: mpegaudiodecheader.c:ff_vlc_init_tables Unexecuted instantiation: mpegvideo.c:ff_vlc_init_tables Unexecuted instantiation: mpegvideo_dec.c:ff_vlc_init_tables Unexecuted instantiation: mpegvideo_motion.c:ff_vlc_init_tables Unexecuted instantiation: rl.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: wmv2.c:ff_vlc_init_tables Unexecuted instantiation: wmv2dec.c:ff_vlc_init_tables Unexecuted instantiation: aac_ac3_parser.c:ff_vlc_init_tables Unexecuted instantiation: av1_parse.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: error_resilience.c:ff_vlc_init_tables Unexecuted instantiation: flac.c:ff_vlc_init_tables Unexecuted instantiation: h261.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_sei.c:ff_vlc_init_tables Unexecuted instantiation: h2645_vui.c:ff_vlc_init_tables Unexecuted instantiation: parse.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: jpegxl_parse.c:ff_vlc_init_tables Unexecuted instantiation: me_cmp.c:ff_vlc_init_tables Unexecuted instantiation: mpeg4video.c:ff_vlc_init_tables Unexecuted instantiation: mpeg_er.c:ff_vlc_init_tables Unexecuted instantiation: msmpeg4.c:ff_vlc_init_tables msmpeg4_vc1_data.c:ff_vlc_init_tables Line | Count | Source | 251 | 24 | { | 252 | 24 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 253 | 24 | bits, bits_wrap, bits_size, | 254 | 24 | codes, codes_wrap, codes_size, | 255 | 24 | NULL, 0, 0, flags); | 256 | 24 | } |
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: me_cmp_init.c:ff_vlc_init_tables Unexecuted instantiation: aom_film_grain.c:ff_vlc_init_tables Unexecuted instantiation: atsc_a53.c:ff_vlc_init_tables Unexecuted instantiation: dynamic_hdr_vivid.c:ff_vlc_init_tables Unexecuted instantiation: flvdec.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: jpeglsenc.c:ff_vlc_init_tables Line | Count | Source | 251 | 6 | { | 252 | 6 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 253 | 6 | bits, bits_wrap, bits_size, | 254 | 6 | codes, codes_wrap, codes_size, | 255 | 6 | NULL, 0, 0, flags); | 256 | 6 | } |
Unexecuted instantiation: wmaprodec.c:ff_vlc_init_tables Unexecuted instantiation: wma.c:ff_vlc_init_tables Unexecuted instantiation: twinvqdec.c:ff_vlc_init_tables Unexecuted instantiation: mimic.c:ff_vlc_init_tables Unexecuted instantiation: adpcm.c:ff_vlc_init_tables Unexecuted instantiation: cfhdenc.c:ff_vlc_init_tables Unexecuted instantiation: g2meet.c:ff_vlc_init_tables Unexecuted instantiation: imc.c:ff_vlc_init_tables h264_cavlc.c:ff_vlc_init_tables Line | Count | Source | 251 | 36 | { | 252 | 36 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 253 | 36 | bits, bits_wrap, bits_size, | 254 | 36 | codes, codes_wrap, codes_size, | 255 | 36 | NULL, 0, 0, flags); | 256 | 36 | } |
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: leaddec.c:ff_vlc_init_tables Unexecuted instantiation: mss1.c:ff_vlc_init_tables Unexecuted instantiation: mss12.c:ff_vlc_init_tables Unexecuted instantiation: qoadec.c:ff_vlc_init_tables Unexecuted instantiation: vble.c:ff_vlc_init_tables Unexecuted instantiation: sipr.c:ff_vlc_init_tables Unexecuted instantiation: cri.c:ff_vlc_init_tables Unexecuted instantiation: wmalosslessdec.c:ff_vlc_init_tables Unexecuted instantiation: eatgv.c:ff_vlc_init_tables Unexecuted instantiation: jvdec.c:ff_vlc_init_tables Unexecuted instantiation: aic.c:ff_vlc_init_tables Unexecuted instantiation: vp5.c:ff_vlc_init_tables Unexecuted instantiation: vp56.c:ff_vlc_init_tables Unexecuted instantiation: vp56data.c:ff_vlc_init_tables Unexecuted instantiation: vp6.c:ff_vlc_init_tables Unexecuted instantiation: huffman.c:ff_vlc_init_tables Unexecuted instantiation: hqx.c:ff_vlc_init_tables Unexecuted instantiation: hqxvlc.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: huffyuvenc.c:ff_vlc_init_tables Unexecuted instantiation: loco.c:ff_vlc_init_tables Unexecuted instantiation: avs.c:ff_vlc_init_tables Unexecuted instantiation: mpeg12dec.c:ff_vlc_init_tables Unexecuted instantiation: mpeg12.c:ff_vlc_init_tables Unexecuted instantiation: mpeg12data.c:ff_vlc_init_tables Unexecuted instantiation: mpc7.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: wmv2enc.c:ff_vlc_init_tables Unexecuted instantiation: mpegvideo_enc.c:ff_vlc_init_tables Unexecuted instantiation: msmpeg4enc.c:ff_vlc_init_tables Unexecuted instantiation: ratecontrol.c:ff_vlc_init_tables Unexecuted instantiation: rv10enc.c:ff_vlc_init_tables Unexecuted instantiation: rv20enc.c:ff_vlc_init_tables Unexecuted instantiation: speedhqenc.c:ff_vlc_init_tables Unexecuted instantiation: mpegvideoenc.c:ff_vlc_init_tables Unexecuted instantiation: flvenc.c:ff_vlc_init_tables Unexecuted instantiation: h261enc.c:ff_vlc_init_tables Unexecuted instantiation: ituh263enc.c:ff_vlc_init_tables Unexecuted instantiation: mjpegenc.c:ff_vlc_init_tables Unexecuted instantiation: mjpegenc_common.c:ff_vlc_init_tables Unexecuted instantiation: motion_est.c:ff_vlc_init_tables Unexecuted instantiation: mpeg12enc.c:ff_vlc_init_tables Unexecuted instantiation: mpeg4videoenc.c:ff_vlc_init_tables Unexecuted instantiation: h261data.c:ff_vlc_init_tables Unexecuted instantiation: agm.c:ff_vlc_init_tables Unexecuted instantiation: smacker.c:ff_vlc_init_tables Unexecuted instantiation: clearvideo.c:ff_vlc_init_tables Unexecuted instantiation: rv30.c:ff_vlc_init_tables Unexecuted instantiation: rv34.c:ff_vlc_init_tables Unexecuted instantiation: dxtory.c:ff_vlc_init_tables Unexecuted instantiation: mjpegbdec.c:ff_vlc_init_tables Unexecuted instantiation: imm4.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: qdmc.c:ff_vlc_init_tables Unexecuted instantiation: wmavoice.c:ff_vlc_init_tables Unexecuted instantiation: tiertexseqv.c:ff_vlc_init_tables Unexecuted instantiation: huffyuvdec.c:ff_vlc_init_tables Unexecuted instantiation: utvideoenc.c:ff_vlc_init_tables Unexecuted instantiation: fraps.c:ff_vlc_init_tables Unexecuted instantiation: g729dec.c:ff_vlc_init_tables Unexecuted instantiation: mpegaudiodec_fixed.c:ff_vlc_init_tables Unexecuted instantiation: shorten.c:ff_vlc_init_tables Unexecuted instantiation: binkaudio.c:ff_vlc_init_tables Unexecuted instantiation: atrac9dec.c:ff_vlc_init_tables Unexecuted instantiation: dec.c:ff_vlc_init_tables Unexecuted instantiation: dsp.c:ff_vlc_init_tables Unexecuted instantiation: intra_utils.c:ff_vlc_init_tables Unexecuted instantiation: refs.c:ff_vlc_init_tables Unexecuted instantiation: thread.c:ff_vlc_init_tables Unexecuted instantiation: vvcdsp_init.c:ff_vlc_init_tables Unexecuted instantiation: ctu.c:ff_vlc_init_tables Unexecuted instantiation: filter.c:ff_vlc_init_tables Unexecuted instantiation: inter.c:ff_vlc_init_tables Unexecuted instantiation: intra.c:ff_vlc_init_tables Unexecuted instantiation: mvs.c:ff_vlc_init_tables Unexecuted instantiation: cabac.c:ff_vlc_init_tables Unexecuted instantiation: vqcdec.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: cook.c:ff_vlc_init_tables Unexecuted instantiation: rtjpeg.c:ff_vlc_init_tables Unexecuted instantiation: ralf.c:ff_vlc_init_tables vc1dec.c:ff_vlc_init_tables Line | Count | Source | 251 | 385 | { | 252 | 385 | return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes, | 253 | 385 | bits, bits_wrap, bits_size, | 254 | 385 | codes, codes_wrap, codes_size, | 255 | 385 | NULL, 0, 0, flags); | 256 | 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: alsdec.c:ff_vlc_init_tables Unexecuted instantiation: bgmc.c:ff_vlc_init_tables Unexecuted instantiation: mlz.c:ff_vlc_init_tables Unexecuted instantiation: diracdec.c:ff_vlc_init_tables Unexecuted instantiation: dirac_arith.c:ff_vlc_init_tables Unexecuted instantiation: pixlet.c:ff_vlc_init_tables Unexecuted instantiation: indeo3.c:ff_vlc_init_tables Unexecuted instantiation: osq.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_pvq_init.c:ff_vlc_init_tables Unexecuted instantiation: celt.c:ff_vlc_init_tables Unexecuted instantiation: escape130.c:ff_vlc_init_tables Unexecuted instantiation: ftr.c:ff_vlc_init_tables Unexecuted instantiation: gsmdec.c:ff_vlc_init_tables Unexecuted instantiation: msgsmdec.c:ff_vlc_init_tables Unexecuted instantiation: metasound.c:ff_vlc_init_tables Unexecuted instantiation: dolby_e.c:ff_vlc_init_tables Unexecuted instantiation: cllc.c:ff_vlc_init_tables Unexecuted instantiation: hcadec.c:ff_vlc_init_tables Unexecuted instantiation: mlpenc.c:ff_vlc_init_tables Unexecuted instantiation: g726.c:ff_vlc_init_tables Unexecuted instantiation: rv40.c:ff_vlc_init_tables Unexecuted instantiation: sheervideo.c:ff_vlc_init_tables Unexecuted instantiation: xan.c:ff_vlc_init_tables Unexecuted instantiation: sonic.c:ff_vlc_init_tables Unexecuted instantiation: ylc.c:ff_vlc_init_tables Unexecuted instantiation: truespeech.c:ff_vlc_init_tables Unexecuted instantiation: atrac1.c:ff_vlc_init_tables Unexecuted instantiation: mss2.c:ff_vlc_init_tables Unexecuted instantiation: dstdec.c:ff_vlc_init_tables Unexecuted instantiation: interplayacm.c:ff_vlc_init_tables Unexecuted instantiation: truemotion2rt.c:ff_vlc_init_tables Unexecuted instantiation: tscc2.c:ff_vlc_init_tables Unexecuted instantiation: indeo4.c:ff_vlc_init_tables Unexecuted instantiation: ivi.c:ff_vlc_init_tables Unexecuted instantiation: ivi_dsp.c:ff_vlc_init_tables Unexecuted instantiation: midivid.c:ff_vlc_init_tables Unexecuted instantiation: sp5xdec.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: 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: eatgq.c:ff_vlc_init_tables Unexecuted instantiation: hcom.c:ff_vlc_init_tables Unexecuted instantiation: bink.c:ff_vlc_init_tables Unexecuted instantiation: dss_sp.c:ff_vlc_init_tables Unexecuted instantiation: webp.c:ff_vlc_init_tables Unexecuted instantiation: fic.c:ff_vlc_init_tables Unexecuted instantiation: siren.c:ff_vlc_init_tables Unexecuted instantiation: indeo5.c:ff_vlc_init_tables Unexecuted instantiation: hq_hqa.c:ff_vlc_init_tables Unexecuted instantiation: eatqi.c:ff_vlc_init_tables Unexecuted instantiation: truemotion2.c:ff_vlc_init_tables Unexecuted instantiation: indeo2.c:ff_vlc_init_tables Unexecuted instantiation: wmaenc.c:ff_vlc_init_tables Unexecuted instantiation: aacenc.c:ff_vlc_init_tables Unexecuted instantiation: evrcdec.c:ff_vlc_init_tables Unexecuted instantiation: cdxl.c:ff_vlc_init_tables Unexecuted instantiation: mxpegdec.c:ff_vlc_init_tables Unexecuted instantiation: hevcdec.c:ff_vlc_init_tables Unexecuted instantiation: pred.c:ff_vlc_init_tables Unexecuted instantiation: hevcdsp_init.c:ff_vlc_init_tables Unexecuted instantiation: mpegaudioenc_fixed.c:ff_vlc_init_tables Unexecuted instantiation: photocd.c:ff_vlc_init_tables Unexecuted instantiation: 4xm.c:ff_vlc_init_tables Unexecuted instantiation: mv30.c:ff_vlc_init_tables Unexecuted instantiation: apedec.c:ff_vlc_init_tables Unexecuted instantiation: lagarith.c:ff_vlc_init_tables Unexecuted instantiation: lagarithrac.c:ff_vlc_init_tables Unexecuted instantiation: snowenc.c:ff_vlc_init_tables Unexecuted instantiation: wavarc.c:ff_vlc_init_tables Unexecuted instantiation: sga.c:ff_vlc_init_tables Unexecuted instantiation: qdm2.c:ff_vlc_init_tables Unexecuted instantiation: mpegaudioenc_float.c:ff_vlc_init_tables Unexecuted instantiation: speexdec.c:ff_vlc_init_tables Unexecuted instantiation: apac.c:ff_vlc_init_tables Unexecuted instantiation: escape124.c:ff_vlc_init_tables Unexecuted instantiation: motionpixels.c:ff_vlc_init_tables Unexecuted instantiation: mvha.c:ff_vlc_init_tables Unexecuted instantiation: svq3.c:ff_vlc_init_tables Unexecuted instantiation: mdec.c:ff_vlc_init_tables Unexecuted instantiation: vima.c:ff_vlc_init_tables Unexecuted instantiation: bonk.c:ff_vlc_init_tables Unexecuted instantiation: ilbcdec.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: ffv1enc.c:ff_vlc_init_tables Unexecuted instantiation: ffv1.c:ff_vlc_init_tables Unexecuted instantiation: dnxhdenc.c:ff_vlc_init_tables Unexecuted instantiation: dnxhdenc_init.c:ff_vlc_init_tables Unexecuted instantiation: vmixdec.c:ff_vlc_init_tables Unexecuted instantiation: ra288.c:ff_vlc_init_tables Unexecuted instantiation: svq1enc.c:ff_vlc_init_tables Unexecuted instantiation: qcelpdec.c:ff_vlc_init_tables Unexecuted instantiation: on2avc.c:ff_vlc_init_tables Unexecuted instantiation: eamad.c:ff_vlc_init_tables Unexecuted instantiation: mobiclip.c:ff_vlc_init_tables Unexecuted instantiation: mss4.c:ff_vlc_init_tables Unexecuted instantiation: wnv1.c:ff_vlc_init_tables Unexecuted instantiation: notchlc.c:ff_vlc_init_tables Unexecuted instantiation: interplayvideo.c:ff_vlc_init_tables |
257 | | |
258 | | #define VLC_INIT_STATIC_SPARSE_TABLE(vlc_table, nb_bits, nb_codes, \ |
259 | | bits, bits_wrap, bits_size, \ |
260 | | codes, codes_wrap, codes_size, \ |
261 | | symbols, symbols_wrap, symbols_size, \ |
262 | | flags) \ |
263 | 13 | ff_vlc_init_table_sparse(vlc_table, FF_ARRAY_ELEMS(vlc_table), \ |
264 | 13 | (nb_bits), (nb_codes), \ |
265 | 13 | (bits), (bits_wrap), (bits_size), \ |
266 | 13 | (codes), (codes_wrap), (codes_size), \ |
267 | 13 | (symbols), (symbols_wrap), (symbols_size), \ |
268 | 13 | (flags)) |
269 | | |
270 | | #define VLC_INIT_STATIC_TABLE(vlc_table, nb_bits, nb_codes, \ |
271 | | bits, bits_wrap, bits_size, \ |
272 | | codes, codes_wrap, codes_size, \ |
273 | | flags) \ |
274 | 68 | ff_vlc_init_table_sparse(vlc_table, FF_ARRAY_ELEMS(vlc_table), \ |
275 | 68 | (nb_bits), (nb_codes), \ |
276 | 68 | (bits), (bits_wrap), (bits_size), \ |
277 | 68 | (codes), (codes_wrap), (codes_size), \ |
278 | 68 | NULL, 0, 0, (flags)) |
279 | | |
280 | | #define VLC_INIT_STATIC_TABLE_FROM_LENGTHS(vlc_table, nb_bits, nb_codes, \ |
281 | | lens, lens_wrap, \ |
282 | | syms, syms_wrap, syms_size, \ |
283 | | offset, flags) \ |
284 | 42 | ff_vlc_init_table_from_lengths(vlc_table, FF_ARRAY_ELEMS(vlc_table), \ |
285 | 42 | (nb_bits), (nb_codes), \ |
286 | 42 | (lens), (lens_wrap), \ |
287 | 42 | (syms), (syms_wrap), (syms_size), \ |
288 | 42 | (offset), (flags)) |
289 | | |
290 | | #endif /* AVCODEC_VLC_H */ |