summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2013-12-06 23:30:04 -0500
committerIan Romanick <ian.d.romanick@intel.com>2013-12-09 17:28:01 -0800
commitf4f1159716bc3157736435ff5223e3c3e41992e7 (patch)
tree26f0723c69f549daf36579d9676e3a2958306e63
parentb531dcaec45a9c7a9fbbf8410dbc7008823e5ebc (diff)
nv50: enable h264 and mpeg4 for nv98+ (vp3, vp4.0)
Create the ref_bo without any storage type flags set for now. The issue probably arises from our use of the additional buffer space at the end of the ref_bo. It should probably be split up in the future. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Tested-by: Martin Peres <martin.peres@labri.fr> Cc: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit e01ba9d6b049d5eee8c125e3ec43b4539c26e4d7)
-rw-r--r--src/gallium/drivers/nouveau/nouveau_vp3_video.c7
-rw-r--r--src/gallium/drivers/nouveau/nv50/nv98_video.c2
2 files changed, 2 insertions, 7 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_vp3_video.c b/src/gallium/drivers/nouveau/nouveau_vp3_video.c
index 07ce0163f60..ff00b373d63 100644
--- a/src/gallium/drivers/nouveau/nouveau_vp3_video.c
+++ b/src/gallium/drivers/nouveau/nouveau_vp3_video.c
@@ -362,12 +362,7 @@ nouveau_vp3_screen_get_video_param(struct pipe_screen *pscreen,
enum pipe_video_format codec = u_reduce_video_profile(profile);
switch (param) {
case PIPE_VIDEO_CAP_SUPPORTED:
- /* For now, h264 and mpeg4 don't work on pre-nvc0. */
- if (chipset < 0xc0)
- return codec == PIPE_VIDEO_FORMAT_MPEG12 ||
- codec == PIPE_VIDEO_FORMAT_VC1;
- /* In the general case, this should work, once the pre-nvc0 problems are
- * resolved. */
+ /* VP3 does not support MPEG4, VP4+ do. */
return profile >= PIPE_VIDEO_PROFILE_MPEG1 && (
!vp3 || codec != PIPE_VIDEO_FORMAT_MPEG4);
case PIPE_VIDEO_CAP_NPOT_TEXTURES:
diff --git a/src/gallium/drivers/nouveau/nv50/nv98_video.c b/src/gallium/drivers/nouveau/nv50/nv98_video.c
index 069481de207..f748c81a3d0 100644
--- a/src/gallium/drivers/nouveau/nv50/nv98_video.c
+++ b/src/gallium/drivers/nouveau/nv50/nv98_video.c
@@ -200,7 +200,7 @@ nv98_create_decoder(struct pipe_context *context,
dec->ref_stride = mb(templ->width)*16 * (mb_half(templ->height)*32 + nouveau_vp3_video_align(templ->height)/2);
ret = nouveau_bo_new(screen->device, NOUVEAU_BO_VRAM, 0,
dec->ref_stride * (templ->max_references+2) + tmp_size,
- &cfg, &dec->ref_bo);
+ NULL, &dec->ref_bo);
if (ret)
goto fail;