From patchwork Tue Sep 18 13:37:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 10358 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:12c4:0:0:0:0:0 with SMTP id 65-v6csp4705503jap; Tue, 18 Sep 2018 06:37:46 -0700 (PDT) X-Google-Smtp-Source: ANB0VdaWb8tLtpaJYZ9NLIor1nOsMQwXJP4EhPYgdh300r8q1VuQYHUBYaT4ryy5JndtjQGtQ/NC X-Received: by 2002:adf:de85:: with SMTP id w5-v6mr25371383wrl.270.1537277866188; Tue, 18 Sep 2018 06:37:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537277866; cv=none; d=google.com; s=arc-20160816; b=E4ezub+hZkyPEzl2jC6U199WSc4t0yDItKx79gHB50a+2HUl12hdZTGTjgHreOW6/I BDDCc5FK9S8aOFFRXEpsqUw/7BvvUH9MBtxb1RUc9HXEppguiXZdI9cAd3t2OSC0Xp5p ZmU93LAywRCiFG1XByIO1tyxcTgqDAjoYgnZm8i603RcTXq7BuRWpqjnl/EZXe3gtoSZ MMKR2QKLDF2L/UC7nJRLL5zCouMNDGmFlluYEWrKGvOkk1GJh4YoUnDs7g2t7mmPI3gN 2PcmfaSgxUgPQGf+wuYEt2otR3GLlxQ1oC06MHT1vOSNG0trgvTOWimPmwE6teOC3fF9 JEdA== 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=F8m/Rv0Y+VFVuUfo3H8PhisUkAI5Rnb1BkGB1+O2r8w=; b=Cy+x6aT/7pvJ8bgjHmn8kM/bggb0GyR9mc5UQAkeGpgDsLMrv56HBT/f6JEmx9nNFq tCJiT8x9bWY9b6s9QJ4vIzrLuG5HI2sJWo5Qu/kBCIsOb0ITzH+c9fh4TPNvBy5Fpcm3 ITG/7viw839ujWeSp3YCg5LmPHoWmhfo8MUdXdoSxFOSb7fWXeEip5EJD9ojuMWOldzo 4Z2ur/lOOMO3RspUEXJY1R02oc3C65vihFkc+T3+4HeiMr7voZQGl7tGSdWZAVShjFue 3zeK237BB9f8/GzRqU/r3EdIW71CkhSOx5q2Sy5CCZthD/BUg0ljwkbjrJrfBIwoSzzX eyvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=LYa8jg9e; 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 p2-v6si3099279wrj.355.2018.09.18.06.37.45; Tue, 18 Sep 2018 06:37:46 -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=LYa8jg9e; 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 8D606689CD8; Tue, 18 Sep 2018 16:37:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 25146689C16 for ; Tue, 18 Sep 2018 16:37:24 +0300 (EEST) Received: by mail-pl1-f177.google.com with SMTP id j8-v6so1011770pll.12 for ; Tue, 18 Sep 2018 06:37:37 -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=JDjaZUuncoFm1Xvrb7XKPOdJ3qPgzL8iHj42vD1yY00=; b=LYa8jg9eKbASXHnDhNoSnnxQO4isM0uQhEZaTyrAd51cUf2a0lUOnGg22tPebca7x7 Zi2VrJy3jYyYFw7S2B46lc2zuXIeBL64ObmC0xqSjQDfybT6Jg33emdhmGD6HFI93rra geiUlfne/NhBiKPcj4UznDcmPr3a/GL6QJfCfQg9gRDMKMpF5MGn1BhXY88Uyji0lKOB a41rEVjoTFf3ZTGszLMg3jhfWFP5NgyVMo4NkvbVNbwAQfVeElU+Q+MTjOFm0DJCz9iW QrqHOjCnTtytUMVMmDSlnBAAWo75sQGek2jk2h7xhG8DRQltmV4rGaaxNA2KBCL0vEsT en2w== 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=JDjaZUuncoFm1Xvrb7XKPOdJ3qPgzL8iHj42vD1yY00=; b=ngyNBd4se5+L7q24QGa07aCMzNfRc9XidOyU8da+MGT+1/xjdAZnrYJdM6x1g1Rv6h JNYTuGdgRnCeljFilJsUlEYO8831IxOgy7aoiTbxBbYvIvH0UDIWYptorMYiCvExJap7 cNNBWyLhPLFqmR/mU1SKTl0ex/AHHf4miUtB0Vviq/ZTPorep1R/4Rr6jeicGOJh2nQq tumZaSvpfnidz756xn1Jl9B7e/fyTl5yHTgqu7Oo38SRq4VpO0l+t64uAm5yRw86++3G BzL6CtXoFmWGFMrQ/9Q6qNojNrWzxBuq8PurEZk0Kzz6wG/CLuEqaOcHxWUyCVP2ERkv 1A3w== X-Gm-Message-State: APzg51CVVcTuDD87xMiyMz2P6SJzn5pYIb+Mz17CSip7WpFCXQessqFj zW9/rB2rXaDns18KYgD/QqFh6fr8 X-Received: by 2002:a17:902:3081:: with SMTP id v1-v6mr30102235plb.58.1537277855091; Tue, 18 Sep 2018 06:37:35 -0700 (PDT) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id 16-v6sm26557888pfo.164.2018.09.18.06.37.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 18 Sep 2018 06:37:33 -0700 (PDT) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Tue, 18 Sep 2018 21:37:29 +0800 Message-Id: <1537277849-14671-1-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 Subject: [FFmpeg-devel] [PATCH] 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. Signed-off-by: Jun Zhao --- libavfilter/vf_deshake.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c index 55ce5e1..5d2c7fa 100644 --- a/libavfilter/vf_deshake.c +++ b/libavfilter/vf_deshake.c @@ -196,11 +196,13 @@ 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); - if (src[pos] < lowest) - lowest = src[pos]; - else if (src[pos] > highest) { - highest = src[pos]; + if (y >= i) { + pos = (y - i) * stride + (x - j); + if (src[pos] < lowest) + lowest = src[pos]; + else if (src[pos] > highest) { + highest = src[pos]; + } } } }