mpv/video/out
Dudemanguy c1de4bb745 vo_dmabuf_wayland: rewrite around wl_list
vo_dmabuf_wayland worked by allocating entries to a pool and then having
a lot of complex logic dealing with releasing buffers, pending entries,
etc. along with some other not so nice things. Instead, we can rewrite
this logic so that the wl_buffers created by the imported dmabuf is
instead stored in a linked list, wl_list. We can simply append our
buffers to the list when needed and destroy everything at the end. On
every frame, we can check the ids of our surfaces and reuse existing
buffers, so in practice there will only ever be a handful at a time.
Some other small changes were made in an attempt to organize the
vaapi/drmprime code a little better as well.

An important change is to always enforce at least a minimum number of
buffers. Certain formats would not make enough unique buffers, and this
results in flickering/artifacts occuring. The old way to attempt to deal
with this was to clear out all the existing buffers and remake them, but
this gets complicated and also didn't always work. An easy solution to
this is just create more buffers which appears to solve this problem.
The actual number needed is not really based on anything solid, but 8
is a reasonable number to create for the lifetime of a file and it seems
to do the trick.

Additionally, seeking/loading new files can result in flicker artificts
due to buffers being reused when they shouldn't. When that happens, we
flip a bool so all the buffers get destroyed in draw_frame to avoid any
visual glitches.
2023-05-24 21:53:17 +00:00
..
cocoa
d3d11 ra_d3d11: change how messages are ignored during texture size lookup 2023-05-18 21:56:54 +02:00
gpu vo_gpu_next: remove --tone-mapping-crosstalk 2023-05-24 21:32:00 +02:00
gpu_next vo_gpu_next: drop various PL_API_VER checks 2023-03-26 20:55:58 -07:00
hwdec hwdec_drmprime: support rpi4_8 and rpi4_10 formats 2023-04-20 14:37:15 -07:00
mac options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
opengl context_drm_egl: check for non-existant drm in uninit 2023-05-22 21:47:24 -05:00
placebo video/out/placebo/utils: add mappings from pl enums to mpv enums 2023-03-05 22:37:05 -05:00
vulkan options: remove explicit initialization of integers to 0 2023-02-21 17:15:17 +00:00
win32
wldmabuf Revert "vo_dmabuf_wayland: drop support for linux-dmabuf-v2" 2023-02-18 02:21:54 +00:00
android_common.c vo: change vo_platform_init to bool 2023-01-08 20:42:42 +00:00
android_common.h vo: change vo_platform_init to bool 2023-01-08 20:42:42 +00:00
aspect.c
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_cb_common.swift options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
cocoa_common.h
cocoa_common.m various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
dither.c various: fix warning -Wimplicit-const-int-float-conversion 2023-02-26 16:45:07 +01:00
dither.h
dr_helper.c vo: add `int flags` to the get_image signature 2023-01-23 14:13:34 +01:00
dr_helper.h vo: add `int flags` to the get_image signature 2023-01-23 14:13:34 +01:00
drm_atomic.c drm: rewrite based around vo_drm_state 2023-01-21 17:08:29 +00:00
drm_atomic.h drm: rewrite based around vo_drm_state 2023-01-21 17:08:29 +00:00
drm_common.c options: remove explicit initialization of integers to 0 2023-02-21 17:15:17 +00:00
drm_common.h drm: rewrite based around vo_drm_state 2023-01-21 17:08:29 +00:00
drm_prime.c
drm_prime.h
filter_kernels.c filter_kernels: fix kaiser 2022-12-20 13:53:25 +01:00
filter_kernels.h
libmpv.h vo: add `int flags` to the get_image signature 2023-01-23 14:13:34 +01:00
libmpv_sw.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00: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.c vo: fix race condition with redraw requests 2023-03-02 22:09:10 +00:00
vo.h various: fix typos 2023-03-28 19:29:44 +00:00
vo_caca.c
vo_direct3d.c various: fix typos 2023-03-28 19:29:44 +00:00
vo_dmabuf_wayland.c vo_dmabuf_wayland: rewrite around wl_list 2023-05-24 21:53:17 +00:00
vo_drm.c drm: rewrite based around vo_drm_state 2023-01-21 17:08:29 +00:00
vo_gpu.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
vo_gpu_next.c vo_gpu_next: fix build on older libplacebo 2023-05-24 22:06:03 +02:00
vo_image.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
vo_kitty.c options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
vo_lavc.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
vo_libmpv.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00: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
vo_rpi.c options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
vo_sdl.c options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
vo_sixel.c various: fix various typos in the code base 2023-03-28 19:29:44 +00:00
vo_tct.c options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
vo_vaapi.c options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
vo_vdpau.c options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
vo_wlshm.c wayland: use bool type for alpha framebuffer tracking 2023-02-28 14:53:32 +00:00
vo_x11.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
vo_xv.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
w32_common.c win32: follow Windows settings and update dark mode state 2023-04-04 20:04:57 +02:00
w32_common.h vo: change vo_platform_init to bool 2023-01-08 20:42:42 +00:00
wayland_common.c wayland: improve guessing when mpv is focused 2023-05-17 16:13:04 -05:00
wayland_common.h wayland: use correct x/y coordinates for the cursor 2023-03-08 14:06:22 +00:00
win_state.c
win_state.h
x11_common.c player: add --auto-window-resize option 2023-03-02 02:55:36 +00:00
x11_common.h player: add --auto-window-resize option 2023-03-02 02:55:36 +00:00