From patchwork Sun Mar 3 14:04:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nuo Mi X-Patchwork-Id: 46723 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a919:b0:19e:cdac:8cce with SMTP id cd25csp2320713pzb; Sun, 3 Mar 2024 06:05:15 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXM7Cul4qRHPrxy6GmDyvNWHZPkSIAd9/Ulm1uTfXYUdNIMQ0Q9fU+TuCqQuecnJXS6HqqAiC/en/WPMe/vzV5j/KXB9rRkR5A3GQ== X-Google-Smtp-Source: AGHT+IEchOkXi9Z8qzKNPUBqMdriK73CbU0NzKKejBIauOZYb0iwvhWrY6Im5xL5LIAmz9vJSa5G X-Received: by 2002:a05:6402:295:b0:567:7f8:fff7 with SMTP id l21-20020a056402029500b0056707f8fff7mr2397804edv.3.1709474715356; Sun, 03 Mar 2024 06:05:15 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id d11-20020aa7d5cb000000b005664033b7cesi3127830eds.413.2024.03.03.06.05.12; Sun, 03 Mar 2024 06:05:15 -0800 (PST) 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=@outlook.com header.s=selector1 header.b="Uj/RDvwB"; arc=fail (body hash mismatch); 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 8C86D68D346; Sun, 3 Mar 2024 16:05:08 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from APC01-PSA-obe.outbound.protection.outlook.com (mail-psaapc01olkn2053.outbound.protection.outlook.com [40.92.52.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8748A68D28F for ; Sun, 3 Mar 2024 16:05:01 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nKaTqfKO5Pn0ztacOYxK+ba1Ic9xAyOLq9Bbt/4z4m0BoHbWAkG4uDTpxCfonaTh13WBAksxxhnlBat22riAoJeNFihV8bSdsv1V4cnSH995L/+e0liJjLqzjkoYWfd7Q87GMY6gaYNMvSPTQgL1bwhWar1y8sKKepw70HVWZxIwIrZb8JVz00ndY5ydEqsASjAvo3AGU2ooxGVh3nGVsDtj/htYme4tAXrpTH8zyk7NffL6+G/dPy1vdFj4Nq2+jnEWtnMkhSTWk3j+HfM3G2WnPOrtA8C1FnCOWHoMPQl8Euho0Yda0a8XigFE/Wlq//DH1dGl0ycJTWB+W4oeYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=G6sKuVi9pyUzppTSBoYeMSUV4URj/RT+bgMwOXlHAWc=; b=KPCzHJ6blJOO0xwGR+VpsY9/MADbsIoZ5oZvSxOKem5Qjz00tImGDr9EAgr6zs4d3kO4851pdGEeE6C+uO7dmUrZVgU2dBk8RjILdJZyILagf8bkXQJnXEWyc1lniklc09NHF6Sy+V1lQtYNFI51S8GfO5x7GuDzhlZVDa9/az4cYzb0lt5JDJ+hPQE5kej6HKMzONjghKf6yXqr6A8q0U5vVvfERaFO9lcsopGLsRdPaUAn8GoynO+E7CxQHpor1F+xoZOKvt9HNiH8wH2fVZLGAnr1J/GJrtMMjvlmkoEfthQuoSjEooETiWMPytur8VO8jO8ZI04V7x1doAmq0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G6sKuVi9pyUzppTSBoYeMSUV4URj/RT+bgMwOXlHAWc=; b=Uj/RDvwBOZJo4IiGZ24fcSRNwiD6MzBn/ZBvaxLUdyjt8dkEMvuWJERti6Nb5X1EdOvD8ty/0qDHRBe0MMwHE96Kwr15JSR51mpdDr/EjLcZNlihJRqXIdRKL1lUBaLhqrLsEcZoAHjF6HoLQJq/7OFr6xC06FVoYB2HBnrtIhdqCBKbCXz5+hJsk2ZasHY3bbtyNEI3GP0kX2znx0qoEank+7eFMiq7GUFsJZ/KDVJFbKQhPSlPmVY+1dNCmqCcRKWENmhwSGDzhK5ZvDQwJVOrbw18DFpS7GJCLBiZvPlKNq+aQMoZ4jdBG+z14sYl0LMu8BTNLosYRN4Oj+GR2g== Received: from TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) by OSQPR06MB7280.apcprd06.prod.outlook.com (2603:1096:604:295::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.34; Sun, 3 Mar 2024 14:04:57 +0000 Received: from TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::d001:da90:518b:ec1c]) by TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::d001:da90:518b:ec1c%3]) with mapi id 15.20.7339.035; Sun, 3 Mar 2024 14:04:56 +0000 From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Sun, 3 Mar 2024 22:04:47 +0800 Message-ID: X-Mailer: git-send-email 2.25.1 X-TMN: [ZRKPtjTo2vQAxYkOWfaRHQCmnOC52fGM] X-ClientProxiedBy: TYXPR01CA0048.jpnprd01.prod.outlook.com (2603:1096:403:a::18) To TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) X-Microsoft-Original-Message-ID: <20240303140447.6598-1-nuomi2021@gmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 2 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYSPR06MB6433:EE_|OSQPR06MB7280:EE_ X-MS-Office365-Filtering-Correlation-Id: 23516c79-a26e-4610-9921-08dc3b8ae805 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cFPoJF7yFznJ98ksmqg6yE1fRq5mwOjhJdS60lpuQBEgwpXOWIOUrFGhHtoPzSmY/NmbI1aXGi3i+xhYVyusuduXC1f7Cn1BXQ+tTVeD32tPmrGcg+NYIDinPrpQpBb3QoDCO5xR/HXQDPripJueAbAtEbjR5MOvAuDa8VYA3u3l2grIQaavtpzSXSFES/DTL0+jzRM85/rSujWtZOrx5JKRNJL+PV7lhiDjZZHlWsJhyM90vtyvl+WGH1ChM1x8o5OacXHp4IaG9xu8Qz+t3VWHBVNlZsSiC/yADAWOJN/5Z4UTHno05wLPKeCaU22L8h5qd7n5QxjBt1FZMfZ8ePS1XU9QLeZ1Wc9HcVONKPuT3RSItjZ3KL9Z1ZcBK85qwfHkFTpjN/VsTNw4jt6IAgZrg6pSICbFtP3uqIcv+lw9ZoXM4NmUnaT6hEeGvhbSLsYlUPZat3rMJsMiKgU/qB4SC7Nj86XqZQpAL8F9/x5Vtu+x5493siyxOAcSYVaoDB7HxAJgQKlv40GDeytot8FRndF0dAWpXHux7j17R9fqukApunemz4m7kzaNqR9X+y6Sso2aP8RGBAw1tCnW+R2nQ7kO5tR5Rc5LAaKO7g4s/hYray/wpidAJF8gyDpp X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Xsf4XNbvtByS5rsd4ZABnyhvyY9dQb1XzvHiGTgCCLhp+axUXlR7hkSkStY+Q5DRjFreMwrpELZjQHratMuKp27vR17QKJQk3Nu5+rixyrnvtoDYq8THArUKmspMLbz7hu6wq3PTft6jt7kXv9+H12YIz17ArvJICrF/O9Kw6cY0B8aYzApOOMUO0qmaLVvKXbMSSjYaeFoyg5Ndo8/pGpXjnSmxk1CE6uIPqmzcesU7LsrmCIcCDSN7xMFhmkeqeNXKRFR3XSL22r6XZrxpNEZlX/JksRQsxJoxLNMhHWuJcSsjjUcGhpDwQ1RH9R8PBrFi3grL8s4ALY+PH2hicAcarka+g6/2FkPPumapp1iYeujI8Cn0rtiUWd3v9KNPIn+gjyqGV+jvSomsObHB3o2vdxgD7Pob4iDmHZZxelOcLGxhU/6NGgjl2tnngPjbH6ByxexfWq3KbRa8bQpzKXamrjaw3wH8No7bFaQ4YrxqC01PbAdXrW5Tps/psyLDUHTN9a26m05V+6WJ5RYewRNjAaVPNz8JZb2Xy3iEDXURUlhTjz0rY46llcETY9cvfb60HrM3tKdfQWrm7r35Dpdt7kOL1HnMDQg9Qf75dPOOqIBL78a3Qw8vAabUOYzGKe5x9j60LWi/aq1nzmvozDhyQisQ+oQ2aEl/Mw8bGfQlHzCcdG+llTM9iYnwZ10XkYVj5KjiuPU3TDcnpZI/cxNrgiMbu2LahqHZithoy6AtoinTPsqTevgDQwYdPvanGrqEYYAC4y8ntVCYKmwKCiJnqJUzixkMZHVj+2pxNfx80PTD06xQyGBaDaYtaGGTR/uObDlrp5XQtABj/qjTFYzrbWb2ieL++t0KnPBgDaaKeGQ8Nf/1fbJuumtbQxKHYCfqDIkM0wwFZOOswpVLW8DEWaQMBNnO11F+Q5dYF6g6QwGe3Pv2Za/jMNvZ3/UPz59d/33bNRFI6q/S/8er56vocUs1wQ88h0MPX1dxMMgWoRWsuOyCu/Icf7B0UUoc+0fo65WWWZIQya3klVP3qqBl1k4TGYuacg9xIf5BknwCyiNr4aH7c9TetYK/6YekCrDQRWVfHtkpsV1UiXRDVdVgMiy+Wi5bwMhyXREob6Izqax6Jo8+Ok1htAdCYpUbxPpT4G25Ur1OyT1IrNQ9qxu89ZB66wDAItlcEAvA/qxjS8fh/wRNtZuMd9FB9bXHd/PXQ/TTn0UPU/uZ+4rsfgwn+jlABVzBt+zSYAd7wFtFmsHcNYlp+88Lsky7zuI0x8/RfhRH6jclsAKrBfthEw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 23516c79-a26e-4610-9921-08dc3b8ae805 X-MS-Exchange-CrossTenant-AuthSource: TYSPR06MB6433.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2024 14:04:56.7243 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSQPR06MB7280 Subject: [FFmpeg-devel] [PATCH] avcodec/vvcdec: fix undefined behaviours for derive_affine_mvc 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 Cc: Nuo Mi , Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: s90HhMiowrid libavcodec/vvc/vvc_inter.c:823:18: runtime error: signed integer overflow: 1426128896 + 1426128896 cannot be represented in type 'int' SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior libavcodec/vvc/vvc_inter.c:823:18 Suggested-by: Andreas Rheinhardt --- libavcodec/vvc/vvc_inter.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libavcodec/vvc/vvc_inter.c b/libavcodec/vvc/vvc_inter.c index d5be32aa14..c5629f7f6f 100644 --- a/libavcodec/vvc/vvc_inter.c +++ b/libavcodec/vvc/vvc_inter.c @@ -817,10 +817,13 @@ static void derive_affine_mvc(MvField *mvc, const VVCFrameContext *fc, const MvF const int vs = fc->ps.sps->vshift[1]; const MvField* mv2 = ff_vvc_get_mvf(fc, x0 + hs * sbw, y0 + vs * sbh); *mvc = *mv; - mvc->mv[0].x += mv2->mv[0].x; - mvc->mv[0].y += mv2->mv[0].y; - mvc->mv[1].x += mv2->mv[1].x; - mvc->mv[1].y += mv2->mv[1].y; + + // Due to different pred_flag, one of the motion vectors may have an invalid value. + // Cast them to an unsigned type to avoid undefined behavior. + mvc->mv[0].x += (unsigned int)mv2->mv[0].x; + mvc->mv[0].y += (unsigned int)mv2->mv[0].y; + mvc->mv[1].x += (unsigned int)mv2->mv[1].x; + mvc->mv[1].y += (unsigned int)mv2->mv[1].y; ff_vvc_round_mv(mvc->mv + 0, 0, 1); ff_vvc_round_mv(mvc->mv + 1, 0, 1); }