Browse Source

avcodec/vc1: fix check for missing CBPTAB

CBPTAB must be present in (non skipped) P and B pictures.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
tags/n4.1
Jerome Borsboom Carl Eugen Hoyos 7 years ago
parent
commit
efde2a70ff
1 changed files with 3 additions and 1 deletions
  1. +3
    -1
      libavcodec/vc1dec.c

+ 3
- 1
libavcodec/vc1dec.c View File

@@ -1088,7 +1088,9 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data,
av_log(v->s.avctx, AV_LOG_ERROR, "end mb y %d %d invalid\n", s->end_mb_y, s->start_mb_y);
continue;
}
if (!v->p_frame_skipped && s->pict_type != AV_PICTURE_TYPE_I && !v->cbpcy_vlc) {
if (((s->pict_type == AV_PICTURE_TYPE_P && !v->p_frame_skipped) ||
(s->pict_type == AV_PICTURE_TYPE_B && !v->bi_type)) &&
!v->cbpcy_vlc) {
av_log(v->s.avctx, AV_LOG_ERROR, "missing cbpcy_vlc\n");
continue;
}


Loading…
Cancel
Save