summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/xvmc
diff options
context:
space:
mode:
authorChristian König <deathsimple@vodafone.de>2012-02-29 15:12:42 +0100
committerChristian König <deathsimple@vodafone.de>2012-03-02 13:14:21 +0100
commit14766f820069ca987543918bce96410c481e5d20 (patch)
treefddc9d5ac54d9767c760cd6c93376c4dbc19c5b5 /src/gallium/state_trackers/xvmc
parent74a4e9089488e7f341d21053bbf2d4aa52b99b70 (diff)
downloadexternal_mesa3d-14766f820069ca987543918bce96410c481e5d20.zip
external_mesa3d-14766f820069ca987543918bce96410c481e5d20.tar.gz
external_mesa3d-14766f820069ca987543918bce96410c481e5d20.tar.bz2
vl/csc: simplify matrix handling
A csc matrix is only 4x3 not 4x4, also define a VDPAU compatible type for it. Signed-off-by: Christian König <deathsimple@vodafone.de>
Diffstat (limited to 'src/gallium/state_trackers/xvmc')
-rw-r--r--src/gallium/state_trackers/xvmc/attributes.c6
-rw-r--r--src/gallium/state_trackers/xvmc/context.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/src/gallium/state_trackers/xvmc/attributes.c b/src/gallium/state_trackers/xvmc/attributes.c
index da7b649..58bafb1 100644
--- a/src/gallium/state_trackers/xvmc/attributes.c
+++ b/src/gallium/state_trackers/xvmc/attributes.c
@@ -77,7 +77,7 @@ Status XvMCSetAttribute(Display *dpy, XvMCContext *context, Atom attribute, int
{
XvMCContextPrivate *context_priv;
const char *attr;
- float csc[16];
+ vl_csc_matrix csc;
assert(dpy);
@@ -108,9 +108,9 @@ Status XvMCSetAttribute(Display *dpy, XvMCContext *context, Atom attribute, int
vl_csc_get_matrix
(
context_priv->color_standard,
- &context_priv->procamp, true, csc
+ &context_priv->procamp, true, &csc
);
- vl_compositor_set_csc_matrix(&context_priv->cstate, csc);
+ vl_compositor_set_csc_matrix(&context_priv->cstate, (const vl_csc_matrix *)&csc);
XVMC_MSG(XVMC_TRACE, "[XvMC] Set attribute %s to value %d.\n", attr, value);
diff --git a/src/gallium/state_trackers/xvmc/context.c b/src/gallium/state_trackers/xvmc/context.c
index c598cad..7b97a67 100644
--- a/src/gallium/state_trackers/xvmc/context.c
+++ b/src/gallium/state_trackers/xvmc/context.c
@@ -192,7 +192,7 @@ Status XvMCCreateContext(Display *dpy, XvPortID port, int surface_type_id,
struct vl_screen *vscreen;
struct pipe_context *pipe;
XvMCContextPrivate *context_priv;
- float csc[16];
+ vl_csc_matrix csc;
XVMC_MSG(XVMC_TRACE, "[XvMC] Creating context %p.\n", context);
@@ -289,9 +289,9 @@ Status XvMCCreateContext(Display *dpy, XvPortID port, int surface_type_id,
vl_csc_get_matrix
(
context_priv->color_standard,
- &context_priv->procamp, true, csc
+ &context_priv->procamp, true, &csc
);
- vl_compositor_set_csc_matrix(&context_priv->cstate, csc);
+ vl_compositor_set_csc_matrix(&context_priv->cstate, (const vl_csc_matrix *)&csc);
context_priv->vscreen = vscreen;
context_priv->pipe = pipe;