diff options
author | Philip Langdale <philipl@overt.org> | 2022-03-12 11:24:51 -0800 |
---|---|---|
committer | Philip Langdale <github.philipl@overt.org> | 2022-09-21 09:39:34 -0700 |
commit | 989d873d6ec57171a55f432d6f87a9e5a61a706c (patch) | |
tree | 0077fcefc7be591eea5d6ad2e4e2373c8d59b49d /filters/filter.h | |
parent | 5629ed81eed90f95a04bb3d8ff64f135bd186651 (diff) | |
download | mpv-989d873d6ec57171a55f432d6f87a9e5a61a706c.tar.bz2 mpv-989d873d6ec57171a55f432d6f87a9e5a61a706c.tar.xz |
filters: lavfi: allow hwdec_interop selection for filters
Today, lavfi filters are provided a hw_device from the first
hwdec_interop that was loaded, regardless of whether it's the right one
or not. In most situations where a hardware based filter is used, we
need more control over the device.
In this change, a `hwdec_interop` option is added to the lavfi wrapper
filter configuration and this is used to pick the correct hw_device to
inject into the filter or graph (in the case of a graph, all filters
get the same device).
Note that this requires the use of the explicit lavfi syntax to allow
for the extra configuration.
eg:
```
mpv --vf=hwupload
```
becomes
```
mpv --vf=lavfi=[hwupload]:hwdec_interop=cuda-nvdec
```
or
```
mpv --vf=lavfi-bridge=[hwupload]:hwdec_interop=cuda-nvdec
```
Diffstat (limited to 'filters/filter.h')
-rw-r--r-- | filters/filter.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/filters/filter.h b/filters/filter.h index 52797eb433..4df54b6112 100644 --- a/filters/filter.h +++ b/filters/filter.h @@ -408,8 +408,7 @@ struct mp_stream_info { // Search for a parent filter (including f) that has this set, and return it. struct mp_stream_info *mp_filter_find_stream_info(struct mp_filter *f); -struct AVBufferRef; -struct AVBufferRef *mp_filter_load_hwdec_device(struct mp_filter *f, int imgfmt); +struct mp_hwdec_ctx *mp_filter_load_hwdec_device(struct mp_filter *f, int imgfmt); // Perform filtering. This runs until the filter graph is blocked (due to // missing external input or unread output). It returns whether any outside |