1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-25 00:53:22 +00:00
mpv/filters
Philip Langdale 7b84e6fa89 f_autoconvert: f_hwtransfer: support HW -> HW uploads
Historically, HW -> HW uploads did not exist, so the current code
assumes they will never happen. But as part of introducing Vulkan
support into ffmpeg, we added HW -> HW support to enable transfers
between Vulkan and CUDA.

Today, that means you can use the lavfi hwupload filter with the
correct configuration (and previous changes in this series) but it
would be more convenient to enable HW -> HW in the format filter so
that the transfers can be done more intuitively:

```
--vf=format=fmt=cuda
```

and

```
--vf=format=fmt=vulkan
```

Most of the work here is skipping logic that is specific to SW -> HW
uploads doing format conversion. There is no ability to do inline
conversion when moving between HW formats, so the format must be
mutually understood to begin with.

Additional work needs to be done to enable transfers between VAAPI
and Vulkan which uses mapping, rather than uploads. I'll tackle that
in the next change.
2022-09-21 09:39:34 -07: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: Re-add vavpp deinterlacing auto-filter 2022-03-02 16:21:04 -08:00
f_auto_filters.h filters/auto_filters: switch from scaletempo to scaletempo2 2021-02-15 00:13:03 +02:00
f_autoconvert.c f_autoconvert: f_hwtransfer: support HW -> HW uploads 2022-09-21 09:39:34 -07:00
f_autoconvert.h
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_autoconvert: f_hwtransfer: support HW -> HW uploads 2022-09-21 09:39:34 -07:00
f_hwtransfer.h
f_lavfi.c filters: lavfi: allow hwdec_interop selection for filters 2022-09-21 09:39:34 -07:00
f_lavfi.h filters: lavfi: allow hwdec_interop selection for filters 2022-09-21 09:39:34 -07:00
f_output_chain.c filters: support loading new hwdec_interops from filters 2022-09-21 09:39:34 -07:00
f_output_chain.h
f_swresample.c swresample: don't forcibly clip on every conversion 2022-06-23 23:52:35 +02:00
f_swresample.h
f_swscale.c
f_swscale.h
f_utils.c osdep: rename MP_UNREACHABLE 2021-11-03 15:15:20 +01:00
f_utils.h various: fix typos 2022-04-25 09:07:18 -04:00
filter_internal.h filter: add a helper 2020-08-27 11:55:20 +02:00
filter.c filters: lavfi: allow hwdec_interop selection for filters 2022-09-21 09:39:34 -07:00
filter.h filters: lavfi: allow hwdec_interop selection for filters 2022-09-21 09:39:34 -07:00
frame.c
frame.h
user_filters.c filters: lavfi: allow hwdec_interop selection for filters 2022-09-21 09:39:34 -07:00
user_filters.h audio: add scaletempo2 filter based on chromium 2020-07-27 00:57:22 +02:00