summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2013-01-09 15:55:54 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2013-01-09 15:55:54 +0800
commit0946885680ec327ed46f316c65f0168e2ca5655a (patch)
treeffeb00885c3656a073265f7136aeaf894bc67249
parent660cb88ec00a896eefc9580e691d0a07fb2870ec (diff)
downloadvaapi-intel-driver-0946885680ec327ed46f316c65f0168e2ca5655a.tar.gz
vaapi-intel-driver-0946885680ec327ed46f316c65f0168e2ca5655a.tar.bz2
vaapi-intel-driver-0946885680ec327ed46f316c65f0168e2ca5655a.zip
Fix ttmbf/ttfrm when vstransform is 0 on HSW
This is the same fix of c7d23b1 Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
-rw-r--r--src/gen75_mfd.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/gen75_mfd.c b/src/gen75_mfd.c
index a4269f8..f2aad00 100644
--- a/src/gen75_mfd.c
+++ b/src/gen75_mfd.c
@@ -1919,9 +1919,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;