]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/clearvideo.c
avcodec/mjpegdec: Check for odd progressive RGB
[ffmpeg] / libavcodec / clearvideo.c
index 6061cb571ea202b7f1b71c875e9b3bd857ef2792..0e3c772123111fc586aa5d2ad5cb2b0c97e9bd63 100644 (file)
@@ -516,11 +516,8 @@ static int clv_decode_frame(AVCodecContext *avctx, void *data,
     frame_type = bytestream2_get_byte(&gb);
 
     if ((frame_type & 0x7f) == 0x30) {
-        if ((ret = ff_reget_buffer(avctx, c->pic)) < 0)
-            return ret;
-
-        c->pic->key_frame = 0;
-        c->pic->pict_type = AV_PICTURE_TYPE_P;
+        *got_frame = 0;
+        return buf_size;
     } else if (frame_type & 0x2) {
         if (buf_size < c->mb_width * c->mb_height) {
             av_log(avctx, AV_LOG_ERROR, "Packet too small\n");
@@ -640,6 +637,9 @@ static int clv_decode_frame(AVCodecContext *avctx, void *data,
 
     *got_frame = 1;
 
+    if (get_bits_left(&c->gb) < 0)
+        av_log(c->avctx, AV_LOG_WARNING, "overread %d\n", -get_bits_left(&c->gb));
+
     return mb_ret < 0 ? mb_ret : buf_size;
 }