diff --git a/libavcodec/dxva2_vc1.c b/libavcodec/dxva2_vc1.c index 6ff5765f0c..33309b1032 100644 --- a/libavcodec/dxva2_vc1.c +++ b/libavcodec/dxva2_vc1.c @@ -148,7 +148,7 @@ static void fill_slice(AVCodecContext *avctx, DXVA_SliceInfo *slice, slice->dwSliceBitsInBuffer = 8 * size; slice->dwSliceDataLocation = position; slice->bStartCodeBitOffset = 0; - slice->bReservedBits = 0; + slice->bReservedBits = (s->pict_type == AV_PICTURE_TYPE_B && !v->bi_type) ? v->bfraction_lut_index + 9 : 0; slice->wMBbitOffset = get_bits_count(&s->gb); slice->wNumberMBsInSlice = s->mb_width * s->mb_height; /* XXX We assume 1 slice */ slice->wQuantizerScaleCode = v->pq;