1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-23 00:06:56 +00:00
mpv/video
Philip Langdale 9ff8c9e780 vd_lavc: let the user provide a priority list of hwdecs to consider
Today, the only way to make mpv consider multiple hwdecs and pick the
first one that works is to use one of the `auto` modes. But the list
that is considered in those cases is hard-coded. If the user wants to
provide their own list, they are out of luck.

And I think that there is now a significant reason to support this -
the new Vulkan hwdec is definitely not ready to be in the auto list,
but if you want to use it by default, it will not work with many codecs
that are normally hardware decodable (only h.264, hevc and av1 if you
are very lucky). Everything else will fall back to software decoding.

Instead, what you really want to say is: use Vulkan for whatever it
supports, and fall back to my old hwdec for everything else.

One side-effect of this implementation is that you can freely mix
hwdec names and special values like `auto` and `no`. The behaviour will
be correct, so I didn't try and prohibit any combinations. However,
some combinations will be silly - eg: sticking any further values after
`no` will result in them being ignored. On the other hand, a
combination like `vulkan,auto` could be very useful as that will use
Vulkan if possible, and if not, run the normal auto routine.

Fixes #11797
2023-06-29 11:58:51 -07:00
..
decode vd_lavc: let the user provide a priority list of hwdecs to consider 2023-06-29 11:58:51 -07:00
filter mp_image: abort on av_buffer_ref() failure 2023-06-28 20:56:23 -07:00
out wayland: remove erroneous POLLERR usage 2023-06-29 13:17:56 +02:00
csputils.c video: add missing libplacebo colorspace enums 2023-03-05 22:37:05 -05:00
csputils.h video: add missing libplacebo colorspace enums 2023-03-05 22:37:05 -05:00
cuda.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
d3d.c
d3d.h
drmprime.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
fmt-conversion.c hwdec_vulkan: add Vulkan HW Interop 2023-05-28 15:46:05 -07:00
fmt-conversion.h
hwdec.c filters: support loading new hwdec_interops from filters 2022-09-21 09:39:34 -07:00
hwdec.h vo: hwdec: do hwdec interop lookup by image format 2022-09-21 09:39:34 -07:00
image_loader.c
image_loader.h
image_writer.c image_writer: respect jpeg-quality when using ffmpeg for writing 2023-06-29 12:42:15 +02:00
image_writer.h image_writer: remove unused struct fields 2023-06-29 11:33:19 +02:00
img_format.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
img_format.h hwdec_vulkan: add Vulkan HW Interop 2023-05-28 15:46:05 -07:00
mp_image_pool.c f_hwtransfer: disable vulkan multiplane images when uploading from cuda 2023-05-28 15:46:05 -07:00
mp_image_pool.h f_hwtransfer: disable vulkan multiplane images when uploading from cuda 2023-05-28 15:46:05 -07:00
mp_image.c mp_image: abort on av_buffer_ref() failure 2023-06-28 20:56:23 -07:00
mp_image.h mp_image: forward AV_FRAME_DATA_DOVI_RPU_BUFFER side data 2023-02-19 20:50:37 +01:00
repack.c repack: add repacker for ccc16x16 formats 2022-09-10 12:31:44 -07:00
repack.h
sws_utils.c test: integrate unittests with meson 2023-03-02 15:45:27 +00:00
sws_utils.h sws_utils: work around libswscale corrupting memory yet again 2020-09-17 15:24:27 +02:00
vaapi.c
vaapi.h
vdpau_functions.inc
vdpau_mixer.c
vdpau_mixer.h options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
vdpau.c
vdpau.h
zimg.c video: add missing libplacebo colorspace enums 2023-03-05 22:37:05 -05:00
zimg.h options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00