[Libva] [PATCH 7/9] vpp: gen8/9: send yuv to rgb coefs

Lionel Landwerlin lionel.g.landwerlin at intel.com
Tue Nov 3 08:56:21 PST 2015


---
 src/gen8_post_processing.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/gen8_post_processing.c b/src/gen8_post_processing.c
index 569232d..1fbc317 100644
--- a/src/gen8_post_processing.c
+++ b/src/gen8_post_processing.c
@@ -39,6 +39,7 @@
 #include "i965_drv_video.h"
 #include "i965_post_processing.h"
 #include "i965_render.h"
+#include "i965_yuv_coefs.h"
 #include "intel_media.h"
 
 #define SURFACE_STATE_PADDED_SIZE               SURFACE_STATE_PADDED_SIZE_GEN8
@@ -780,6 +781,8 @@ gen8_pp_plx_avs_initialize(VADriverContextP ctx, struct i965_post_processing_con
     unsigned char *cc_ptr;
     AVSState * const avs = &pp_avs_context->state;
     float sx, sy;
+    const float * yuv_to_rgb_coefs;
+    size_t yuv_to_rgb_coefs_size;
 
     memset(pp_static_parameter, 0, sizeof(struct gen7_pp_static_parameter));
 
@@ -1065,6 +1068,11 @@ gen8_pp_plx_avs_initialize(VADriverContextP ctx, struct i965_post_processing_con
 
     gen7_update_src_surface_uv_offset(ctx, pp_context, dst_surface);
 
+    yuv_to_rgb_coefs = i915_color_standard_to_coefs (i915_filter_to_color_standard (src_surface->flags &
+                                                                                    VA_SRC_COLOR_MASK),
+                                                     &yuv_to_rgb_coefs_size);
+    memcpy(&pp_static_parameter->grf7, yuv_to_rgb_coefs, yuv_to_rgb_coefs_size);
+
     dst_surface->flags = src_surface->flags;
 
     return VA_STATUS_SUCCESS;
-- 
2.6.2



More information about the Libva mailing list