[FFmpeg-devel] [PATCH] lavfi/blend: always peek the first frame of each queue.

Clément Bœsch ubitux at gmail.com
Fri Mar 22 10:06:58 CET 2013


On Fri, Mar 22, 2013 at 09:54:06AM +0100, Clément Bœsch wrote:
> ---
>  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);

This patch BTW fixes
  ./ffplay tests/lena.pnm -vf split,blend=c0_mode=addition

-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130322/34b69f41/attachment.asc>


More information about the ffmpeg-devel mailing list