From eb776a16ea3c02096ee4eff2f12da0f03cb03ef3 Mon Sep 17 00:00:00 2001 From: Jun Zhao Date: Wed, 27 Jun 2018 15:09:25 +0800 Subject: [PATCH] lavfi/minterpolate: fix blending calc issue. the right blending calc is: (alpha * Frame_2 + (MAX - alpha) * Frame_1 + 512) >> 10 Signed-off-by: Jun Zhao --- libavfilter/vf_minterpolate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_minterpolate.c b/libavfilter/vf_minterpolate.c index d53431593d..c6a5e63f90 100644 --- a/libavfilter/vf_minterpolate.c +++ b/libavfilter/vf_minterpolate.c @@ -1122,8 +1122,8 @@ static void interpolate(AVFilterLink *inlink, AVFrame *avf_out) for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { avf_out->data[plane][x + y * avf_out->linesize[plane]] = - alpha * mi_ctx->frames[2].avf->data[plane][x + y * mi_ctx->frames[2].avf->linesize[plane]] + - ((ALPHA_MAX - alpha) * mi_ctx->frames[1].avf->data[plane][x + y * mi_ctx->frames[1].avf->linesize[plane]] + 512) >> 10; + (alpha * mi_ctx->frames[2].avf->data[plane][x + y * mi_ctx->frames[2].avf->linesize[plane]] + + (ALPHA_MAX - alpha) * mi_ctx->frames[1].avf->data[plane][x + y * mi_ctx->frames[1].avf->linesize[plane]] + 512) >> 10; } } }