summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/xorg
diff options
context:
space:
mode:
authorChristian König <[email protected]>2011-04-07 20:10:55 +0200
committerChristian König <[email protected]>2011-04-07 20:10:55 +0200
commitfcdf50f74befad8d89eb3f9cdfd88b82d1daa98c (patch)
treea3da251236f76a641124102aa6701717d49aeb3f /src/gallium/state_trackers/xorg
parent9d2e630cd02362bfa8f090640a55cf2dea9d64b3 (diff)
[g3dvl] add support for different decoding entry points
Diffstat (limited to 'src/gallium/state_trackers/xorg')
-rw-r--r--src/gallium/state_trackers/xorg/xvmc/context.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/xorg/xvmc/context.c b/src/gallium/state_trackers/xorg/xvmc/context.c
index 2690f8046a8..6f136f2b121 100644
--- a/src/gallium/state_trackers/xorg/xvmc/context.c
+++ b/src/gallium/state_trackers/xorg/xvmc/context.c
@@ -209,7 +209,7 @@ Status XvMCCreateContext(Display *dpy, XvPortID port, int surface_type_id,
XVMC_MSG(XVMC_ERR, "[XvMC] Cannot decode requested surface type. Unsupported chroma format.\n");
return BadImplementation;
}
- if (mc_type != (XVMC_IDCT | XVMC_MOCOMP | XVMC_MPEG_2)) {
+ if ((mc_type & ~XVMC_IDCT) != (XVMC_MOCOMP | XVMC_MPEG_2)) {
XVMC_MSG(XVMC_ERR, "[XvMC] Cannot decode requested surface type. Non-MPEG2/Mocomp/iDCT acceleration unsupported.\n");
return BadImplementation;
}
@@ -241,6 +241,9 @@ Status XvMCCreateContext(Display *dpy, XvPortID port, int surface_type_id,
context_priv->decoder = vctx->vpipe->create_decoder(vctx->vpipe,
ProfileToPipe(mc_type),
+ (mc_type & XVMC_IDCT) ?
+ PIPE_VIDEO_ENTRYPOINT_IDCT :
+ PIPE_VIDEO_ENTRYPOINT_MC,
FormatToPipe(chroma_format),
width, height);