mpv/video
wm4 f4ce3b8bb9 vo, vo_gpu, glx: correct GLX_OML_sync_control usage
I misunderstood how this extension works. If I understand it correctly
now, it's worse than I thought. They key thing is that the (ust, msc,
sbc) tripple is not for a single swap event. Instead, (ust, msc) run
independently from sbc. Assuming a CFR display/compositor, this means
you can at best know the vsync phase and frequency, but not the exact
time a sbc changed value.

There is GLX_INTEL_swap_event, which might work as expected, but it has
no EGL equivalent (while GLX_OML_sync_control does, in theory).

Redo the context_glx sync code. Now it's either more correct or less
correct. I wanted to add proper skip detection (if a vsync gets skipped
due to rendering taking too long and other problems), but it turned out
to be too complex, so only some unused fields in vo.h are left of it.
The "generic" skip detection has to do.

The vsync_duration field is also unused by vo.c.

Actually this seems to be an improvement. In cases where the flip call
timing is off, but the real driver-level timing apparently still works,
this will not report vsync skips or higher vsync jitter anymore. I could
observe this with screenshots and fullscreen switching. On the other
hand, maybe it just introduces an A/V offset or so.

Why the fuck can't there be a proper API for retrieving these
statistics? I'm not even asking for much.
2018-12-06 10:32:27 +01:00
..
decode vd_lavc: minor simplification for get_format fallback 2018-05-25 10:17:06 +02:00
filter vf_vapoursynth: correctly signal error on script init failure 2018-04-29 02:21:32 +03:00
out vo, vo_gpu, glx: correct GLX_OML_sync_control usage 2018-12-06 10:32:27 +01:00
csputils.c
csputils.h
d3d.c video: rewrite filtering glue code 2018-01-30 03:10:27 -08:00
d3d.h
fmt-conversion.c vo_gpu: make screenshots use the GL renderer 2018-02-11 17:45:51 -08:00
fmt-conversion.h
hwdec.c video: rewrite filtering glue code 2018-01-30 03:10:27 -08:00
hwdec.h video: rewrite filtering glue code 2018-01-30 03:10:27 -08:00
image_loader.c
image_loader.h
image_writer.c vo_gpu: make screenshots use the GL renderer 2018-02-11 17:45:51 -08:00
image_writer.h vo_gpu: make screenshots use the GL renderer 2018-02-11 17:45:51 -08:00
img_format.c video: remove libavutil PSEUDOPAL stuff 2018-04-03 20:08:15 +03:00
img_format.h img_format.h: cosmetics: fix whitespace 2018-03-15 23:13:53 -07:00
mp_image.c mp_image: strip all HDR peak information from SDR clips 2018-09-05 22:09:30 +02:00
mp_image.h video: remove internal stereo_out flag 2018-04-29 02:21:32 +03:00
mp_image_pool.c mp_image_pool: add helper functions for FFmpeg hw frames pools 2018-01-18 00:59:07 -08:00
mp_image_pool.h mp_image_pool: add helper functions for FFmpeg hw frames pools 2018-01-18 00:59:07 -08:00
sws_utils.c sws_utils: don't force callers to provide option struct 2018-01-18 00:59:07 -08:00
sws_utils.h sws_utils: don't force callers to provide option struct 2018-01-18 00:59:07 -08:00
vaapi.c vaapi: add option to select a non-default device path 2018-03-30 14:16:07 -07:00
vaapi.h
vdpau.c
vdpau.h
vdpau_functions.inc
vdpau_mixer.c
vdpau_mixer.h