mirror of
https://github.com/mpv-player/mpv
synced 2024-10-02 16:25:33 +02:00
vd_lavc: prefer nvdec over vdpau with --hwdec=auto
nvdec aka cuvid aka cuda should work much better than vdpau, and support newer codecs (such as vp9), and more advanced surface formats (like 10 bit). This requires moving the d3d hwaccels in the autoprobe order, since on Windows, d3d decoding should be preferred over nvidia proprietary stuff. Users of older drivers will need to force --hwdec=vdpau, since it could happen that the vo_gpu cuda hwdec interop loads (so the vdpau interop is not loaded), but the hwdec itself doesn't work. I expect this does not break AMD (which still needs vdpau for vo_gpu interop, until libva is fixed so it can fully support AMD).
This commit is contained in:
parent
ce3af51e58
commit
c7596d3c8b
@ -244,10 +244,23 @@ static const struct vd_lavc_hwdec mp_vd_lavc_videotoolbox_copy = {
|
||||
#endif
|
||||
|
||||
static const struct vd_lavc_hwdec *const hwdec_list[] = {
|
||||
#if HAVE_D3D_HWACCEL
|
||||
&mp_vd_lavc_d3d11va,
|
||||
|
||||
#if HAVE_D3D9_HWACCEL
|
||||
&mp_vd_lavc_dxva2,
|
||||
&mp_vd_lavc_dxva2_copy,
|
||||
#endif
|
||||
&mp_vd_lavc_d3d11va_copy,
|
||||
#endif
|
||||
#if HAVE_RPI
|
||||
&mp_vd_lavc_rpi,
|
||||
&mp_vd_lavc_rpi_copy,
|
||||
#endif
|
||||
#if HAVE_CUDA_HWACCEL
|
||||
&mp_vd_lavc_nvdec,
|
||||
&mp_vd_lavc_nvdec_copy,
|
||||
#endif
|
||||
#if HAVE_VDPAU
|
||||
&mp_vd_lavc_vdpau,
|
||||
&mp_vd_lavc_vdpau_copy,
|
||||
@ -260,22 +273,11 @@ static const struct vd_lavc_hwdec *const hwdec_list[] = {
|
||||
&mp_vd_lavc_vaapi,
|
||||
&mp_vd_lavc_vaapi_copy,
|
||||
#endif
|
||||
#if HAVE_D3D_HWACCEL
|
||||
&mp_vd_lavc_d3d11va,
|
||||
|
||||
#if HAVE_D3D9_HWACCEL
|
||||
&mp_vd_lavc_dxva2,
|
||||
&mp_vd_lavc_dxva2_copy,
|
||||
#endif
|
||||
&mp_vd_lavc_d3d11va_copy,
|
||||
#endif
|
||||
#if HAVE_ANDROID
|
||||
&mp_vd_lavc_mediacodec,
|
||||
&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
|
||||
|
@ -44,9 +44,6 @@ static const struct ra_hwdec_driver *const mpgl_hwdec_drivers[] = {
|
||||
#if HAVE_VAAPI_EGL
|
||||
&ra_hwdec_vaegl,
|
||||
#endif
|
||||
#if HAVE_VDPAU_GL_X11
|
||||
&ra_hwdec_vdpau,
|
||||
#endif
|
||||
#if HAVE_VIDEOTOOLBOX_GL || HAVE_IOS_GL
|
||||
&ra_hwdec_videotoolbox,
|
||||
#endif
|
||||
@ -66,6 +63,9 @@ static const struct ra_hwdec_driver *const mpgl_hwdec_drivers[] = {
|
||||
#if HAVE_CUDA_HWACCEL
|
||||
&ra_hwdec_cuda,
|
||||
#endif
|
||||
#if HAVE_VDPAU_GL_X11
|
||||
&ra_hwdec_vdpau,
|
||||
#endif
|
||||
#if HAVE_RPI
|
||||
&ra_hwdec_rpi_overlay,
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user