mpv/player
Dudemanguy 8f043de961 player/sub: avoid wasteful subtitle redraws
This only affects two special cases: printing subtitles to the terminal
and printing subtitles on a still picture. Previously, mpv was very dumb
here and spammed this logic on every single loop. For terminal
subtitles, this isn't as big of a deal, but for the image case this is
pretty bad. The entire VO constantly redrew even when there was no need
to which can be very expensive depending on user settings.

Instead, let's rework sub_read_packets so that it also tells us whether
or not the subtitle packets update in some way in addition to telling us
whether or not to read more. Since we cache all packets thanks to the
previous commit, we can leverage this information to make a guess
whether or not the current subtitle packet is supposed to be visible on
the screen. Because the redraw now only happens when it is needed, the
mp_set_timeout_hack can be removed.
2024-02-15 16:43:11 +00:00
..
javascript js: complex key-binding: send also key_text 2024-02-09 16:54:57 +02:00
lua console.lua: move functions to strip common characters 2024-02-08 18:18:33 +01:00
audio.c audio: add --volume-gain options to control volume in decibels 2024-01-20 16:08:33 +00:00
client.c mp_thread: prefer tracking threads with id 2023-11-05 17:36:17 +00:00
client.h scripting: remove race condition when toggling internal scripts 2020-03-26 23:59:44 +01:00
command.c player/command: add deinterlace-active property 2024-02-07 14:50:09 +00:00
command.h various: add missing include in header flles 2023-09-21 14:40:11 +00:00
configfiles.c options: rename --watch-later-directory to --watch-later-dir 2023-10-25 16:16:37 +00:00
core.h player/sub: avoid wasteful subtitle redraws 2024-02-15 16:43:11 +00:00
external_files.c command: restore lang after track reload 2024-01-20 17:26:45 +00:00
external_files.h command: restore lang after track reload 2024-01-20 17:26:45 +00:00
javascript.c scripting: rename backend names for concise naming 2023-10-27 23:18:56 +00:00
loadfile.c player: add forced choice to subs-with-matching-audio 2024-01-13 03:26:06 +00:00
lua.c scripting: add mp.input 2024-01-13 02:53:08 +00:00
main.c ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
meson.build meson: generate .com in the same place as the .exe if possible 2023-11-27 18:42:19 +00:00
misc.c player: refactor secondary subtitle options and properties 2023-12-16 15:25:32 +00:00
osd.c player: remove --term-remaining-playtime option 2024-01-20 23:24:48 +00:00
playloop.c player/sub: avoid wasteful subtitle redraws 2024-02-15 16:43:11 +00:00
screenshot.c screenshot: remove artificial limit on the number of screenshots taken 2023-12-28 15:45:08 +00:00
screenshot.h player: make screenshot each-frame mode more accurate 2020-02-07 13:32:21 +01:00
scripting.c mp_thread: prefer tracking threads with id 2023-11-05 17:36:17 +00:00
sub.c player/sub: avoid wasteful subtitle redraws 2024-02-15 16:43:11 +00:00
video.c Reapply "video: remove another redundant wakeup" 2024-02-15 16:39:58 +00:00