From f557dd6ad06c31bcf787468e804c948ecc4cf39b Mon Sep 17 00:00:00 2001 From: Zhao Halley Date: Fri, 21 Sep 2012 10:30:55 +0800 Subject: fix ttmbf/ttfrm when vstransform is 0 (cherry picked from commit c7d23b1e9376808dfa88192ee66a1af5acdf3b16) --- src/gen7_mfd.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) mode change 100644 => 100755 src/gen7_mfd.c (limited to 'src/gen7_mfd.c') diff --git a/src/gen7_mfd.c b/src/gen7_mfd.c old mode 100644 new mode 100755 index d8581ed..2d75baf --- a/src/gen7_mfd.c +++ b/src/gen7_mfd.c @@ -1633,8 +1633,19 @@ gen7_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) { -- cgit v1.2.3