mpv/video/out/d3d11
James Ross-Gowan 03cb8755e1 vo_gpu: d3d11: don't reset frame stats after pause
I think I was wrong about having to reset the stats when mpv stops
producing frames, eg. when it's paused. As long as the swapchain doesn't
underflow, last_queue_display_time will still be accurate, because the
next frame produced should still be presented one vsync after the
last one in the swapchain.

If the swapchain underflows (which is the common case for when mpv is
paused for more than 150ms,) the next predicted frame time should be in
the past. It should be fine to leave last_queue_display_time unset in
this case, since vo.c will use the current time instead, which is a
decent guess (though it doesn't take vsync phase into account.)

last_sync_refresh_count and last_sync_qpc_time should be kept on
swapchain underflow as well. Assuming the display refresh rate doesn't
change while mpv is paused, they'll only provide a more accurate guess
of the vsync duration when mpv starts playing again. Also,
vsync_duration_qpc never needs to get reset. It will get overwritten
immediately in most cases, and when it doesn't, it's still a better
guess of the vsync duration than nothing.
2019-09-26 23:41:38 +03:00
..
context.c vo_gpu: d3d11: don't reset frame stats after pause 2019-09-26 23:41:38 +03:00
hwdec_d3d11va.c video: rewrite filtering glue code 2018-01-30 03:10:27 -08:00
hwdec_dxva2dxgi.c vo_d3d11/hwdec_dxva2dxgi: fix memory leak that 'ctx11' be not release 2019-09-14 21:35:49 +10:00
ra_d3d11.c vo_gpu: d3d11: fix storage lifetime of compound literals 2019-08-20 18:12:21 +10:00
ra_d3d11.h vo_gpu: hwdec_d3d11va: allow zero-copy video decoding 2017-11-07 20:27:13 +11:00