mpv/video/filter
wm4 1f4a74cbed vf_vapoursynth: make it possible to get filter output incrementally
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 95bb0bb6.
2014-09-23 00:35:57 +02:00
..
pullup.c vf_pullup: remove inline asm 2014-04-19 17:10:20 +02:00
pullup.h vf_pullup: remove inline asm 2014-04-19 17:10:20 +02:00
vf.c video/filter: allow better dataflow 2014-09-18 19:36:27 +02:00
vf.h video/filter: allow better dataflow 2014-09-18 19:36:27 +02:00
vf_buffer.c video/filter: add vf_buffer 2014-07-30 23:29:00 +02:00
vf_crop.c Kill all tabs 2014-04-13 18:03:01 +02:00
vf_delogo.c vf_delogo: remove internal implementation 2014-03-16 13:19:29 +01:00
vf_divtc.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
vf_dlopen.c vf_dlopen: fix the order of the arguments to mp_image_alloc 2014-06-19 23:07:02 +02:00
vf_dlopen.h vf_dlopen: remove buggy private name -> imgfmt conversion 2014-05-15 10:32:16 -07:00
vf_dsize.c
vf_eq.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vf_expand.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vf_flip.c
vf_format.c Kill all tabs 2014-04-13 18:03:01 +02:00
vf_gradfun.c vf_gradfun: remove internal implementation 2014-03-16 13:19:29 +01:00
vf_hqdn3d.c vf_hqdn3d: remove internal implementation 2014-03-16 13:19:29 +01:00
vf_ilpack.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vf_lavfi.c vf_lavfi: fetch output frames incrementally 2014-09-18 19:36:55 +02:00
vf_lavfi.h build: simplify libavfilter configure checks 2014-03-16 13:19:29 +01:00
vf_mirror.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vf_noformat.c Kill all tabs 2014-04-13 18:03:01 +02:00
vf_noise.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vf_phase.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vf_pp.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vf_pullup.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vf_rotate.c Add more const 2014-06-11 00:39:14 +02:00
vf_scale.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
vf_screenshot.c
vf_softpulldown.c vf_softpulldown: handle null mpi_image correctly 2014-08-30 15:15:38 +02:00
vf_stereo3d.c video: initial Matroska 3D support 2014-08-30 23:24:46 +02:00
vf_sub.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vf_swapuv.c
vf_unsharp.c vf_unsharp: remove internal implementation 2014-03-16 13:19:29 +01:00
vf_vapoursynth.c vf_vapoursynth: make it possible to get filter output incrementally 2014-09-23 00:35:57 +02:00
vf_vavpp.c video: don't drop last frame when deinterlacing with yadif 2014-04-28 22:23:31 +02:00
vf_vdpaupp.c video: introduce failure path for image allocations 2014-06-17 22:43:43 +02:00
vf_yadif.c vf_yadif: remove internal implementation 2014-03-16 13:19:29 +01:00