mpeg2: check frame_pred_frame_dct instead of progressive_frame
authorXiang, Haihao <haihao.xiang@intel.com>
Fri, 9 May 2014 08:31:54 +0000 (16:31 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Mon, 26 May 2014 04:17:31 +0000 (12:17 +0800)
Some MPEG-2 videos set progressive_frame to 1 and set
frame_pred_frame_dct to 0, which is not conformed to MPEG-2 spec.
bottom field may be used to form prediction if frame_pred_frame_dct is
0. Previously the bottom field is excluded from the frame store list

https://bugs.freedesktop.org/show_bug.cgi?id=73424

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit b3031d16b1ea9ef2ab95bc09e59f0db5214a1125)

src/i965_decoder_utils.c

index 617bc15..f579f91 100644 (file)
@@ -139,7 +139,7 @@ mpeg2_set_reference_surfaces(
         ref_frames[n++].surface_id = ref_frames[0].surface_id;
     }
 
-    if (pic_param->picture_coding_extension.bits.progressive_frame)
+    if (pic_param->picture_coding_extension.bits.frame_pred_frame_dct)
         return;
 
     ref_frames[2].surface_id = VA_INVALID_ID;