From: Ilia Mirkin Date: Sat, 9 Nov 2013 18:29:35 +0000 (-0500) Subject: nouveau/video: mark bitstream-level acceleration as unsupported X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=08122e151a511236bccf7ab94efa4278ea3b3b6c;p=mesa.git nouveau/video: mark bitstream-level acceleration as unsupported 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 Cc: "10.0" --- diff --git a/src/gallium/drivers/nouveau/nouveau_video.c b/src/gallium/drivers/nouveau/nouveau_video.c index 7b06e3782bb..f72a0967fc1 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: