On 11/27/2016 1:08 PM, Nicolas George wrote: > A lot of changes happen at the same time: > > - Add a framequeue fifo to AVFilterLink. > > - split AVFilterLink.status into status_in and status_out: requires > changes to the few filters and programs that use it directly > (f_interleave, split, filtfmts). > > - Add a field ready to AVFilterContext, marking when the filter is ready > and its activation priority. > > - Add flags to mark blocked links. > > - Change ff_filter_frame() to enqueue the frame. > > - Change all filtering functions to update the ready field and the > blocked flags. > > - Update ff_filter_graph_run_once() to use the ready field. > > - buffersrc: always push the frame immediately. > > Signed-off-by: Nicolas George <geo...@nsup.org> > --- > libavfilter/avfilter.c | 457 > ++++++++++++++++++++++++++++++++++------- > libavfilter/avfilter.h | 71 +++++-- > libavfilter/avfiltergraph.c | 53 ++--- > libavfilter/buffersink.c | 21 +- > libavfilter/buffersrc.c | 6 +- > libavfilter/f_interleave.c | 8 +- > libavfilter/internal.h | 6 + > libavfilter/split.c | 5 +- > libavfilter/tests/filtfmts.c | 3 + > libavfilter/vf_extractplanes.c | 6 +- > 10 files changed, 493 insertions(+), 143 deletions(-)
This patch made audio encoding extremely slow. time ./ffmpeg -i INPUT.wav -c:a tta -f null - Before size=N/A time=00:00:22.98 bitrate=N/A speed= 373x video:0kB audio:1272kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown real 0m0.089s user 0m0.000s sys 0m0.000s After size=N/A time=00:00:22.98 bitrate=N/A speed=2.29x video:0kB audio:1272kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown real 0m10.087s user 0m0.015s sys 0m0.000s CPU usage for the latter is almost zero during the entire 10 seconds. And it can be reproduced with pretty much any encoder. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel