Adding a vl_mpeg-based helper didn't seem to work, as it produced data that the card couldn't handle. (And I didn't investigate further.) This makes the decoding functionality only accessible via XvMC and avoids crashes when attempting to use VDPAU.
Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> Cc: "10.0" <mesa-sta...@lists.freedesktop.org> --- There's no point in trying to get VDPAU to work here, XvMC is going to be better in almost every case, since the hardware doesn't actually support bitstream-level decoding. src/gallium/drivers/nouveau/nouveau_video.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/nouveau_video.c b/src/gallium/drivers/nouveau/nouveau_video.c index 7b06e37..f72a096 100644 --- a/src/gallium/drivers/nouveau/nouveau_video.c +++ b/src/gallium/drivers/nouveau/nouveau_video.c @@ -611,7 +611,6 @@ nouveau_create_decoder(struct pipe_context *context, BEGIN_NV04(push, NV31_MPEG(FORMAT), 2); PUSH_DATA (push, 0); switch (templ->entrypoint) { - case PIPE_VIDEO_ENTRYPOINT_BITSTREAM: PUSH_DATA (push, 0x100); break; case PIPE_VIDEO_ENTRYPOINT_IDCT: PUSH_DATA (push, 1); break; case PIPE_VIDEO_ENTRYPOINT_MC: PUSH_DATA (push, 0); break; default: assert(0); @@ -839,7 +838,8 @@ nouveau_screen_get_video_param(struct pipe_screen *pscreen, { switch (param) { case PIPE_VIDEO_CAP_SUPPORTED: - return vl_profile_supported(pscreen, profile, entrypoint); + return entrypoint >= PIPE_VIDEO_ENTRYPOINT_IDCT && + u_reduce_video_profile(profile) == PIPE_VIDEO_FORMAT_MPEG12; case PIPE_VIDEO_CAP_NPOT_TEXTURES: return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: -- 1.8.1.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev