Mesa (master): st/xvmc: Set default CSC matrix to BT.601, no ProcAmp, full range RGB.

Younes Manton ymanton at kemper.freedesktop.org
Fri Oct 2 02:58:14 UTC 2009


Module: Mesa
Branch: master
Commit: 62db9b21da6ccad6301feae9b90d53d46224c854
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=62db9b21da6ccad6301feae9b90d53d46224c854

Author: Younes Manton <younes.m at gmail.com>
Date:   Thu Oct  1 22:01:18 2009 -0400

st/xvmc: Set default CSC matrix to BT.601, no ProcAmp, full range RGB.

---

 src/gallium/state_trackers/xorg/xvmc/context.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/xorg/xvmc/context.c b/src/gallium/state_trackers/xorg/xvmc/context.c
index 6d90dfc..a002a7c 100644
--- a/src/gallium/state_trackers/xorg/xvmc/context.c
+++ b/src/gallium/state_trackers/xorg/xvmc/context.c
@@ -8,6 +8,7 @@
 #include <vl_winsys.h>
 #include <util/u_memory.h>
 #include <util/u_debug.h>
+#include <vl/vl_csc.h>
 #include "xvmc_private.h"
 
 static Status Validate(Display *dpy, XvPortID port, int surface_type_id,
@@ -127,6 +128,7 @@ Status XvMCCreateContext(Display *dpy, XvPortID port, int surface_type_id,
    struct pipe_screen *screen;
    struct pipe_video_context *vpipe;
    XvMCContextPrivate *context_priv;
+   float csc[16];
 
    assert(dpy);
 
@@ -175,6 +177,15 @@ Status XvMCCreateContext(Display *dpy, XvPortID port, int surface_type_id,
       return BadAlloc;
    }
 
+   /* TODO: Define some Xv attribs to allow users to specify color standard, procamp */
+   vl_csc_get_matrix
+   (
+      debug_get_bool_option("G3DVL_NO_CSC", FALSE) ?
+      VL_CSC_COLOR_STANDARD_IDENTITY : VL_CSC_COLOR_STANDARD_BT_601,
+      NULL, true, csc
+   );
+   vpipe->set_csc_matrix(vpipe, csc);
+
    context_priv->vpipe = vpipe;
 
    context->context_id = XAllocID(dpy);




More information about the mesa-commit mailing list