summaryrefslogtreecommitdiffstats
path: root/video/decode/vd_lavc.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-10-28 19:59:08 +0200
committerwm4 <wm4@nowhere>2017-10-28 19:59:08 +0200
commit6b745769b1fd15ba03edad3fe381abb745bf9907 (patch)
tree393cba00ce5561df576bb6d1d5507cefca870d18 /video/decode/vd_lavc.c
parent3413fe4dfdd61724719e3582aeb91b2523a00b84 (diff)
downloadmpv-6b745769b1fd15ba03edad3fe381abb745bf9907.tar.bz2
mpv-6b745769b1fd15ba03edad3fe381abb745bf9907.tar.xz
vd_lavc: add support for nvdec hwaccel
See manpage additions. (In ffmpeg-mpv and Libav, this is still called "cuvid". Libav won't work yet, because it has no frame params support yet, but this could get fixed soon.)
Diffstat (limited to 'video/decode/vd_lavc.c')
-rw-r--r--video/decode/vd_lavc.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
index c07c1590fe..6f09908090 100644
--- a/video/decode/vd_lavc.c
+++ b/video/decode/vd_lavc.c
@@ -158,6 +158,19 @@ static const struct vd_lavc_hwdec mp_vd_lavc_rkmpp = {
};
#if HAVE_CUDA_HWACCEL
+static const struct vd_lavc_hwdec mp_vd_lavc_nvdec = {
+ .type = HWDEC_NVDEC,
+ .image_format = IMGFMT_CUDA,
+ .generic_hwaccel = true,
+ .set_hwframes = true,
+};
+static const struct vd_lavc_hwdec mp_vd_lavc_nvdec_copy = {
+ .type = HWDEC_NVDEC_COPY,
+ .image_format = IMGFMT_CUDA,
+ .generic_hwaccel = true,
+ .set_hwframes = true,
+ .copying = true,
+};
static const struct vd_lavc_hwdec mp_vd_lavc_cuda = {
.type = HWDEC_CUDA,
.image_format = IMGFMT_CUDA,
@@ -272,6 +285,8 @@ static const struct vd_lavc_hwdec *const hwdec_list[] = {
&mp_vd_lavc_mediacodec_copy,
#endif
#if HAVE_CUDA_HWACCEL
+ &mp_vd_lavc_nvdec,
+ &mp_vd_lavc_nvdec_copy,
&mp_vd_lavc_cuda,
&mp_vd_lavc_cuda_copy,
#endif