[FFmpeg-cvslog] lavfi/blend: always peek the first frame of each queue.
Clément Bœsch
git at videolan.org
Fri Mar 22 23:12:35 CET 2013
ffmpeg | branch: master | Clément Bœsch <ubitux at gmail.com> | Fri Mar 22 09:54:06 2013 +0100| [89b4e758d3d0b1170297281e567cb12cc718e234] | committer: Clément Bœsch
lavfi/blend: always peek the first frame of each queue.
Before the change, filter_frame() always waited for 2 samples in the
bottom frames queue. This notably fixes commands such as
./ffplay tests/lena.pnm -vf split,blend=c0_mode=addition
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=89b4e758d3d0b1170297281e567cb12cc718e234
---
libavfilter/vf_blend.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavfilter/vf_blend.c b/libavfilter/vf_blend.c
index bc276d4..c9e7e7d 100644
--- a/libavfilter/vf_blend.c
+++ b/libavfilter/vf_blend.c
@@ -359,7 +359,7 @@ static int request_frame(AVFilterLink *outlink)
b->frame_requested = 1;
while (b->frame_requested) {
- in = ff_bufqueue_peek(&b->queue_top, TOP) ? BOTTOM : TOP;
+ in = ff_bufqueue_peek(&b->queue_top, 0) ? BOTTOM : TOP;
ret = ff_request_frame(ctx->inputs[in]);
if (ret < 0)
return ret;
@@ -413,8 +413,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf)
while (1) {
AVFrame *top_buf, *bottom_buf, *out_buf;
- if (!ff_bufqueue_peek(&b->queue_top, TOP) ||
- !ff_bufqueue_peek(&b->queue_bottom, BOTTOM)) break;
+ if (!ff_bufqueue_peek(&b->queue_top, 0) ||
+ !ff_bufqueue_peek(&b->queue_bottom, 0)) break;
top_buf = ff_bufqueue_get(&b->queue_top);
bottom_buf = ff_bufqueue_get(&b->queue_bottom);
More information about the ffmpeg-cvslog
mailing list