]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/svq1dec: Increase nb_bits of VLC to read it in one go
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Tue, 29 Dec 2020 19:34:01 +0000 (20:34 +0100)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 31 Dec 2020 22:42:05 +0000 (23:42 +0100)
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/svq1dec.c

index 7aea1380604b853a1b4c446f8a847820bcfecc0c..9c1fccb1b948954db6b7cfe4df0e76193350700d 100644 (file)
@@ -43,6 +43,7 @@
 #include "mathops.h"
 #include "svq1.h"
 
+#define SVQ1_BLOCK_TYPE_VLC_BITS 3
 static VLC svq1_block_type;
 static VLC svq1_motion_component;
 static VLC svq1_intra_multistage[6];
@@ -456,7 +457,8 @@ static int svq1_decode_delta_block(AVCodecContext *avctx, HpelDSPContext *hdsp,
     int result = 0;
 
     /* get block type */
-    block_type = get_vlc2(bitbuf, svq1_block_type.table, 2, 2);
+    block_type = get_vlc2(bitbuf, svq1_block_type.table,
+                          SVQ1_BLOCK_TYPE_VLC_BITS, 1);
 
     /* reset motion vectors */
     if (block_type == SVQ1_BLOCK_SKIP || block_type == SVQ1_BLOCK_INTRA) {
@@ -765,9 +767,9 @@ err:
 
 static av_cold void svq1_static_init(void)
 {
-    INIT_VLC_STATIC(&svq1_block_type, 2, 4,
+    INIT_VLC_STATIC(&svq1_block_type, SVQ1_BLOCK_TYPE_VLC_BITS, 4,
                     &ff_svq1_block_type_vlc[0][1], 2, 1,
-                    &ff_svq1_block_type_vlc[0][0], 2, 1, 6);
+                    &ff_svq1_block_type_vlc[0][0], 2, 1, 8);
 
     INIT_VLC_STATIC(&svq1_motion_component, 7, 33,
                     &ff_mvtab[0][1], 2, 1,