OSDN Git Service

vc1: fix motion vector mode (IVB).
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Tue, 29 Nov 2011 16:26:35 +0000 (17:26 +0100)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Thu, 2 Feb 2012 09:28:25 +0000 (10:28 +0100)
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
NEWS
src/gen7_mfd.c

diff --git a/NEWS b/NEWS
index 58ef116..ae52707 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@ libva-driver-intel NEWS -- summary of changes.  2012-02-DD
 Copyright (C) 2009-2011 Intel Corporation
 
 Version 1.0.16 - DD.Feb.2012
+* Fix VC-1 motion vector modes for Ivy Bridge
 * Fix and simplify AVC_REF_IDX_STATE setup (ILK, SNB, IVB)
 
 Version 1.0.15 - 28.Oct.2011
index ca468cb..96bd1c5 100644 (file)
@@ -1651,13 +1651,13 @@ gen7_mfd_vc1_pic_state(VADriverContextP ctx,
     if (pic_param->mv_fields.bits.mv_mode == VAMvMode1MvHalfPelBilinear ||
         (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation &&
          pic_param->mv_fields.bits.mv_mode2 == VAMvMode1MvHalfPelBilinear))
-        interpolation_mode = 8; /* Half-pel bilinear */
+        interpolation_mode = 9; /* Half-pel bilinear */
     else if (pic_param->mv_fields.bits.mv_mode == VAMvMode1MvHalfPel ||
              (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation &&
               pic_param->mv_fields.bits.mv_mode2 == VAMvMode1MvHalfPel))
-        interpolation_mode = 0; /* Half-pel bicubic */
+        interpolation_mode = 1; /* Half-pel bicubic */
     else
-        interpolation_mode = 1; /* Quarter-pel bicubic */
+        interpolation_mode = 0; /* Quarter-pel bicubic */
 
     BEGIN_BCS_BATCH(batch, 6);
     OUT_BCS_BATCH(batch, MFD_VC1_LONG_PIC_STATE | (6 - 2));