diff options
author | Xiang, Haihao <haihao.xiang@intel.com> | 2011-03-14 13:05:57 +0800 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2011-03-14 13:05:57 +0800 |
commit | b7ff2141aeb2adbf5743fed7910a62d971c15013 (patch) | |
tree | 9c80946eedc6dc7119c890ddacaa8b1bd5f25210 /i965_drv_video | |
parent | 116424c35d3b61c0c6ac4c2c6d50ff30500a4356 (diff) |
i965_drv_video/VC1: fix for single intensity compensation parameter setting
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Diffstat (limited to 'i965_drv_video')
-rw-r--r-- | i965_drv_video/gen6_mfd.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/i965_drv_video/gen6_mfd.c b/i965_drv_video/gen6_mfd.c index ed2a337..b2f312e 100644 --- a/i965_drv_video/gen6_mfd.c +++ b/i965_drv_video/gen6_mfd.c @@ -1863,6 +1863,7 @@ gen6_mfd_vc1_pred_pipe_state(VADriverContextP ctx, struct decode_state *decode_s { VAPictureParameterBufferVC1 *pic_param; int interpolation_mode = 0; + int intensitycomp_single; assert(decode_state->pic_param && decode_state->pic_param->buffer); pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer; @@ -1880,6 +1881,7 @@ gen6_mfd_vc1_pred_pipe_state(VADriverContextP ctx, struct decode_state *decode_s assert(decode_state->pic_param && decode_state->pic_param->buffer); pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer; + intensitycomp_single = (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation); BEGIN_BCS_BATCH(ctx, 7); OUT_BCS_BATCH(ctx, MFX_VC1_PRED_PIPE_STATE | (7 - 2)); @@ -1898,10 +1900,10 @@ gen6_mfd_vc1_pred_pipe_state(VADriverContextP ctx, struct decode_state *decode_s pic_param->fast_uvmc_flag << 18 | 0 << 17 | /* FIXME: scale up or down ??? */ pic_param->range_reduction_frame << 16 | - 0 << 6 | + 0 << 6 | /* FIXME: double ??? */ 0 << 4 | - 0 << 2 | /* FIXME: Intensity Compensation */ - 0 << 0); + intensitycomp_single << 2 | + intensitycomp_single << 0); ADVANCE_BCS_BATCH(ctx); } |