diff options
Diffstat (limited to 'src/gallium/drivers/nvfx')
-rw-r--r-- | src/gallium/drivers/nvfx/nvfx_video_context.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/gallium/drivers/nvfx/nvfx_video_context.c b/src/gallium/drivers/nvfx/nvfx_video_context.c index 58e1c0baa27..0456926c9ad 100644 --- a/src/gallium/drivers/nvfx/nvfx_video_context.c +++ b/src/gallium/drivers/nvfx/nvfx_video_context.c @@ -26,7 +26,8 @@ **************************************************************************/ #include "nvfx_video_context.h" -#include <softpipe/sp_video_context.h> +#include "util/u_video.h" +#include <vl/vl_mpeg12_context.h> struct pipe_video_context * nvfx_video_create(struct pipe_screen *screen, enum pipe_video_profile profile, @@ -41,8 +42,14 @@ nvfx_video_create(struct pipe_screen *screen, enum pipe_video_profile profile, if (!pipe) return NULL; - return sp_video_create_ex(pipe, profile, chroma_format, width, height, - VL_MPEG12_MC_RENDERER_BUFFER_PICTURE, - true, - PIPE_FORMAT_VUYX); + switch (u_reduce_video_profile(profile)) { + case PIPE_VIDEO_CODEC_MPEG12: + return vl_create_mpeg12_context(pipe, profile, + chroma_format, + width, height, + true, + PIPE_FORMAT_XYUV); + default: + return NULL; + } } |