1
0
mirror of https://git.ffmpeg.org/ffmpeg.git synced 2025-03-31 23:59:34 +00:00

avcodec/wnv1: Avoid unnecessary VLC structure

Everything besides VLC.table is basically write-only
and even VLC.table can be removed by accessing the
underlying table directly.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2023-09-24 15:21:06 +02:00
parent 1ae750a16e
commit b60a3f70be

View File

@ -39,12 +39,12 @@ static const uint8_t code_tab[16][2] = {
}; };
#define CODE_VLC_BITS 9 #define CODE_VLC_BITS 9
static VLC code_vlc; static VLCElem code_vlc[1 << CODE_VLC_BITS];
/* returns modified base_value */ /* returns modified base_value */
static inline int wnv1_get_code(GetBitContext *gb, int shift, int base_value) static inline int wnv1_get_code(GetBitContext *gb, int shift, int base_value)
{ {
int v = get_vlc2(gb, code_vlc.table, CODE_VLC_BITS, 1); int v = get_vlc2(gb, code_vlc, CODE_VLC_BITS, 1);
if (v == 8) if (v == 8)
return get_bits(gb, 8 - shift) << shift; return get_bits(gb, 8 - shift) << shift;
@ -115,10 +115,10 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p,
static av_cold void wnv1_init_static(void) static av_cold void wnv1_init_static(void)
{ {
VLC_INIT_STATIC_FROM_LENGTHS(&code_vlc, CODE_VLC_BITS, 16, VLC_INIT_STATIC_TABLE_FROM_LENGTHS(code_vlc, CODE_VLC_BITS, 16,
&code_tab[0][1], 2, &code_tab[0][1], 2,
&code_tab[0][0], 2, 1, &code_tab[0][0], 2, 1,
-7, VLC_INIT_OUTPUT_LE, 1 << CODE_VLC_BITS); -7, VLC_INIT_OUTPUT_LE);
} }
static av_cold int decode_init(AVCodecContext *avctx) static av_cold int decode_init(AVCodecContext *avctx)