avcodec/rv30: put the rpr check back in init with the max vs bits bug fixed
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 4 Jan 2014 03:18:43 +0000 (04:18 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 4 Jan 2014 03:33:01 +0000 (04:33 +0100)
Its usefull to know immediatly if extradata is wrong and not just when later
the decoder tries to use it.

This check was removed by: a6a2282c25abe43e352010a7c3fbc92994c0bc1c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/rv30.c

index 901ba89..dff4117 100644 (file)
@@ -267,6 +267,10 @@ static av_cold int rv30_decode_init(AVCodecContext *avctx)
     }
 
     r->max_rpr = avctx->extradata[1] & 7;
+    if(avctx->extradata_size < 2*r->max_rpr + 8){
+        av_log(avctx, AV_LOG_WARNING, "Insufficient extradata - need at least %d bytes, got %d\n",
+               2*r->max_rpr + 8, avctx->extradata_size);
+    }
 
     r->parse_slice_header = rv30_parse_slice_header;
     r->decode_intra_types = rv30_decode_intra_types;