1
mirror of https://github.com/mpv-player/mpv synced 2024-10-26 07:22:17 +02:00
mpv/player
wm4 d223959cda player: slightly adjust framerate guessing heuristic
Some files not only use rounded timestamps, but they also do it
incorrectly. They may jitter between up to 4 specific frame durations.
In this case, I found a file that mostly used 41ms and 42ms, but also
had 40ms and 43ms outliers (often but not always following each other).

This breaks the assumption of the framerate estimation code that the
frame duration can deviate up to 1ms. If it jitters around 4 possible
frame durations, the maximum deviation is 3ms. Increase it accordingly.

The change might make playback of "true VFR" video via display-sync mode
worse, but it's not like it was particularly good in the first place.

Also, the check whether to usen the container FPS needs to be stricter.
In the worst case, num_dur is 1, which doesn't really indicate any
evidence that the framerate is correct. Only if there are "enough"
frames the deviation check will become meaningful. 16 is an arbitrary
value that has been designated "enough" by myself.

Also otuput the frame duration values for --dump-stats.
2016-08-29 17:15:06 +02:00
..
lua player: fix minor spelling mistake in osc.lua 2016-08-27 09:02:11 +02:00
audio.c audio: avoid missed wakeups with ab-loops 2016-08-24 12:14:48 +02:00
client.c client API: add stream_cb API for user-defined stream implementations 2016-08-07 19:33:20 +02:00
client.h client API: add stream_cb API for user-defined stream implementations 2016-08-07 19:33:20 +02:00
command.c command: export profile list as a property 2016-08-28 19:46:54 +02:00
command.h player: make looping slightly more seamless 2016-08-18 20:40:23 +02:00
configfiles.c audio: drop --softvol=no and --softvol=auto 2016-07-09 18:31:18 +02:00
core.h player: make looping slightly more seamless 2016-08-18 20:40:23 +02:00
external_files.c ta: remove old and redundant macro 2016-05-17 10:53:14 +02:00
external_files.h player: rename and move find_subfiles.c 2015-09-20 18:05:06 +02:00
lavfi.c lavfi: shut up false positive compiler warnings 2016-04-26 19:38:51 +02:00
lavfi.h player: add complex filter graph support 2016-02-05 23:19:56 +01:00
loadfile.c player: don't directly access demuxer->stream 2016-08-26 13:33:38 +02:00
lua.c osd: cleanup: make OSDTYPE_ constants private to OSD code 2016-03-08 22:01:57 +01:00
main.c audio: use --audio-channels=auto behavior, except on ALSA 2016-08-04 20:49:20 +02:00
misc.c player: update Windows playback state asynchronously 2016-08-20 14:46:38 +02:00
osd.c player: add option to disable video OSD 2016-08-28 18:26:59 +02:00
playloop.c player: make looping slightly more seamless 2016-08-18 20:40:23 +02:00
screenshot.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
screenshot.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
scripting.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
sub.c osd: cleanup: make OSDTYPE_ constants private to OSD code 2016-03-08 22:01:57 +01:00
video.c player: slightly adjust framerate guessing heuristic 2016-08-29 17:15:06 +02:00