aboutsummaryrefslogtreecommitdiff
path: root/lib/ffmpeg/libavcodec
diff options
context:
space:
mode:
authorMarcel Groothuis <margro.xbmc@gmail.com>2012-09-07 17:20:46 +0200
committerMarcel Groothuis <margro.xbmc@gmail.com>2012-09-07 17:20:46 +0200
commit285685e424be1ebfe4cf0acd41213f366cf86c46 (patch)
tree63c886030fe5618c3869a38c3aec0b28b8222909 /lib/ffmpeg/libavcodec
parenta796fd3f1ce5c2a983521241fdc17d1107375db9 (diff)
ffmpeg: fixed: DXVA2 playback artifacts on H264 content with mbaff frames
Backported commit b5e6aa6c3337dc740d67aa68116530fe604bae76 from ffmpeg upstream This fixes #13165
Diffstat (limited to 'lib/ffmpeg/libavcodec')
-rw-r--r--lib/ffmpeg/libavcodec/dxva2_h264.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/ffmpeg/libavcodec/dxva2_h264.c b/lib/ffmpeg/libavcodec/dxva2_h264.c
index b7e025179b..0f76bcfe95 100644
--- a/lib/ffmpeg/libavcodec/dxva2_h264.c
+++ b/lib/ffmpeg/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 FFmpeg) */
(0 << 3) |