From 115b7c96e9e8823e5c8a8bc2137be8e2038befcd Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 24 Jun 2018 02:50:16 +0200 Subject: [PATCH] libavcodec/vp8: Do not compute line pointers per pixel in fade() 72->60 seconds Testcase: 8680/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VP7_fuzzer-5861504418054144 Signed-off-by: Michael Niedermayer --- libavcodec/vp8.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 62b9f8bc2d..3adfeac3d9 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -492,9 +492,11 @@ static void fade(uint8_t *dst, ptrdiff_t dst_linesize, { int i, j; for (j = 0; j < height; j++) { + const uint8_t *src2 = src + j * src_linesize; + uint8_t *dst2 = dst + j * dst_linesize; for (i = 0; i < width; i++) { - uint8_t y = src[j * src_linesize + i]; - dst[j * dst_linesize + i] = av_clip_uint8(y + ((y * beta) >> 8) + alpha); + uint8_t y = src2[i]; + dst2[i] = av_clip_uint8(y + ((y * beta) >> 8) + alpha); } } }