1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-19 22:36:55 +00:00
mpv/video/out
Philip Langdale 989d873d6e 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
```
2022-09-21 09:39:34 -07:00
..
cocoa cocoa_common: remove deprecated VOCTRLs/VO_EVENTs 2019-12-12 19:56:03 +01:00
d3d11 vo: hwdec: do hwdec interop lookup by image format 2022-09-21 09:39:34 -07:00
gpu filters: lavfi: allow hwdec_interop selection for filters 2022-09-21 09:39:34 -07:00
gpu_next vo_gpu_next: pass GL get_proc_addr pointer to libplacebo 2022-08-19 13:54:50 +02:00
hwdec vo: hwdec: do hwdec interop lookup by image format 2022-09-21 09:39:34 -07:00
mac mac: avoid unnecessary unsafe conversions; fixes crash in debug builds 2022-09-14 16:28:12 -05:00
opengl vo: hwdec: do hwdec interop lookup by image format 2022-09-21 09:39:34 -07:00
placebo libplacebo: fix compatibility with libplacebo >= 5 2022-07-16 13:06:21 +03:00
vulkan x11: avoid XPresent API calls when it's not needed 2022-06-22 18:09:11 +00:00
win32
android_common.c options: simplify --android-surface-size handling 2020-09-20 12:04:25 +02:00
android_common.h context_android: move common code to a separate file 2019-09-27 00:05:06 +03:00
aspect.c options: add --video-scale-x/y 2020-06-03 17:26:44 +02:00
aspect.h
bitmap_packer.c video/out/bitmap_packer: Avoid empty initializer list 2019-11-18 16:50:21 +01:00
bitmap_packer.h
cocoa_cb_common.swift mac: avoid unnecessary unsafe conversions; fixes crash in debug builds 2022-09-14 16:28:12 -05:00
cocoa_common.h
cocoa_common.m various: fix typos 2022-04-25 09:07:18 -04:00
dither.c video/out/dither: remove custom index_t typedef 2022-06-04 01:23:03 +02:00
dither.h
dr_helper.c client API: fix potential deadlock problems by throwing more shit at it 2019-09-26 14:14:49 +02:00
dr_helper.h client API: fix potential deadlock problems by throwing more shit at it 2019-09-26 14:14:49 +02:00
drm_atomic.c drm: context_drm_egl: add support for enabling VRR 2022-04-05 20:56:36 -07:00
drm_atomic.h drm: context_drm_egl: add support for enabling VRR 2022-04-05 20:56:36 -07:00
drm_common.c drm_common: remove hard dependency on drmIsKMS() 2022-08-11 18:31:04 +02:00
drm_common.h wayland: use mp_tag_str not drm_format_string 2022-05-30 19:51:46 +00:00
drm_prime.c drm_prime: fallback to drmModeAddFB2 2020-05-08 21:26:25 +02:00
drm_prime.h drm_prime: double free bug 2020-03-05 18:12:57 +01:00
filter_kernels.c various: fix typos 2022-04-25 09:07:18 -04:00
filter_kernels.h
libmpv_sw.c client API: add software rendering API 2020-07-08 22:42:05 +02:00
libmpv.h client API: add software rendering API 2020-07-08 22:42:05 +02:00
present_sync.c vo: move wayland presentation to separate files 2022-06-19 18:13:55 +00:00
present_sync.h vo: move wayland presentation to separate files 2022-06-19 18:13:55 +00:00
vo_caca.c vo_caca: Implement VOCTRL_UPDATE_WINDOW_TITLE 2019-10-29 17:07:41 +01:00
vo_direct3d.c various: fix typos 2022-04-25 09:07:18 -04:00
vo_drm.c drm_common: enable specific device selection by means of path 2021-10-25 20:37:03 +02:00
vo_gpu_next.c vo_gpu_next: support error diffusion dithering 2022-09-20 14:59:00 +02:00
vo_gpu.c vo_gpu[_next]: hwdec: fix logging regression when probing 2022-03-21 09:53:37 -07:00
vo_image.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
vo_lavc.c
vo_libmpv.c client API: add software rendering API 2020-07-08 22:42:05 +02:00
vo_mediacodec_embed.c vo: hwdec: do hwdec interop lookup by image format 2022-09-21 09:39:34 -07:00
vo_null.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
vo_rpi.c vo_rpi: fix DISPMANX_UPDATE_HANDLE_T leak 2021-09-28 16:46:52 +00:00
vo_sdl.c sub: rename SUBBITMAP_RGBA to SUBBITMAP_BGRA 2022-01-11 23:45:08 +02:00
vo_sixel.c vo_sixel: don't divide by zero on small terminal 2020-12-02 17:06:11 +02:00
vo_tct.c vo_tct: add resize capability 2021-08-26 11:29:07 -07:00
vo_vaapi_wayland.c vo_vaapi_wayland: remove vaapi format query as formats are never used 2022-06-21 14:05:19 +00:00
vo_vaapi.c x11: support xorg present extension 2022-06-19 18:13:55 +00:00
vo_vdpau.c various: fix typos 2022-04-25 09:07:18 -04:00
vo_wlshm.c vo: move wayland presentation to separate files 2022-06-19 18:13:55 +00:00
vo_x11.c x11: avoid XPresent API calls when it's not needed 2022-06-22 18:09:11 +00:00
vo_xv.c x11: avoid XPresent API calls when it's not needed 2022-06-22 18:09:11 +00:00
vo.c vo: allow vaapi_wayland and vaapi_x11 to coexist 2022-05-30 19:51:46 +00:00
vo.h vd_lavc: add vo caps and option to set GPU film grain application 2022-04-05 15:02:18 +02:00
w32_common.c various: remove trailing whitespace 2022-05-14 14:51:34 +00:00
w32_common.h
wayland_common.c wayland: add support for F13-F24 keys 2022-09-02 14:05:46 +02:00
wayland_common.h wayland: add support for configure bounds 2022-08-14 16:04:49 +00:00
win_state.c win_state: add vo_calc_window_geometry3 2021-09-06 10:16:10 +03:00
win_state.h win_state: add vo_calc_window_geometry3 2021-09-06 10:16:10 +03:00
x11_common.c x11: add support for F13-F24 keys 2022-09-02 14:05:46 +02:00
x11_common.h x11: avoid XPresent API calls when it's not needed 2022-06-22 18:09:11 +00:00