diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c index ffe71a9656..5cdf5dea5c 100644 --- a/libavcodec/dxva2_h264.c +++ b/libavcodec/dxva2_h264.c @@ -93,7 +93,8 @@ static void fill_picture_parameters(struct dxva_context *ctx, const H264Context pp->num_ref_frames = h->sps.ref_frame_count; pp->wBitFields = ((s->picture_structure != PICT_FRAME) << 0) | - (h->sps.mb_aff << 1) | + ((h->sps.mb_aff && + (s->picture_structure == PICT_FRAME)) << 1) | (h->sps.residual_color_transform_flag << 2) | /* sp_for_switch_flag (not implemented by Libav) */ (0 << 3) |