From patchwork Fri Sep 21 10:02:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 10426 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:12c4:0:0:0:0:0 with SMTP id 65-v6csp459555jap; Fri, 21 Sep 2018 03:02:43 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYiBVcRkHKBg6yrTWSS+Rk/iNFGp7/rFNXpfMhedRBFLInOOCS3JlcIObAOrmEgmtbvdzaO X-Received: by 2002:a5d:448d:: with SMTP id j13-v6mr37402598wrq.236.1537524163149; Fri, 21 Sep 2018 03:02:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537524163; cv=none; d=google.com; s=arc-20160816; b=qzCS5leCgp3JBKjAMZlBgIarbJE+vm8+MABHukZVAoZ5mQNVQ2fhZjrzjIzNUihvMo 8AoqWsd3/Iadj2w3oVMs2Zp3EhFITxYr9UhSWG5hPX961s0819VMqxjj7NnBiihZPsdO jB7/Op7Xj4seDjDkPsz+I4BuihZ487zk2Q5qRTj5bEOg2+qdoIbWhcu10xDmKpKy5P1U Pvw0lm0p+SfcFgzf3oy9cdGw/E9UNQH6QLIgYfxy5bFOCaocYnceNDI16CKndq7DYibe +JjPCl3njO9SbUtJH50MywinMqEXgeTW+D4bwgcwwlRk54NgScN7Jwd9chCuu7Pt+PGW TiwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to; bh=whXNfOgVJZVGr8BqePNPJ/+KAu5xJla/vcRWWb+zBns=; b=fIkpE04K5FBIloZ89JAFdahNh9FFxt5PJ1h0Dfb4UUHEiVbjekbzFJYoyNzEI1bevH d0MrxrJg6QNMSHHXH9kfWGAKwMg1M3/4qIqDEwdYVOROxo/fkmWjS8hv3mgi32Q54MsH Zm0mgwUgLzVZV+GbM9KNfm67waKcO6+uasjmpeIxDtQLlQQR3ipJrPXg0f2E+ZFb+8Rv voV+ccLvuyk14H86DPoMZYgcPNE7nSjKyzfsCvzIXtKLQJcntYWkVLqYXIHleTNmMadZ poq8Ad4IB+oekAruawpnut4FomYvRKxBZOMRvCLcfaFu/yEgZaH7jGFle/04dSdmOiag a7oQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=aNA6wlQF; 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=QUARANTINE 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 q18-v6si5464208wrg.14.2018.09.21.03.02.40; Fri, 21 Sep 2018 03:02:43 -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.s=20161025 header.b=aNA6wlQF; 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=QUARANTINE 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 EB60068A6EE; Fri, 21 Sep 2018 13:02:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4CAF768A53D for ; Fri, 21 Sep 2018 13:02:18 +0300 (EEST) Received: by mail-pg1-f179.google.com with SMTP id y18-v6so2536774pge.0 for ; Fri, 21 Sep 2018 03:02:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=/Lagn6psp5boJh5RmxLIi/CrKY7FvMsb74Z9bsHzYTc=; b=aNA6wlQFaS1BcqNUkhUiLRQQOVhQTf7zP/egnr1Yp53nfleOSgh1H2px75JTf0r+B6 YUzyNaiglrJYH05ZA50C8GXtgpNBxaiI78MX0jCMgBacv/3lOjHVJ9XiN8SVSK+NiuHg CetMqhiMxRm9TScveFXVxbdMguR2uJs+cXQ8cCy6/nX8yB2KJZk1rM8URe/+HgGVxMfl HgPXFTaTMy753rGxAOLhndC4K2mcHAMUydqwnueHM/ZoRAR/9Jz+H0QhQ8ZFfD0vHoD8 mfNiMdh3e/eYsrn/0EFZhf1C1HsxsyEg02MCaoxhsEVbstO4uAdnAlBZNAwkoGGKFTu8 WmPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=/Lagn6psp5boJh5RmxLIi/CrKY7FvMsb74Z9bsHzYTc=; b=uHsQ56xtWJb1SJu9bO/M/9t3yLGkFfJyBUkRFWs2HO8Kp5+35B+nsVpXiRH/x7GwrR b8CPQHTWa2bFhyHwesFJuaC0MkBzAUm8OJ0yz5bWt3YuoLfuLTSijwvTpTGH2TKmtYjB wHi/ZBCpaF8o14dX5XXBdbb+STeeTyT9GIxP8JP/iz54KsMZMl/6Vp5I2dtVm9u9l5OB cIlpF7TueqgardqZEv5qxjk0ougwdbhGX4HbG8sxdDFED00YBfLktOR2qHL8Lh/hudG8 JMGsml2DrsrxZu7wVNEqXWRODe9NsWbfAaVmw/I+O6oQPXUZi06zj+pqnSd2CgxV4ezk fZGQ== X-Gm-Message-State: APzg51A9S6Hzgew60C2Cpe8JuPKHdrhKsPFHArCjTzL8bgYq28r/ZlAC hi8iioelR4o+oMd+eQ8YQsap9scl X-Received: by 2002:a63:f501:: with SMTP id w1-v6mr40839975pgh.446.1537524150508; Fri, 21 Sep 2018 03:02:30 -0700 (PDT) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id y4-v6sm32621804pfm.137.2018.09.21.03.02.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 21 Sep 2018 03:02:29 -0700 (PDT) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Fri, 21 Sep 2018 18:02:24 +0800 Message-Id: <1537524144-24668-1-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 Subject: [FFmpeg-devel] [PATCH V2] lavfi/deshake: fix deshake crash issue. 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 Cc: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Fixes ticket #7441. for block contrast calculate, the block is like this: |<---------------- stride-----------------------| +-----------------------------------------------> X | | w = 16 | (cx,cy)+------+ | | | |h=blocksize| | | | | | +------+ V Y so we calc the block contrast use: (cy + y) * stride + (cx + x) Signed-off-by: Jun Zhao --- libavfilter/vf_deshake.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c index 55ce5e1..c8480e7 100644 --- a/libavfilter/vf_deshake.c +++ b/libavfilter/vf_deshake.c @@ -196,7 +196,7 @@ static int block_contrast(uint8_t *src, int x, int y, int stride, int blocksize) for (i = 0; i <= blocksize * 2; i++) { // We use a width of 16 here to match the sad function for (j = 0; j <= 15; j++) { - pos = (y - i) * stride + (x - j); + pos = (y + i) * stride + (x + j); if (src[pos] < lowest) lowest = src[pos]; else if (src[pos] > highest) {