dxva2_h264: fix signaling of mbaff frames
authorHendrik Leppkes <h.leppkes@gmail.com>
Mon, 27 Feb 2012 16:21:16 +0000 (17:21 +0100)
committerMartin Storsjö <martin@martin.st>
Tue, 26 Jun 2012 08:59:24 +0000 (11:59 +0300)
The MBAFF flag may only be signaled if we're actually dealing with
a full frame, and not singular fields, as it can happen in mixed content.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/dxva2_h264.c

index ffe71a9..5cdf5de 100644 (file)
@@ -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) |