diff options
author | wm4 <wm4@nowhere> | 2017-10-30 18:31:20 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-10-30 18:31:20 +0100 |
commit | b7ce3ac44575d82b5b23f10477b1158b84394b8f (patch) | |
tree | 612bae68b23a427a34fa5700fc309e819b3410bb /video/decode/vd_lavc.c | |
parent | 694157e024e52e6fcb01cfd2e9c6d50b85f9621f (diff) | |
download | mpv-b7ce3ac44575d82b5b23f10477b1158b84394b8f.tar.bz2 mpv-b7ce3ac44575d82b5b23f10477b1158b84394b8f.tar.xz |
vd_lavc: remove need for duplicated cuda GL interop backend
This is just a dumb consequence of HWDEC_ types somehow being part of
both decoder and VO. Obviously, the VO should only care about supporting
specific hardware surface types or providing specific device types, but
until they are separated, stupid unintuitive mismatches will occur.
Diffstat (limited to 'video/decode/vd_lavc.c')
-rw-r--r-- | video/decode/vd_lavc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c index ecc9e89962..6422346d31 100644 --- a/video/decode/vd_lavc.c +++ b/video/decode/vd_lavc.c @@ -160,6 +160,7 @@ 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, + .interop_type = HWDEC_CUDA, .image_format = IMGFMT_CUDA, .generic_hwaccel = true, .set_hwframes = true, @@ -369,8 +370,9 @@ static struct mp_hwdec_ctx *hwdec_create_dev(struct dec_video *vd, if (hwdec->create_dev) return hwdec->create_dev(vd->global, vd->log, autoprobe); if (vd->hwdec_devs) { - hwdec_devices_request(vd->hwdec_devs, hwdec->type); - return hwdec_devices_get(vd->hwdec_devs, hwdec->type); + int type = hwdec->interop_type ? hwdec->interop_type : hwdec->type; + hwdec_devices_request(vd->hwdec_devs, type); + return hwdec_devices_get(vd->hwdec_devs, type); } return NULL; } |