mpv/video/out
Kacper Michajłow 477a0f8318 vo: replace VOCTRL_HDR_METADATA with direct VO params read
Currently VOCTRL are completely unusable for frequent data query. Since
the HDR parameter addition to video-params, the parameters can change
each frame. In which case observe on those parameter would be triggered
constantly. The problem is that quering those parameters involves VOCTRL
which in turn involves whole render cycle of delay.

Instead update VO params on each draw_frame. This requires changes to VO
reconfiguration condition, but in practice it should only be triggered
when image size or data layout changes. In other cases it will be
handled internal by VO driver.

I'm not quite happy with this solution, but don't see better one without
changing observe/notify logic significantly. There is no good way
currently to handle VOCTRL that are constantly queried.

This adds unfortunate synchronization of player command with VO thread,
but there is not way around that and if too frequent queries of this
param becomes a problem we can thing of other solutions.

Changes the way to get data from VO driver added by a98c5328dc

Fixes: 84de84b
Fixes: #12825
2023-11-08 21:45:07 +00:00
..
cocoa
d3d11 d3d11: calc vsync interval on real stats, not just last interval 2023-10-23 00:10:49 +00:00
gpu vo_gpu_next: add --target-gamut option 2023-11-08 00:55:39 +01:00
gpu_next
hwdec ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
mac vo_gpu/vo_gpu_next: add vulkan support for macOS 2023-10-14 18:39:56 +02:00
opengl drm: use present_sync mechanism for presentation feedback 2023-11-06 15:44:45 +00:00
placebo ra_pl: drop deprecated cached_program param 2023-11-05 01:00:02 +00:00
vulkan vo_gpu/vo_gpu_next: add vulkan support for macOS 2023-10-14 18:39:56 +02:00
win32 ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
wldmabuf
android_common.c
android_common.h
aspect.c aspect: remove unused multiplication 2023-10-23 00:10:42 +00:00
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_cb_common.swift
cocoa_common.h
cocoa_common.m timer: remove unnecesary time conversions 2023-11-05 17:36:17 +00:00
dither.c dither: removed some unused code 2023-10-16 15:38:59 +00:00
dither.h
dr_helper.c mp_thread: prefer tracking threads with id 2023-11-05 17:36:17 +00:00
dr_helper.h mp_thread: prefer tracking threads with id 2023-11-05 17:36:17 +00:00
drm_atomic.c
drm_atomic.h
drm_common.c present_sync: remove unneeded clear_values function 2023-11-07 00:52:46 +00:00
drm_common.h drm: use present_sync mechanism for presentation feedback 2023-11-06 15:44:45 +00:00
drm_prime.c
drm_prime.h
filter_kernels.c vo_gpu: remove --scale-cutoff etc 2023-09-25 12:45:17 +02:00
filter_kernels.h vo_gpu: remove --scale-cutoff etc 2023-09-25 12:45:17 +02:00
libmpv.h
libmpv_sw.c
mac_common.swift vo_gpu/vo_gpu_next: add vulkan support for macOS 2023-10-14 18:39:56 +02:00
meson.build
present_sync.c present_sync: remove unneeded clear_values function 2023-11-07 00:52:46 +00:00
present_sync.h present_sync: remove unneeded clear_values function 2023-11-07 00:52:46 +00:00
vo.c vo: replace VOCTRL_HDR_METADATA with direct VO params read 2023-11-08 21:45:07 +00:00
vo.h vo: replace VOCTRL_HDR_METADATA with direct VO params read 2023-11-08 21:45:07 +00:00
vo_caca.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_direct3d.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_dmabuf_wayland.c vo_dmabuf_wayland: correct full window size calculation 2023-10-05 22:28:37 +00:00
vo_drm.c drm: use present_sync mechanism for presentation feedback 2023-11-06 15:44:45 +00:00
vo_gpu.c vo: change vo->driver->wait_events to nanoseconds 2023-10-10 19:10:55 +00:00
vo_gpu_next.c vo: replace VOCTRL_HDR_METADATA with direct VO params read 2023-11-08 21:45:07 +00:00
vo_image.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_kitty.c
vo_lavc.c ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
vo_libmpv.c timer: remove unnecesary time conversions 2023-11-05 17:36:17 +00:00
vo_mediacodec_embed.c
vo_null.c timer: change mp_sleep_us to mp_sleep_ns 2023-10-10 19:10:55 +00:00
vo_rpi.c timer: remove unnecesary time conversions 2023-11-05 17:36:17 +00:00
vo_sdl.c vo: change vo->driver->wait_events to nanoseconds 2023-10-10 19:10:55 +00:00
vo_sixel.c
vo_tct.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_vaapi.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_vdpau.c vo: use nanoseconds for frame duration and pts 2023-10-10 19:10:55 +00:00
vo_wlshm.c
vo_x11.c timer: add convenience time unit conversion macros 2023-10-16 15:38:59 +00:00
vo_xv.c timer: add convenience time unit conversion macros 2023-10-16 15:38:59 +00:00
w32_common.c win32: fix hit test using client rc instead window 2023-11-07 16:42:28 +00:00
w32_common.h
wayland_common.c present_sync: only save as many entries as the swapchain depth 2023-11-07 00:52:46 +00:00
wayland_common.h vo: change vo->driver->wait_events to nanoseconds 2023-10-10 19:10:55 +00:00
win_state.c
win_state.h
x11_common.c present_sync: only save as many entries as the swapchain depth 2023-11-07 00:52:46 +00:00
x11_common.h various: sort some standard headers 2023-10-20 21:31:09 +02:00