diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index 09c90e81df..24e1228882 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -502,14 +502,14 @@ static int mpeg_decode_mb(MpegEncContext *s, } cbp = get_vlc2(&s->gb, mb_pat_vlc.table, MB_PAT_VLC_BITS, 1); - if (cbp < 0 || ((cbp == 0) && (s->chroma_format < 2)) ){ - av_log(s->avctx, AV_LOG_ERROR, "invalid cbp at %d %d\n", s->mb_x, s->mb_y); - return -1; - } if(mb_block_count > 6){ cbp<<= mb_block_count-6; cbp |= get_bits(&s->gb, mb_block_count-6); } + if (cbp <= 0){ + av_log(s->avctx, AV_LOG_ERROR, "invalid cbp at %d %d\n", s->mb_x, s->mb_y); + return -1; + } #ifdef HAVE_XVMC //on 1 we memcpy blocks in xvmcvideo