]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/mpeg12: Don't pretend reading dct_dc_size_* VLCs can fail
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 8 Oct 2020 15:54:19 +0000 (17:54 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Mon, 12 Oct 2020 00:10:41 +0000 (02:10 +0200)
It can't because the corresponding trees don't have any loose ends.

Removing the checks also removed an instance of av_log(NULL (with a
nonsense message) from the codebase.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/mdec.c
libavcodec/mpeg12.h
libavcodec/mpeg12dec.c

index 7e34ec568e700fa6a291ab51cc8adaddf7048908..b16cbb6a795fc1334c186250d6747edc2e8d7d1d 100644 (file)
@@ -71,8 +71,6 @@ static inline int mdec_decode_block_intra(MDECContext *a, int16_t *block, int n)
     } else {
         component = (n <= 3 ? 0 : n - 4 + 1);
         diff = decode_dc(&a->gb, component);
-        if (diff >= 0xffff)
-            return AVERROR_INVALIDDATA;
         a->last_dc[component] += diff;
         block[0] = a->last_dc[component] * (1 << 3);
     }
index 1ec99f17e16d701b1003ff940f2125a0c6fca3cf..345d473d3a23ee0e1a15c6dfb5256a8320548d5e 100644 (file)
@@ -47,10 +47,6 @@ static inline int decode_dc(GetBitContext *gb, int component)
     } else {
         code = get_vlc2(gb, ff_dc_chroma_vlc.table, DC_VLC_BITS, 2);
     }
-    if (code < 0){
-        av_log(NULL, AV_LOG_ERROR, "invalid dc code at\n");
-        return 0xffff;
-    }
     if (code == 0) {
         diff = 0;
     } else {
index 1cccfd17421848304138d729387df0c9e0bd83ae..3be90d7f25152ba77a68ade845a5755026b12119 100644 (file)
@@ -490,8 +490,6 @@ static inline int mpeg2_decode_block_intra(MpegEncContext *s,
         component    = (n & 1) + 1;
     }
     diff = decode_dc(&s->gb, component);
-    if (diff >= 0xffff)
-        return AVERROR_INVALIDDATA;
     dc  = s->last_dc[component];
     dc += diff;
     s->last_dc[component] = dc;
@@ -577,8 +575,6 @@ static inline int mpeg2_fast_decode_block_intra(MpegEncContext *s,
         component    = (n & 1) + 1;
     }
     diff = decode_dc(&s->gb, component);
-    if (diff >= 0xffff)
-        return AVERROR_INVALIDDATA;
     dc = s->last_dc[component];
     dc += diff;
     s->last_dc[component] = dc;