summaryrefslogtreecommitdiffstats
path: root/video/decode/vd_lavc.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-05-05 00:44:03 +0200
committerwm4 <wm4@nowhere>2017-05-05 00:48:53 +0200
commit5757db844a449ed6a1e0fadb2bd62bae6852c78a (patch)
treee22fdff215edd3c786c80a47c90bacbd4428e664 /video/decode/vd_lavc.c
parent0d122f8963c6ff43f2b7c9f5828163b07ef5febf (diff)
downloadmpv-5757db844a449ed6a1e0fadb2bd62bae6852c78a.tar.bz2
mpv-5757db844a449ed6a1e0fadb2bd62bae6852c78a.tar.xz
cuda: add new way to set cuda context on cuvid codecs
See FFmpeg commit c0f17a905f3588bf61ba6d86a83c6835d431ed3d.
Diffstat (limited to 'video/decode/vd_lavc.c')
-rw-r--r--video/decode/vd_lavc.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
index d15f01768b..fe4409968a 100644
--- a/video/decode/vd_lavc.c
+++ b/video/decode/vd_lavc.c
@@ -131,7 +131,7 @@ extern const struct vd_lavc_hwdec mp_vd_lavc_dxva2;
extern const struct vd_lavc_hwdec mp_vd_lavc_dxva2_copy;
extern const struct vd_lavc_hwdec mp_vd_lavc_d3d11va;
extern const struct vd_lavc_hwdec mp_vd_lavc_d3d11va_copy;
-extern const struct vd_lavc_hwdec mp_vd_lavc_cuda;
+extern const struct vd_lavc_hwdec mp_vd_lavc_cuda_old;
#if HAVE_RPI
static const struct vd_lavc_hwdec mp_vd_lavc_rpi = {
@@ -154,6 +154,14 @@ static const struct vd_lavc_hwdec mp_vd_lavc_mediacodec = {
};
#endif
+#if NEW_CUDA_HWACCEL
+static const struct vd_lavc_hwdec mp_vd_lavc_cuda = {
+ .type = HWDEC_CUDA,
+ .image_format = IMGFMT_CUDA,
+ .lavc_suffix = "_cuvid",
+ .generic_hwaccel = true,
+};
+#endif
#if HAVE_CUDA_HWACCEL
static const struct vd_lavc_hwdec mp_vd_lavc_cuda_copy = {
.type = HWDEC_CUDA_COPY,
@@ -255,7 +263,11 @@ static const struct vd_lavc_hwdec *const hwdec_list[] = {
&mp_vd_lavc_mediacodec,
#endif
#if HAVE_CUDA_HWACCEL
+ #if NEW_CUDA_HWACCEL
&mp_vd_lavc_cuda,
+ #else
+ &mp_vd_lavc_cuda_old,
+ #endif
&mp_vd_lavc_cuda_copy,
#endif
&mp_vd_lavc_crystalhd,