mpv/video/out
LaserEyess dd86f195a6 vo_gpu: adjust interpolation_threshold's default
When mpv attempts to play a video that is, on average, 60 FPS on a
display that is not exactly 60.00 Hz, two options try to fight each
other: `video-sync-max-video-change` and `interpolation-threshold`.
Normally, container FPS in something such as an .mp4 or a .mkv is
precise enough such that the video can be retimed exactly to the display
Hz and interpolation is not activated.

In the case of something like certain live streaming videos or other scenario
where container FPS is not known, the default option of 0.0001 for
`interpolation-threshold` is extremely low, and while
`video-sync-max-video-change` retimes the video to what it approximately
knows as the "real" FPS, this may or may not be outside of
`interpolation-threshold`'s logic at any given time, which causes
interpolation to be frequently flipped on and off giving an appearance
of stuttering or repeated frames that is oftern quite jarring and makes
a video unwatchable.

This commit changes the default of `interpolation-threshold` to 0.01,
which is the same value as `video-sync-max-video-change`, and guarantees
that if the user accepts a video being retimed to match the display,
they do not additionally have to worry about a much more
precise interpolation threshold randomly flipping on or off. No internal
logic is changed so setting `interpolation-threshold` to -1 will still
disable this logic entirely and always enable interpolation.

The documentation has been updated to reflect this change and give
context to the user for which scenarios they might want to disable
`interpolation-threshold` logic or change it to a smaller value.
2021-03-28 20:26:41 +03:00
..
cocoa cocoa_common: remove deprecated VOCTRLs/VO_EVENTs 2019-12-12 19:56:03 +01:00
d3d11 options: Make validation and help possible for all option types 2021-03-28 19:46:27 +03:00
gpu vo_gpu: adjust interpolation_threshold's default 2021-03-28 20:26:41 +03:00
hwdec vo_gpu: vaapi: export plane pitch properly 2021-02-12 23:31:46 +01:00
mac mac: fix traditional fullscreen on macOS 11 2021-02-27 13:12:46 +01:00
opengl wayland: unify frame/presentation callback code 2020-12-14 22:44:43 +00:00
placebo vo_gpu: placebo: keep track of texture sample mode 2021-03-21 17:18:20 +01:00
vulkan options: Make validation and help possible for all option types 2021-03-28 19:46:27 +03:00
win32 vo_gpu: win: remove exclusive-fullscreen detection hack 2017-12-20 14:53:41 +11:00
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: fix traditional fullscreen on macOS 11 2021-02-27 13:12:46 +01:00
cocoa_common.h
cocoa_common.m build: change filenames of generated files 2020-06-04 16:59:05 +02:00
dither.c
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_atomic: do not set immutable properties 2020-02-02 18:01:55 +02:00
drm_atomic.h drm: rename plane options to better, invariant, names 2018-12-01 15:42:20 +02:00
drm_common.c options: Make validation and help possible for all option types 2021-03-28 19:46:27 +03:00
drm_common.h drm: avoid division by 0 in drm_pflip_cb with bad drivers 2019-12-07 18:34:25 +01: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
filter_kernels.h
libmpv.h client API: add software rendering API 2020-07-08 22:42:05 +02:00
libmpv_sw.c client API: add software rendering API 2020-07-08 22:42:05 +02:00
vo.c video/out/vo_sixel.c: Implement sixel as a output device 2020-11-07 18:51:49 +02:00
vo.h vo_vdpau: remove deprecated/inactive --vo-vdpau-deint option 2020-09-09 15:38:39 +02:00
vo_caca.c vo_caca: Implement VOCTRL_UPDATE_WINDOW_TITLE 2019-10-29 17:07:41 +01:00
vo_direct3d.c vo_direct3d: dumb down OSD rendering 2020-05-13 23:16:32 +02:00
vo_drm.c vo_wlshm, vo_drm: set image size with mp_image_set_size 2020-05-17 12:53:26 +02:00
vo_gpu.c options: Make validation and help possible for all option types 2021-03-28 19:46:27 +03:00
vo_image.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
vo_lavc.c encode: get rid of the output packet queue 2018-05-03 01:08:44 +03:00
vo_libmpv.c client API: add software rendering API 2020-07-08 22:42:05 +02:00
vo_mediacodec_embed.c vo_mediacodec_embed: fix forgotten VO_CAP_NOREDRAW→VO_CAP_NORETAIN 2018-02-20 01:59:20 +02:00
vo_null.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
vo_rpi.c rpi: use "brcm" variant of libGLESv2 2020-04-23 14:05:32 +02:00
vo_sdl.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01: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: don't leak the frame reference 2020-11-29 14:15:51 +02:00
vo_vaapi.c draw_bmp: use command line options for any used scalers 2020-05-13 20:07:59 +02:00
vo_vdpau.c vo_vdpau: remove an unused variable 2020-09-10 23:25:30 +02:00
vo_wlshm.c vo_wlshm: support big endian systems 2021-02-04 21:13:09 +02:00
vo_x11.c vo_x11: partially restore operation on bad endian systems 2020-06-17 19:44:50 +02:00
vo_xv.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
w32_common.c w32_common: Scale window when moving to display with different DPI 2020-05-08 21:47:32 +10:00
w32_common.h
wayland_common.c wayland: no mouse dragging in fullscreen/maximized 2021-03-02 16:40:13 -06:00
wayland_common.h wayland: remove unused function declaration 2020-12-13 18:30:19 -06:00
win_state.c win_state: silence a valgrind warning 2019-09-19 20:37:05 +02:00
win_state.h
x11_common.c x11: update geometry/autofit opts on runtime 2020-12-14 22:44:05 +00:00
x11_common.h x11: update geometry/autofit opts on runtime 2020-12-14 22:44:05 +00:00