VEBOX/bdw: DW0-DW8 are used for dndi parameters in VEBOX_DNDI_STATE
authorXiang, Haihao <haihao.xiang@intel.com>
Tue, 7 Jan 2014 05:10:58 +0000 (13:10 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Thu, 27 Feb 2014 02:30:18 +0000 (10:30 +0800)
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
src/gen75_vpp_vebox.c

index 8e80474..29eb14e 100644 (file)
@@ -131,6 +131,7 @@ VAStatus vpp_surface_scaling(VADriverContextP ctx,
 
 void hsw_veb_dndi_table(VADriverContextP ctx, struct intel_vebox_context *proc_ctx)
 {
+    struct i965_driver_data *i965 = i965_driver_data(ctx);
     unsigned int* p_table ;
     int progressive_dn = 1;
     int dndi_top_first = 0;
@@ -155,7 +156,9 @@ void hsw_veb_dndi_table(VADriverContextP ctx, struct intel_vebox_context *proc_c
     */
     p_table = (unsigned int *)proc_ctx->dndi_state_table.ptr;
 
-    *p_table ++ = 0;               // reserved  . w0
+     if (IS_HASWELL(i965->intel.device_id))
+         *p_table ++ = 0;               // reserved  . w0
+
     *p_table ++ = ( 140 << 24 |    // denoise STAD threshold . w1
                     192 << 16 |    // dnmh_history_max
                     0   << 12 |    // reserved
@@ -225,6 +228,8 @@ void hsw_veb_dndi_table(VADriverContextP ctx, struct intel_vebox_context *proc_c
                     13 << 6   |  // chr temp diff th
                     7 );         // chr temp diff low
 
+    if (IS_GEN8(i965->intel.device_id))
+        *p_table ++ = 0;         // parameters for hot pixel, 
 }
 
 void hsw_veb_iecp_std_table(VADriverContextP ctx, struct intel_vebox_context *proc_ctx)