From: Ilia Mirkin Date: Sat, 7 Dec 2013 04:30:04 +0000 (-0500) Subject: nv50: enable h264 and mpeg4 for nv98+ (vp3, vp4.0) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e01ba9d6b049d5eee8c125e3ec43b4539c26e4d7;p=mesa.git 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 Tested-by: Martin Peres Cc: "10.0" --- 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;