Parcourir la source

r600/uvd: stop advertising MPEG4 on UVD 2.x chips v2

That is just not supported by the hardware.

v2: fix compare

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
tags/mesa-9.2-rc1
Christian König il y a 12 ans
Parent
révision
e3ac293daa

+ 1
- 1
src/gallium/drivers/r600/r600_pipe.c Voir le fichier

@@ -1291,7 +1291,7 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws)
rscreen->screen.get_driver_query_info = r600_get_driver_query_info;

if (rscreen->info.has_uvd) {
rscreen->screen.get_video_param = ruvd_get_video_param;
rscreen->screen.get_video_param = r600_uvd_get_video_param;
rscreen->screen.is_video_format_supported = ruvd_is_format_supported;
} else {
rscreen->screen.get_video_param = r600_get_video_param;

+ 3
- 0
src/gallium/drivers/r600/r600_pipe.h Voir le fichier

@@ -902,6 +902,9 @@ struct pipe_video_decoder *r600_uvd_create_decoder(struct pipe_context *context,
struct pipe_video_buffer *r600_video_buffer_create(struct pipe_context *pipe,
const struct pipe_video_buffer *tmpl);

int r600_uvd_get_video_param(struct pipe_screen *screen,
enum pipe_video_profile profile,
enum pipe_video_cap param);

/*
* Helpers for building command buffers

+ 14
- 0
src/gallium/drivers/r600/r600_uvd.c Voir le fichier

@@ -177,3 +177,17 @@ struct pipe_video_decoder *r600_uvd_create_decoder(struct pipe_context *context,
width, height, max_references, expect_chunked_decode,
ctx->ws, r600_uvd_set_dtb);
}

int r600_uvd_get_video_param(struct pipe_screen *screen,
enum pipe_video_profile profile,
enum pipe_video_cap param)
{
struct r600_screen *rscreen = (struct r600_screen *)screen;

/* No support for MPEG4 on UVD 2.x */
if (param == PIPE_VIDEO_CAP_SUPPORTED && rscreen->family < CHIP_CEDAR &&
u_reduce_video_profile(profile) == PIPE_VIDEO_CODEC_MPEG4)
return false;

return ruvd_get_video_param(screen, profile, param);
}

+ 0
- 1
src/gallium/drivers/radeon/radeon_uvd.c Voir le fichier

@@ -1076,7 +1076,6 @@ int ruvd_get_video_param(struct pipe_screen *screen,
switch (u_reduce_video_profile(profile)) {
case PIPE_VIDEO_CODEC_MPEG12:
case PIPE_VIDEO_CODEC_MPEG4:
/* TODO not all hw families support MPEG4 */
case PIPE_VIDEO_CODEC_MPEG4_AVC:
case PIPE_VIDEO_CODEC_VC1:
return true;

Chargement…
Annuler
Enregistrer