From patchwork Fri Jun 14 08:40:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 49904 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:9196:0:b0:460:55fa:d5ed with SMTP id s22csp234526vqg; Fri, 14 Jun 2024 01:40:41 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWyhSaOQeME5wTe4W0GOnKG6xZMiwZMp/NYPvvfA0JRezS/qejjY4GM9Y3forV2dRM8bwt4cWCUYJT9RKMM7u27WMgAxe0DpJVwYQ== X-Google-Smtp-Source: AGHT+IEgrrRro7SJ7Zlgdt+NTobDKCIPG4ZGamRfbfuf1TzSHTj3oUJyGWLENjGxTaWF4m21no+T X-Received: by 2002:a05:6512:3aa:b0:52c:9421:e986 with SMTP id 2adb3069b0e04-52ca6e6556dmr1163802e87.23.1718354441545; Fri, 14 Jun 2024 01:40:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1718354441; cv=none; d=google.com; s=arc-20160816; b=PLsXS1yVTtA5sJIzHOw59IzA5BvsTXgayuDXwNP216FfUPIIgUki0yLmMKccL9T4Mq u3pu+C+myF0Mln2q15a9aXSgNZna9UnW0Z7h2pI+Hi4lBxssD21h64QyCSSSBcNlyRzr QVzfzq79oNKkr+WJJCuM3rMKgR2cQeLpKtKMecOJ031BWwZzxerNYbURho9Wxl1p0es0 hsvZ1Ed79Amt6Ng7+gISl3dLQLeHht+aByse34mx5SDFIyf6AkYrUhD86uoxoN9b8Mx9 a6f7fTihuX2yrpLqlmeMDFqOOAkbZMHUBCvQvrElnHyhHe9BsNas/TvhRmbpL8fgyzkC hrFg== 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; bh=x2fKzL/m+wHeapN8G019mIU9tYNejXSqnJ0Q29ICtIw=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=prq/xw9PRzGxmwbwDeOvhL5SaUx1nqzwYAAYy0GNnuF61wlaGM8Ct0Qpy4IZV+VoRJ CdEKY2QbruIILpnvH/3mPhS1Co4zsJLSmcB7lWojuAktWe8AxZYaWEXw/o5tO99stYLD qCNzYB701aFO+2pb6jj8z47xLuEayDxl0UUtNSsWDaE0kLjHNzF5oSXhk618rvSWdaed c3F2HWlFxrqzXRiRjzuhZ6y5q9jX+iXmlFJOCKAy6AkrSBq/U9uETi3PLFTHnw3+eZJh DFJFFlZ+SpQy1qQ3S6k4PjOaJcU8R49o7xHqe0D9Qrox9CAI6zONGcNQ8sXWPBST1hGC NaXw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b="IxZiA25/"; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 2adb3069b0e04-52ca288becdsi871923e87.474.2024.06.14.01.40.41; Fri, 14 Jun 2024 01:40:41 -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=@niedermayer.cc header.s=gm1 header.b="IxZiA25/"; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 42E3B68D5F1; Fri, 14 Jun 2024 11:40:37 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9A97C68D5CC for ; Fri, 14 Jun 2024 11:40:30 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id B2838FF806 for ; Fri, 14 Jun 2024 08:40:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1718354429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=1zMtJmNcx6iGB6mnBecXFw32N8it00dqEWO4Qz+O3EY=; b=IxZiA25/u+iZ8c29kkbOguw9XNTh81uk3Fm7ME552MSpdEr1ZUwuewU0cklx79/FXbb9g6 JdTKsk+W2QAlbFJEq570CqsQgodaDfql7/9yjTo30aesPV9OfWhVqTP7W8NUrEElxYu3yj kySF0vygYP7pYPWYE2OHCjboO8IcKEwHGCei7RXENbOWOsIO4GzC8iLbtmN3gukkwuHy9+ soFeJkUqxOh442USCpYvoROufHWZ+rbhIsL4PL5SdyOsn35EUBQOxHm8ZxPOGvpUTn03n6 PyRVxMh9i0woZAcAY+S0R6PcN8hOhs+6a37SOXhJP9sRHO6fTP0K2UCxMZq9HQ== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Fri, 14 Jun 2024 10:40:27 +0200 Message-ID: <20240614084028.442499-1-michael@niedermayer.cc> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 1/2] avfilter/vf_deshake_opencl: Use AV_VIDEO_MAX_PLANES X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: VNmK4ts9VdxU Fixes: CID1452758 Out-of-bounds read (actual out of bounds access depends on a frame with more than 3 planes) Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer --- libavfilter/vf_deshake_opencl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavfilter/vf_deshake_opencl.c b/libavfilter/vf_deshake_opencl.c index e49c808a8e2..96e21a069f2 100644 --- a/libavfilter/vf_deshake_opencl.c +++ b/libavfilter/vf_deshake_opencl.c @@ -1387,8 +1387,8 @@ static int filter_frame(AVFilterLink *link, AVFrame *input_frame) size_t global_work[2]; int64_t duration; cl_mem src, transformed, dst; - cl_mem transforms[3]; - CropInfo crops[3]; + cl_mem transforms[AV_VIDEO_MAX_PLANES]; + CropInfo crops[AV_VIDEO_MAX_PLANES]; cl_event transform_event, crop_upscale_event; DebugMatches debug_matches; cl_int num_model_matches; @@ -1518,7 +1518,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *input_frame) transforms[0] = deshake_ctx->transform_y; transforms[1] = transforms[2] = deshake_ctx->transform_uv; - for (int p = 0; p < FF_ARRAY_ELEMS(transformed_frame->data); p++) { + for (int p = 0; p < AV_VIDEO_MAX_PLANES; p++) { // Transform all of the planes appropriately src = (cl_mem)input_frame->data[p]; transformed = (cl_mem)transformed_frame->data[p]; @@ -1619,7 +1619,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *input_frame) crops[0] = deshake_ctx->crop_y; crops[1] = crops[2] = deshake_ctx->crop_uv; - for (int p = 0; p < FF_ARRAY_ELEMS(cropped_frame->data); p++) { + for (int p = 0; p < AV_VIDEO_MAX_PLANES; p++) { // Crop all of the planes appropriately dst = (cl_mem)cropped_frame->data[p]; transformed = (cl_mem)transformed_frame->data[p]; From patchwork Fri Jun 14 08:40:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 49905 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:9196:0:b0:460:55fa:d5ed with SMTP id s22csp234584vqg; Fri, 14 Jun 2024 01:40:50 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW+4fRWIFQA/fB+rR1+/H1gDFkqimdfbFayq7RS2vsjmRUalRmere4/pe6SnDVd6UhPbnpLksCxhQqa5PGew/pnCNGygootpTnNjg== X-Google-Smtp-Source: AGHT+IEwUx+Q/VQG7CtdJx76RNBd7VsVgqEUt83V1PUusm1a6ElSMPmeW119H7NzzPALH03j+iPy X-Received: by 2002:a05:651c:198b:b0:2ec:2f8:f4ae with SMTP id 38308e7fff4ca-2ec0e3df9damr14690741fa.0.1718354450288; Fri, 14 Jun 2024 01:40:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1718354450; cv=none; d=google.com; s=arc-20160816; b=qQZpRZvqQU7SxOCSCCS5BS2elLoYuajFRjO2JYHtxlDLqRKU6uidgFZk/5AuqzT1jB TGPPr9TKs6ZFsIgx5iWwTmS3rH7SRFsekpFlcL7crjnX8smb6b5N7eu5XqevAsobyedr 9ltHR0SpL9FTrhsWXVWaZRR9v80wz2psq3gCSUnP9g4mRgVgS2r49Wxg9nmaNBWFjkOd JupnHIjZhqDBZa41CuhzS9KP4ogVX5myBjS6jz2JQfFJAziNB0HNM+bdRzACrTogq57x p0OCpya695yfGynSQUqxn0o0AscRhq0d89F3NbGfdmhhScTX6S8FnODs8dkio61VvqQm Ep/w== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=qt2g6u4gqKTmdijITAm7Q2tiYYtV8pI7cUC8NAVtZ8s=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=py9PLz+Qo968XWhUer4x7vR3zZ/RzmkixXzJhf4EzgVnS4QxQmXEMm9000kKerREyd c8CLwRMiWvCUtqUE0BanNz0dXIOsQD5T5jbiWcgA6Cuk4uzQdSo/F0IQaW6bCFvrGqEZ IUzgWRjE0lsnZZSBqiYPpzT7+882oycoWuNowX/HMty/gQBGMNiwUmeATooIDamT38rl fXkBRgHw2W9Rkf99UTPZh4wJZL5Effn+mxbmNQ0MvqcJKnY3v8WtSlz0hkOx5OEVSO2D UU3TS7DD4NqJjoQ86igOVzyCdtJiiLQjxCN6wnBOEyDFU6yEOoWGeKE8nt9MUbMDTNTb +5cw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b=JesmbYFU; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 38308e7fff4ca-2ec05c4c60asi8793551fa.268.2024.06.14.01.40.49; Fri, 14 Jun 2024 01:40:50 -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=@niedermayer.cc header.s=gm1 header.b=JesmbYFU; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2BABF68D60A; Fri, 14 Jun 2024 11:40:39 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B113568D53F for ; Fri, 14 Jun 2024 11:40:31 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 018274000A for ; Fri, 14 Jun 2024 08:40:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1718354431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4OVGTkL60+ofIKTKtAb3MlZB2+lywSPhMrhbyCKvhTs=; b=JesmbYFUj4rCvsQUjBaWuojMhESx4WULPJimILw0eaDppxhOXzwMdJRaO1567Yh4+E19N1 99Og0RZG8ylPadiON1khC1qvYDONPIa9f9b+tMZGy5OQ3uu36mvhGr78AcfNrx+39XTfOG t1lakv5YjgI6OuSXMmm8m30FkdThqsWEPl3RVF04bfv1WyJTvup6mRlwQX+0aEuD1fps2x YlJI/3fVqPA+LwHzDAdFGEuSkdOe7JBI/ktsgTorhYsxA59f2blyqqTMK5ikfqUhPTR49I WM3Ek78IVA4/7Uxxf9c/xUQ3iKRYgR/3gyNqYkfJ33HGJ70G6jRGde2ZupGjAQ== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Fri, 14 Jun 2024 10:40:28 +0200 Message-ID: <20240614084028.442499-2-michael@niedermayer.cc> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240614084028.442499-1-michael@niedermayer.cc> References: <20240614084028.442499-1-michael@niedermayer.cc> MIME-Version: 1.0 X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 2/2] avfilter/vf_deshake_opencl: Ensure that the first iteration initializes the best variables X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: Hx0nurXwYOK5 Fixes: CID1452759 Uninitialized scalar variable Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer --- libavfilter/vf_deshake_opencl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/vf_deshake_opencl.c b/libavfilter/vf_deshake_opencl.c index 96e21a069f2..5c3848c3ede 100644 --- a/libavfilter/vf_deshake_opencl.c +++ b/libavfilter/vf_deshake_opencl.c @@ -703,7 +703,7 @@ static int minimize_error( total_err += deshake_ctx->ransac_err[j]; } - if (total_err < best_err) { + if (i == 0 || total_err < best_err) { for (int mi = 0; mi < 6; ++mi) { best_model[mi] = model[mi]; }