1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-24 15:52:25 +00:00
mpv/filters
Philip Langdale 5186651f30 vo_gpu: hwdec: load hwdec interops on-demand by default
Historically, we have treated hwdec interop loading as a completely
separate step from loading the hwdecs themselves. Some hwdecs need an
interop, and some don't, and users generally configure the exact
hwdec they want, so interops that aren't relevant for that hwdec
shouldn't be loaded to save time and avoid warning/error spam.

The basic approach here is to recognise that interops are tied to
hwdecs by imgfmt. The hwdec outputs some format, and an interop is
needed to get that format to the vo without read back.

So, when we try to load an hwdec, instead of just blindly loading all
interops as we do today, let's pass the imgfmt in and only load
interops that work for that format. If more than one interop is
available for the format, the existing logic (whatever it is) will
continue to be used to pick one.

We also have one callsite in filters where we seem to pre-emptively
load all the interops. It's probably possible to trace down a specific
format but for now I'm just letting it keep loading all of them; it's
no worse than before.

You may notice there is no documentation update - and that's because
the current docs say that when the interop mode is `auto`, the interop
is loaded on demand. So reality now reflects the docs. How nice.
2022-02-17 20:02:32 -08:00
..
f_async_queue.c f_async_queue: add various helper functions 2020-08-28 20:08:32 +02:00
f_async_queue.h f_async_queue: add various helper functions 2020-08-28 20:08:32 +02:00
f_auto_filters.c filters/auto_filters: switch from scaletempo to scaletempo2 2021-02-15 00:13:03 +02:00
f_auto_filters.h filters/auto_filters: switch from scaletempo to scaletempo2 2021-02-15 00:13:03 +02:00
f_autoconvert.c vf_format: add gross mechanism for forcing scaler for testing 2020-04-13 15:56:27 +02:00
f_autoconvert.h vf_format: add gross mechanism for forcing scaler for testing 2020-04-13 15:56:27 +02:00
f_decoder_wrapper.c mp_image, f_decoder_wrapper: implement AV_FRAME_DATA_DISPLAYMATRIX 2021-12-15 16:39:45 +01:00
f_decoder_wrapper.h player: let frontend decide whether to use cover-art mode 2020-09-28 00:04:21 +02:00
f_demux_in.c f_demux_in: log EOF "recovery" 2020-08-27 18:40:57 +02:00
f_demux_in.h
f_hwtransfer.c f_hwtransfer: extend vaapi whitelist with some working formats 2020-01-17 15:13:23 +01:00
f_hwtransfer.h f_hwtransfer: move format fields to private struct 2020-01-12 01:47:42 +01:00
f_lavfi.c f_lavfi: replace deprecated avfilter_pad_count 2021-11-05 23:34:20 +01:00
f_lavfi.h
f_output_chain.c audio: redo video-sync=display-adrop 2020-05-23 04:04:46 +02:00
f_output_chain.h audio: redo video-sync=display-adrop 2020-05-23 04:04:46 +02:00
f_swresample.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
f_swresample.h
f_swscale.c f_swscale: let common code guess color levels when RGB->YUV 2020-04-23 13:26:04 +02:00
f_swscale.h vf_format: add gross mechanism for forcing scaler for testing 2020-04-13 15:56:27 +02:00
f_utils.c osdep: rename MP_UNREACHABLE 2021-11-03 15:15:20 +01:00
f_utils.h
filter_internal.h filter: add a helper 2020-08-27 11:55:20 +02:00
filter.c vo_gpu: hwdec: load hwdec interops on-demand by default 2022-02-17 20:02:32 -08:00
filter.h filter: add filter priority thing 2020-08-28 19:57:23 +02:00
frame.c
frame.h
user_filters.c options: remove always true m_obj_list::allow_unknown_entries 2021-11-15 14:02:08 +00:00
user_filters.h audio: add scaletempo2 filter based on chromium 2020-07-27 00:57:22 +02:00