mirror of https://github.com/mpv-player/mpv
1f4a74cbed
Until now, we always required the playback core to decode a new frame to
get more output from the filter. That seems to be completely
unnecessary, because filtered results may arrive before that.
Add a filter_out callback, and restructure the code such that it can
return any filtered frames, or block if it hasn't read at least one
frame.
In the worst case, it still can happen that bursts of input requests and
output requests happen. (This commit tries to reduce burst-like
behavior, but it's not entirely possible due to the indeterministic
nature of VS threading.)
This is a similar change as with
|
||
---|---|---|
.. | ||
pullup.c | ||
pullup.h | ||
vf.c | ||
vf.h | ||
vf_buffer.c | ||
vf_crop.c | ||
vf_delogo.c | ||
vf_divtc.c | ||
vf_dlopen.c | ||
vf_dlopen.h | ||
vf_dsize.c | ||
vf_eq.c | ||
vf_expand.c | ||
vf_flip.c | ||
vf_format.c | ||
vf_gradfun.c | ||
vf_hqdn3d.c | ||
vf_ilpack.c | ||
vf_lavfi.c | ||
vf_lavfi.h | ||
vf_mirror.c | ||
vf_noformat.c | ||
vf_noise.c | ||
vf_phase.c | ||
vf_pp.c | ||
vf_pullup.c | ||
vf_rotate.c | ||
vf_scale.c | ||
vf_screenshot.c | ||
vf_softpulldown.c | ||
vf_stereo3d.c | ||
vf_sub.c | ||
vf_swapuv.c | ||
vf_unsharp.c | ||
vf_vapoursynth.c | ||
vf_vavpp.c | ||
vf_vdpaupp.c | ||
vf_yadif.c |