[FFmpeg-devel] [PATCH v2] avfilter/vf_delogo: make the interp value compute method simple

Limin Wang lance.lmwang at gmail.com
Mon Oct 7 18:07:52 EEST 2019


On Mon, Oct 07, 2019 at 01:12:46PM +0800, Steven Liu wrote:
> because the interp >= 0UL comparison of an unsigned value is always true
> fix CID: 1454642
> 
> Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
> ---
>  libavfilter/vf_delogo.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavfilter/vf_delogo.c b/libavfilter/vf_delogo.c
> index 376c5e850f..3678548353 100644
> --- a/libavfilter/vf_delogo.c
> +++ b/libavfilter/vf_delogo.c
> @@ -168,7 +168,7 @@ static void apply_delogo(uint8_t *dst, int dst_linesize,
>                   botleft[x-logo_x1-1]  +
>                   botleft[x-logo_x1+1]) * weightb;
>              weight = (weightl + weightr + weightt + weightb) * 3U;
> -            interp = ROUNDED_DIV(interp, weight);
> +            interp = (interp + weight >> 1) / weight;

By the macros definition:
#define ROUNDED_DIV(a,b) (((a)>0 ? (a) + ((b)>>1) : (a) - ((b)>>1))/(b))

I feel it should be:
interp = (interp - weight >> 1) / weight;

instead of: 
interp = (interp + weight >> 1) / weight;


>  
>              if (y >= logo_y+band && y < logo_y+logo_h-band &&
>                  x >= logo_x+band && x < logo_x+logo_w-band) {
> -- 
> 2.17.2 (Apple Git-113)
> 
> 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list