diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-10-26 00:28:46 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-12-08 17:51:45 +0100 |
commit | 4a772b1397f1384831b58ac8eb60781fe7362442 (patch) | |
tree | bc29844127a56367b34a49b24a90ccc762e8c6fd | |
parent | a8646a7b3fc9833c4cb3dfc236264e60ea8bcec7 (diff) | |
download | ffmpeg-4a772b1397f1384831b58ac8eb60781fe7362442.tar.gz |
avcodec/wnv1: Apply offset during init, not later every time
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r-- | libavcodec/wnv1.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c index f8a9b94746..7dd0e72596 100644 --- a/libavcodec/wnv1.c +++ b/libavcodec/wnv1.c @@ -43,10 +43,10 @@ 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); - if (v == 15) + if (v == 8) return get_bits(gb, 8 - shift) << shift; else - return base_value + ((v - 7U) << shift); + return base_value + v * (1 << shift); } static int decode_frame(AVCodecContext *avctx, @@ -119,7 +119,7 @@ static av_cold int decode_init(AVCodecContext *avctx) INIT_VLC_STATIC_FROM_LENGTHS(&code_vlc, CODE_VLC_BITS, 16, &code_tab[0][1], 2, &code_tab[0][0], 2, 1, - 0, INIT_VLC_OUTPUT_LE, 1 << CODE_VLC_BITS); + -7, INIT_VLC_OUTPUT_LE, 1 << CODE_VLC_BITS); return 0; } |