summaryrefslogtreecommitdiffstats
path: root/video/decode
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-11-05 22:06:48 +0100
committerwm4 <wm4@nowhere>2013-11-05 22:28:15 +0100
commitdb6a4eec0a9a58a342147e526154c46f19e7c303 (patch)
tree673b058f5423592b2a2297a54f54921f3645e42c /video/decode
parent5cca9143abdbf413641dc8a657ca869a9425b5a9 (diff)
downloadmpv-db6a4eec0a9a58a342147e526154c46f19e7c303.tar.bz2
mpv-db6a4eec0a9a58a342147e526154c46f19e7c303.tar.xz
vo_opengl: support for vdpau hardware decoding
This uses vdpau OpenGL interop to convert a vdpau surface to a texture. Note that this is a bit weak and primitive. Deinterlacing (or any other form of vdpau postprocessing) is not supported. vo_opengl chroma scaling and chroma sample position are not supported. Internally, the vdpau video surfaces are converted to a RGBA surface first, because using the video surfaces directly is too complicated. (These surfaces are always split into separate fields, and the vo_opengl core expects progressive frames or frames with weaved fields.)
Diffstat (limited to 'video/decode')
-rw-r--r--video/decode/vdpau.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/video/decode/vdpau.c b/video/decode/vdpau.c
index 076dbb9da8..544ced51c3 100644
--- a/video/decode/vdpau.c
+++ b/video/decode/vdpau.c
@@ -221,6 +221,7 @@ static int init(struct lavc_ctx *ctx)
static int probe(struct vd_lavc_hwdec *hwdec, struct mp_hwdec_info *info,
const char *decoder)
{
+ hwdec_request_api(info, "vdpau");
if (!info || !info->vdpau_ctx)
return HWDEC_ERR_NO_CTX;
if (!hwdec_check_codec_support(decoder, profiles))