0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
mpv/video
wm4 543ba6c114 video: add VO framedropping mode
This mostly uses the same idea as with vo_vdpau.c, but much simplified.

On X11, it tries to get the display framerate with XF86VM, and limits
the frequency of new video frames against it. Note that this is an old
extension, and is confirmed not to work correctly with multi-monitor
setups. But we're using it because it was already around (it is also
used by vo_vdpau).

This attempts to predict the next vsync event by using the time of the
last frame and the display FPS. Even if that goes completely wrong,
the results are still relatively good.

On other systems, or if the X11 code doesn't return a display FPS, a
framerate of 1000 is assumed. This is infinite for all practical
purposes, and means that only frames which are definitely too late are
dropped. This probably has worse results, but is still useful.

"--framedrop=yes" is basically replaced with "--framedrop=decoder". The
old framedropping mode is kept around, and should perhaps be improved.
Dropping on the decoder level is still useful if decoding itself is too
slow.
2014-08-15 23:33:33 +02:00
..
decode video: move display and timing to a separate thread 2014-08-12 23:24:08 +02:00
filter vf_vapoursynth: print more diagnostics on error 2014-08-11 21:57:15 +02:00
out video: add VO framedropping mode 2014-08-15 23:33:33 +02:00
csputils.c video: add a default color space for files with no video 2014-07-28 21:24:44 +02:00
csputils.h video: Include better heuristics for guessing primaries 2014-06-22 19:05:43 +02:00
fmt-conversion.c vda: only support the new hwaccel 1.2 API (remove old code) 2014-08-01 10:38:18 +02:00
fmt-conversion.h Take care of some libavutil deprecations, drop support for FFmpeg 1.0 2013-11-29 17:39:57 +01:00
hwdec.h video: move display and timing to a separate thread 2014-08-12 23:24:08 +02:00
image_writer.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
image_writer.h image_writer: mp_msg conversions 2013-12-21 20:50:10 +01:00
img_format.c video: cosmetics: reformat image format names table 2014-06-14 10:06:23 +02:00
img_format.h build: deal with endian mess 2014-07-10 00:58:56 +02:00
img_fourcc.h build: deal with endian mess 2014-07-10 00:58:56 +02:00
memcpy_pic.h memcpy_pic: reformat 2013-11-06 20:27:13 +01:00
mp_image_pool.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
mp_image_pool.h video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
mp_image.c video: Include better heuristics for guessing primaries 2014-06-22 19:05:43 +02:00
mp_image.h video: Add support for non-BT.709 primaries 2014-06-22 19:00:38 +02:00
sws_utils.c video: correct spelling: mp_image_params_equals -> mp_image_params_equal 2014-06-17 23:30:27 +02:00
sws_utils.h options: remove global variables for swscale options; rename them 2014-06-11 00:39:13 +02:00
vaapi.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vaapi.h video: warn if an emulated hwdec API is used 2014-05-28 02:08:45 +02:00
vdpau_functions.inc video: warn if an emulated hwdec API is used 2014-05-28 02:08:45 +02:00
vdpau_mixer.c vdpau: correctly mark invalid mixer as such on vdp_video_mixer_create() failure 2014-08-13 17:57:19 +02:00
vdpau_mixer.h vdpau_mixer: allow overriding frame opts 2014-05-02 01:08:04 +02:00
vdpau.c vdpau: allocate surfaces by age 2014-08-11 14:03:53 +02:00
vdpau.h vdpau: allocate surfaces by age 2014-08-11 14:03:53 +02:00
vfcap.h video: remove --flip 2013-12-05 22:58:54 +01:00