]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/on2avc: Use least max_depth for get_vlc2()
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sun, 18 Oct 2020 05:46:16 +0000 (07:46 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Wed, 21 Oct 2020 05:47:55 +0000 (07:47 +0200)
The longest codes of any VLC codebooks are 18 bits long and the VLC
tables itself use 9 bits; therefore it is sufficient to read twice from
the table, yet this has been done thrice.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/on2avc.c

index e54c23cb1cde997be406f9b9f31794288daf455c..625e733ca3ba35f2ea15857e74ba1a5fdda003b4 100644 (file)
@@ -195,7 +195,7 @@ static int on2avc_decode_quads(On2AVCContext *c, GetBitContext *gb, float *dst,
     int i, j, val, val1;
 
     for (i = 0; i < dst_size; i += 4) {
-        val = get_vlc2(gb, c->cb_vlc[type].table, 9, 3);
+        val = get_vlc2(gb, c->cb_vlc[type].table, 9, 2);
 
         for (j = 0; j < 4; j++) {
             val1 = sign_extend((val >> (12 - j * 4)) & 0xF, 4);
@@ -228,7 +228,7 @@ static int on2avc_decode_pairs(On2AVCContext *c, GetBitContext *gb, float *dst,
     int i, val, val1, val2, sign;
 
     for (i = 0; i < dst_size; i += 2) {
-        val = get_vlc2(gb, c->cb_vlc[type].table, 9, 3);
+        val = get_vlc2(gb, c->cb_vlc[type].table, 9, 2);
 
         val1 = sign_extend(val >> 8,   8);
         val2 = sign_extend(val & 0xFF, 8);