From patchwork Thu Aug 3 01:03:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Muhammad Faiz X-Patchwork-Id: 4608 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.46.211 with SMTP id u202csp241341vsu; Wed, 2 Aug 2017 18:30:17 -0700 (PDT) X-Received: by 10.223.135.119 with SMTP id 52mr2780042wrz.141.1501723817804; Wed, 02 Aug 2017 18:30:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1501723817; cv=none; d=google.com; s=arc-20160816; b=d/HBbe5ld7u3Sx/CMR4xBZjX0qg9qlgT6V6TqQo5oKUYkYH0DvWWcUP3jYjEBdIEHE gSZcgrzb3+hG1xlbiC1/siMOlkgVAypDGO+muSV/FCK1WBDhbSs0TUGr7Ic3LaaHSUgO H9Foecns5EVTbiuAbFT7qu+G2kbUryUbogJOQbnamobRDzHBRE8g4gmvMlYVoEbNI0Gg uKwasiwwsM+wUup8FbGbDrBZW55iA0amB34vsBZxWGZ+pVTSEJoGxtmsu26/2FhL8lnA gw8Upt+3yRlvtFUG1wmQSBAEO0Mbef2bkl7KeMgXKtdu3plFD0qWvXqdv/M9PF351nhQ iZ0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=cW9m157GhWwchbYS26AJ4C8g7GLs7gi5rphlyfkMA9M=; b=J1pjd3VF9qo4BntPZxi3IqA4Wu9UQM8zr+kDzgqW1McLLyxG/Jcn/rWs+suFTgjCds vgq3Lf6frYqQH89L9q2uCMF2RJdla70nmWg2rg6FSlGKS2Ogr3PNeToqkksbrch/YaCq 0nEWeAT+oOJZrhbmikXu3yJ2SHCSH9WiU2cZnyLn6u7Y7p86YARt1FkWyyvOjbo7NkQm xR3SD51A0F8jodZTh9rTW6Ww8hvY0EoHTNOHbpLvBN5y9sehYnYxso2SJsTsW6tcbB/F AOrUgIiuOndFMGmhgcISDHi+GgB6WhxbF4F1ql8hdNzzfHalBkfi7uiEIoie9QY1MwxM eP2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.b=p5WILID9; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 12si410086wmp.233.2017.08.02.18.30.17; Wed, 02 Aug 2017 18:30:17 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.b=p5WILID9; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5F7DB689A06; Thu, 3 Aug 2017 04:30:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6FB16689822 for ; Thu, 3 Aug 2017 04:30:05 +0300 (EEST) Received: by mail-pf0-f193.google.com with SMTP id c65so26409pfl.0 for ; Wed, 02 Aug 2017 18:30:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=TwyeJKo/q/H4mPKhaKVqTI8LP0sZHCP8tyk29gjSOMc=; b=p5WILID9DK/qvDkUmB2IVzxn7HM9isaZoWMfyDM17y9YmVcDvKPbjw07lnivKoV1If MrjoZca20fT/vlbKst4Hp/reB2A3e8CSnb044bP1TZwXorU4J1y0tvMfi5/BXrvAw2Da dtqsqRpd7v4R1lN4oOf7ZX5aPF4KBLMe/KFiPHQAyLSLCXsG6sDxRUHAxgsV48kNk7w1 BoVrY8bH9ya3Wh8R0z8ttxpekI3toRBhY92dfXi5XYRk+P/Hd0w/WUuOBibnkw3L2fjg daFYTpiPHheadmX7VFC7Z5QE/TE6dewwWYuuNd6YtU59LntxfVsVA6gKweAU742IoW4Y YuVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=TwyeJKo/q/H4mPKhaKVqTI8LP0sZHCP8tyk29gjSOMc=; b=LLIT/vRufoRbTZJSteRHUunfqYMAgMjhxGf6TE7Kve9Scz1nafNF1dL7zrt7lcjvJ+ w6OFZ9+Z7c1OCmIFu+WcrXjWEYMy+bMSFGouKBvgVef4XHOxMwj5nF+9CQY3PAFTJDze K7UtM+UVxwOeIBj7K38ItTEmZCwQS7NheSvF5zX/35E86Zd/NPjaZBeOTh/NSXjuORac QAisBTE/Sc2oIzsAL7yOMzdkuQDOnFB0ceY19saj+ZIFm6Pk5fGZT9gVxODCk6u9A4nv 2xZtQQTI7qfkVqCYG3tDoqZWal5pCr/rYRpaOef5/YG8KqufszHbm1PsuU5J4JE1rv6/ 53IA== X-Gm-Message-State: AIVw113NJQxp/vMGoHtgVRDn14iNnnKhXqDRTBJSm5Mb7Mgu1PDRAMvL yujXGS3DNZviGw8X X-Received: by 10.84.136.135 with SMTP id 7mr28103070pll.356.1501722216561; Wed, 02 Aug 2017 18:03:36 -0700 (PDT) Received: from localhost.localdomain ([114.124.212.28]) by smtp.gmail.com with ESMTPSA id s123sm61794465pgs.2.2017.08.02.18.03.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Aug 2017 18:03:36 -0700 (PDT) From: Muhammad Faiz To: ffmpeg-devel@ffmpeg.org Date: Thu, 3 Aug 2017 08:03:24 +0700 Message-Id: <20170803010324.24672-1-mfcc64@gmail.com> X-Mailer: git-send-email 2.13.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] avfilter/vf_ssim: fix temp size calculation X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Also use av_mallocz_array. Fix Ticket6519. Signed-off-by: Muhammad Faiz --- libavfilter/vf_ssim.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libavfilter/vf_ssim.c b/libavfilter/vf_ssim.c index c3c204268f..d8c049177c 100644 --- a/libavfilter/vf_ssim.c +++ b/libavfilter/vf_ssim.c @@ -219,6 +219,8 @@ static float ssim_endn_8bit(const int (*sum0)[4], const int (*sum1)[4], int widt return ssim; } +#define SUM_LEN(w) (((w) >> 2) + 3) + static float ssim_plane_16bit(SSIMDSPContext *dsp, uint8_t *main, int main_stride, uint8_t *ref, int ref_stride, @@ -228,7 +230,7 @@ static float ssim_plane_16bit(SSIMDSPContext *dsp, int z = 0, y; float ssim = 0.0; int64_t (*sum0)[4] = temp; - int64_t (*sum1)[4] = sum0 + (width >> 2) + 3; + int64_t (*sum1)[4] = sum0 + SUM_LEN(width); width >>= 2; height >>= 2; @@ -256,7 +258,7 @@ static float ssim_plane(SSIMDSPContext *dsp, int z = 0, y; float ssim = 0.0; int (*sum0)[4] = temp; - int (*sum1)[4] = sum0 + (width >> 2) + 3; + int (*sum1)[4] = sum0 + SUM_LEN(width); width >>= 2; height >>= 2; @@ -402,7 +404,7 @@ static int config_input_ref(AVFilterLink *inlink) for (i = 0; i < s->nb_components; i++) s->coefs[i] = (double) s->planeheight[i] * s->planewidth[i] / sum; - s->temp = av_malloc_array((2 * inlink->w + 12), sizeof(*s->temp) * (1 + (desc->comp[0].depth > 8))); + s->temp = av_mallocz_array(2 * SUM_LEN(inlink->w), (desc->comp[0].depth > 8) ? sizeof(int64_t[4]) : sizeof(int[4])); if (!s->temp) return AVERROR(ENOMEM); s->max = (1 << desc->comp[0].depth) - 1;