From: Xiang, Haihao Date: Wed, 9 Jan 2013 07:55:54 +0000 (+0800) Subject: Fix ttmbf/ttfrm when vstransform is 0 on HSW X-Git-Tag: android-x86-7.1-r1~1254 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=5794cf1f0df17246dadc8d948805dc5c4be01351;p=android-x86%2Fhardware-intel-common-vaapi.git Fix ttmbf/ttfrm when vstransform is 0 on HSW This is the same fix of c7d23b1 Signed-off-by: Xiang, Haihao --- diff --git a/src/gen75_mfd.c b/src/gen75_mfd.c index 7ebb620..7754c6b 100644 --- a/src/gen75_mfd.c +++ b/src/gen75_mfd.c @@ -1943,9 +1943,20 @@ gen75_mfd_vc1_pic_state(VADriverContextP ctx, if (picture_type == GEN7_VC1_I_PICTURE || picture_type == GEN7_VC1_BI_PICTURE) /* I picture */ trans_ac_y = pic_param->transform_fields.bits.transform_ac_codingset_idx2; - else + else { trans_ac_y = pic_param->transform_fields.bits.transform_ac_codingset_idx1; + /* + * 8.3.6.2.1 Transform Type Selection + * If variable-sized transform coding is not enabled, + * then the 8x8 transform shall be used for all blocks. + * it is also MFX_VC1_PIC_STATE requirement. + */ + if (pic_param->transform_fields.bits.variable_sized_transform_flag == 0) { + pic_param->transform_fields.bits.mb_level_transform_type_flag = 1; + pic_param->transform_fields.bits.frame_level_transform_type = 0; + } + } if (picture_type == GEN7_VC1_B_PICTURE) { struct gen7_vc1_surface *gen7_vc1_surface = NULL;