From patchwork Wed Mar 27 01:36:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 47511 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp321387pzb; Tue, 26 Mar 2024 18:36:50 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWFE18iNMZXiQOtq3wIi/n6iRpvgiGKxzqQfSl9862RhOtADaeCN8UixfvXUdBgLcLzPp4FKiORpcCqDAEoHKeDv225P0MTxgjfRQ== X-Google-Smtp-Source: AGHT+IHw7FA+bpjj64wivvo4DvlQ1yAJvwyAlmKosQo2s9T4svgXohIwaibDs7QUriBTIgOeFVYw X-Received: by 2002:a17:906:2987:b0:a4a:3403:342e with SMTP id x7-20020a170906298700b00a4a3403342emr1858093eje.56.1711503410288; Tue, 26 Mar 2024 18:36:50 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m22-20020a1709061ed600b00a3dcee78d03si3930680ejj.982.2024.03.26.18.36.49; Tue, 26 Mar 2024 18:36: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=@outlook.com header.s=selector1 header.b=L3JBh183; 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 28E1468D6B7; Wed, 27 Mar 2024 03:36:47 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2081.outbound.protection.outlook.com [40.92.73.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7A80C68D668 for ; Wed, 27 Mar 2024 03:36:40 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nbLGXe3Kc+QqLuHacXQ7geiXHNI8VfMwye6jkaE/s9ZmCmzqP3C9kWrDeWV7SeEM8a5/C7liYAIua1EO9S5zn0w1Wwyj0zreqWETuLLEvjLsFhatFYeEUY+S/oak89rXcyMASSPVTyjA0MqbjgTOZZAJhI6RPIg7C02fRPA4Q6ikJzs8e2l1Or1URwFj5lBBlGah7WUpyjY1tpighDpAB/Qfn9F5Em2/SNJDSYdE2r2Ara5WG7jhgGoC9XI3rfbd4QJjeA4OmjDem/3Ix7xlcUqMrozs8T/LKLHun3+bS+mdKoeNCS50zKjRdojQLRKjAKrgvzEd/ump3OsgOiRcew== 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=GgryiXim0AF92e1JDQW+geNvJiTzJ11xGkWiPxjj+kk=; b=AY4VAjN7JMNB9bODExdYQF/37UxP8lBBenXVfHVsacIZuuXQ4QO/DfR9wpM413tOQ3o0u4XaPpugNlJZQhz0p0qbewWIUTJIb+HgRy7HjiOUnjsqksno9eyPb1BhZ48vmh9Dy2qiiIiSuT/dBF0tqZlI3oAwhC18EnWaUpEo7iwO0K9IBTAMf3QWGKA6yBMdi+HqZCJXDsNY3q9KPTxLOy8sq4zmi0cqNwKWE+OK0hXCiviByGj53heKazYSHZv+Z77WurHIApkUxckjTq258SQr6ZN5N4pDGIMtggbL3fBKuP6zTCDIe6r63ItXOzjTOSDAzDwKlbEHEmrf702OzA== 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=GgryiXim0AF92e1JDQW+geNvJiTzJ11xGkWiPxjj+kk=; b=L3JBh183gNlfRrCxOTFiyONexNb0WQ1+te330rUMPodc2WwM/iiRF2f6nu6FunqxijToTY5JIJC2YAfFzjcLenPZhZUa/PrG1FiaA8NDQuhUssLqCXSrrfYYmojgmUaX66iUzGZ2AR2o+t0pcwYYrhoJRfbTSidLF8gyZxnHRVcNi7WEGrZfQW5GMUYv212RNfhmbCNXZziAb5DYUpiouC0A02xityJZFdoMF/KFoeqk47x+yMMjGAaiWKl1GzACW5+MlY5dJWe0O8sIL1M8285KX9QHmYa84uoC9nZSlfzqWviMII1FdPk0d4qLvdJ0+7SacONZqP4Yb46E04uyFA== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0344.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:32b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.31; Wed, 27 Mar 2024 01:36:38 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.028; Wed, 27 Mar 2024 01:36:38 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Mar 2024 02:36:23 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 X-TMN: [SJJENBarhj+Otx/xdEuLuRtL/r4zQVslaLWT+lIYZYc=] X-ClientProxiedBy: ZR0P278CA0012.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::22) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240327013628.265152-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0344:EE_ X-MS-Office365-Filtering-Correlation-Id: b77a61ba-eea3-43ea-b3ef-08dc4dfe58ba X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9KjWGH2SvjoSMR5Ae/EAi7nB3DR7adpEv7mzhqsn3ydK7uPTqoCI2aDzCKo+1JcEcuE5u5PHcgWcq5rMihxd6TrnAYmfMc4o/PrHy5qpeseujsfFdbNB1OpUNxvqD/7bXHN7Q9cjLmt6W4gFh2cKCKsQbil/ujRpcPjmMwmLVCk8uDM9xcK+Pj0UkOo8yAa81nOaN2P4WshX4AAl6NY1d3N/ESPiKbljIkwl2NzeXEk9x845dgxIMj84PLB1F7QcohVJ0uyhFq5z0NY3RSLUSTuvw+SLrKXcaAveErW2qs+pAOHNf9bxcQJsujG7ta2V/8DJZCSi6Idj9yP4R8OxXMYEXHoZ2zEVgT3bAWAIMdpO2LHEEIHiPmx2hgZ9NkWXyOR4JNSIPbLg3akI0xK54vpDIvTbYC1OdMlAkeC4zGt4GhBLKBP1YF6ZF/QEo5uG2OMfa4MjKL4yjIMkgYIQu+hJQnbT1x3NL20WjJXRCdfalvfs8Ad7U+j1CrmKhIRf5ZFccRsGv04MyD/hezKTvrxkGzTdrZ2WuUM26Aytra8X1TOxyk/ZH1s6kdU3AyuZ/hrJOPlVDykTOX/mmsVjV0HHsdg+1njM3LLV3WB37NviNyclzY5B6Qjn1rkvaOFJ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Z8/A/HxQlWDo/qX4G4sIvx44y3/3J5Hbo2ID5YoRvf/4xhg5JqOCc4oCttCUEetp21kJxm6yK+CFS3GXQqjJSLvHe7bPP8ug640F4x+Gee3YSXs1miTgz7/fAqaq5nxraYv8/16Fj/wFr8QmWOlxN2xYdmZWOJ3Waa0+IJgY1qUzvM7/kUQrE/MPvb0K+rP9UtN1taMIo2U/IFJRCEx65/PRt53vLNrMm2x+mWCbNp+w/WwOUrPIbh6pjNL9MGfvj5w8MmYkStryivCn7a+kvZCuGYueYTBoCmXt4YmbSvzT2qQ0e5J5eovye4g7jaR/8NHCG9PJpMDcDXzZk+tKSP8/e28WIffAhbpBoHmf0cScbe8VpUvxigdJWgHzu4UjeVl7g/vcU0uIrXgiBj1bGJefaFcg6CrH0DsiPJldHe2Z5S35i0yemE6ZQyIUX7HjzJy/2J0OfscWx8z/T3Zjn1ml6yShBKXt1wCWR46jT4thxbdUysKH1cRP7ZOfTNShM3WMcWpnR22kSSQFFtGFGaYmxMDPgKfE39Uy/LUi4V5JrFQxNKlOmwtRaKM5dttmRoMo8L+24ctSDrUdpBAyQImuf3iJ4Qav3in/DN+Kx+yCg4JYb588hVshFj6vWCELMvhzy8FndFzJlWvcwlpS4ngPZwkC3E7m74kRy8Wh8eGCEiTbK8DEFjljpJKh0tvJvLAc/X2cBZSHJgZiYCiVMULm1q7/EG3SzPHPSs2DTI85Z1d6gKKEcdGi+qEnNGcLlt8+fjLTCXbLZ5cjPT5hWDSLzh/G3TnSEjA5URPN4m0d268kkgI96aK7h13I11V8bMjwin7rO8MOZFwMDz3rzPJu5fF9L7VskR4arAOuscSyb+CgDFWf5DcOkuC+yP4QELNf+olgktyfNSaaetouOzN9f6zed7htWni0BV0AmKvONDmctGY1/rHOzbM/H47ux2l/rLiIiT/CQ8K3ENQi/fsTUEQLgqHZYG0B7k0tTkaT3/KCcbFdtH005Imxrv0me0bCG0gDsWf+2OXuAf032hmI0o5xBEl0gUlg8UAY5tuD/2cmsYWVx/LJpy4OPRWUgr+ncWM3/SYNlgMALIhfcITLsYJyw/C+zaOXayuaPOf5u2TrnY3FwOt0QWqn2FaPHCacJvPOt9y5F8uPmI3kBlzt6aUWLURaDjsYr3oH/AE2BW6/KPB81UrbiviO5pij7ifn9Px5rxWaErcFrItjq6+OA2R9Z3SLbQ3ITt7bzjfbtvSgN4akNQnby67ahe9MHjICQlQxBJCkPXdMOkyUHQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b77a61ba-eea3-43ea-b3ef-08dc4dfe58ba X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2024 01:36:38.7211 (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: AM8P250MB0344 Subject: [FFmpeg-devel] [PATCH 1/6] avcodec/libvpxenc: Only search for side data when intending to use it 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Mg2RrUPK8dCY Also rewrite the code so that a variable that is only used depending upon CONFIG_LIBVPX_VP9_ENCODER is not declared outside of the #if block. (The variable was declared with av_uninit, but it should have been av_unused, as the former does not work for all compilers.) Signed-off-by: Andreas Rheinhardt --- libavcodec/libvpxenc.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 4b89e47e83..ee903a4e5c 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -357,19 +357,20 @@ static int frame_data_submit(AVCodecContext *avctx, AVFifo *fifo, const struct vpx_codec_enc_cfg *enccfg = ctx->encoder.config.enc; FrameData fd = { .pts = frame->pts }; - - AVFrameSideData *av_uninit(sd); int ret; #if CONFIG_LIBVPX_VP9_ENCODER - // Keep HDR10+ if it has bit depth higher than 8 and - // it has PQ trc (SMPTE2084). - sd = av_frame_get_side_data(frame, AV_FRAME_DATA_DYNAMIC_HDR_PLUS); - if (avctx->codec_id == AV_CODEC_ID_VP9 && sd && + if (avctx->codec_id == AV_CODEC_ID_VP9 && + // Keep HDR10+ if it has bit depth higher than 8 and + // it has PQ trc (SMPTE2084). enccfg->g_bit_depth > 8 && avctx->color_trc == AVCOL_TRC_SMPTE2084) { - fd.hdr10_plus = av_buffer_ref(sd->buf); - if (!fd.hdr10_plus) - return AVERROR(ENOMEM); + const AVFrameSideData *sd = av_frame_get_side_data(frame, AV_FRAME_DATA_DYNAMIC_HDR_PLUS); + + if (sd) { + fd.hdr10_plus = av_buffer_ref(sd->buf); + if (!fd.hdr10_plus) + return AVERROR(ENOMEM); + } } #endif From patchwork Wed Mar 27 01:38:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 47512 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp321881pzb; Tue, 26 Mar 2024 18:38:38 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV5edfziuH0qBcwMDdGAnJa5r+uRVzboQxWTcYUrV4lbXROvJuDoBKseLI99mzMNr0E+qFLYaL4TmCh3bRMROdmOQyzQySKe4G11w== X-Google-Smtp-Source: AGHT+IHIy1Rn3xp3VDjUZ8Wlq1Mn4r/9DqHmiVhrCld0Lsu5A/V0DiDMQ6B5razVy8VXeImVP10E X-Received: by 2002:a17:907:26cb:b0:a48:56b2:da0a with SMTP id bp11-20020a17090726cb00b00a4856b2da0amr6105668ejc.5.1711503518288; Tue, 26 Mar 2024 18:38:38 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gb25-20020a170907961900b00a4df4650bacsi1232384ejc.1041.2024.03.26.18.38.37; Tue, 26 Mar 2024 18:38:38 -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=@outlook.com header.s=selector1 header.b="LFi/0NRK"; 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 621D868D6BD; Wed, 27 Mar 2024 03:38:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2075.outbound.protection.outlook.com [40.92.73.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1EBF868D668 for ; Wed, 27 Mar 2024 03:38:29 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FKLrs4yXUiaYrwJZw4QGl/gb3DG6evVs5ZeUzYaGxbjWJq184HoUwbKEDQnahcM+225AHWjB/42w3EgkIDfboLtW6LCItvkclBWs2GTHiMvw+bvr8a//4FL7aqow7hDbbnLJcOmxSlHv1YojJOVPJq09Twze+7fSVAeLkA1kwf1MJO5vaMmb2juYnN37u/FQk0iadNlDY3rjlcAWRsWMWibVAUaSk/okRcLviEovlfT8NXwE/zp0IH/wuuvY8r7dfPROO5YyaRdt9l4uBoD3F3yft+2IRhoB2CGIuNc9CVVpWlSXFGJ8NSPQqc8IxlwkVyNaVMvg7ttz6wr+OteYWA== 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=QDLTqQCshha2CS6q3RB+HvgvnOlWQnqVEthJ5w0x3iI=; b=PpCfqM18WfV58Tr+RIug82BYjupjG35T0fJh4OhQcSkTkQf9iifZ6RXZcyCxEtaljSaSrZv32PD/L1nwjYIS4W4lm0GYPAjx1eD5hSxBxtgsAFZDmxHk2yjU7QNwRuDVCrYqul0oD7PledwFMx1jUuI7QznLtvnrynw/7id6kKccMpyfBLnX/HXB4BudfK4rkH0Ofs9JfFAVqSXoaZAg9t4HBuO0X0L9ikpoJaL3e7kczwQ7CCJDwKAbFw6f9paILEdJ1eNjpTyrxTE9mav3epIXO7x9EyN9rcPc4cjfgOc8rajPRRVsCyWFdBRvjS0NwzDJ6KUksBE8dnM83FrZ5Q== 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=QDLTqQCshha2CS6q3RB+HvgvnOlWQnqVEthJ5w0x3iI=; b=LFi/0NRKAv+hg0QfElPrLTGsnm014dgw0cPZ9N/6MLZJ+5CaW4wacZiP2bKEnHX4diFWBrP7q05Yo2dkqcRbD4qwAyYmB2+tG7DoQRrwCza+DFUkcTHzWoSQ1J+mCYI9HCyAMYu0r2zsFv2m63Y7fXY6n+5fv4ScN8Vwycoauc+1T4/iQZJHLW9TWBOptr0cYVjyPJ4ntIv20KPD+1iA1b5g4NEc9cM05GdqjHqqbjQO0GMGsymm40xLYKDnWrMNpge9Du3RqOSN8PbcXRIsJbsPX3RD3NGmhyEXq/cweLgTc1WWnVJDeFcmnNYXWyjTzOniQFSSkq9tXDB7BLu/Yw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0344.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:32b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.31; Wed, 27 Mar 2024 01:38:27 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.028; Wed, 27 Mar 2024 01:38:27 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Mar 2024 02:38:15 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [94o4S/xDW8nxzPO4zvsBPQ8DwGkDPPj5VpcocWRhHK4=] X-ClientProxiedBy: ZR0P278CA0075.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:22::8) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240327013819.265196-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0344:EE_ X-MS-Office365-Filtering-Correlation-Id: 95ba68a7-970c-4d53-d47a-08dc4dfe99a9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dD88cHyt8tpPBqggNZIEXitg3NnZr+TJ0oQK1hG4fDEEgPXWC57eNzL28CrJaSxdsDReomXaFu56r5JzEwHPjJuV2wfMSxP1RKRi8nSR47/R+uk4XGeEsauec7C/u/RpfyAdKVjT9QXmxABH11rL9SmIOuxBM9ZfFVWYe3JEpKrP9cD8BfPksHaa6zfIILZCmIlCJ0zO6K5Tcs8xO3a/3q6ERyoeL5sSlS7kO/7NA1TqDUOjwTkHp9lg6oel/3A+8druDODgnaY0qGGWMkzw0W1vBn0L16eeWwazj3m/AebNTbCumoKse4JSmQzFOQu/+wEAU8VlFohBfF8gGAZTr8wB8QPIl4rSBSYj6Rm36PY0DbPaAhL6k0xiWJ75H6yIwqtU5ksXL+ZvsdKPOF88S5hwI/dyQUyqgP1diGdE+1RcLPA6O952hDGI1moWv0pOMjj1fZJ7M9++GHeaFl0luOGoFmT23tIsw9H3+uf500TBsGMynU8Mq7khtBtSk1Ij04T/5k6R8IfIFpvop3AJnWeSMbsE/zjqOuoj2lX3m2ARokvv805kWLSn+CvnQRjWrdF6hgN25fFopQ1e6ntharyeCafsM/C5SJSp/OSE8Af0O22sx+X4c0mL2tOkSFu1 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: TfBHGCBxUXNyJJTVSdU+0wxs4GRYg/QIsojmiegnF2shi5DPXrGBDWb3dcV6U1hBwg/OU4Au3xl7H5pOZtEkuahY5k3DdEG2r+3F2AuCzbButzpu/LOZQdmHy5kzrq0ijzmEQ+ma1ApdSl5P/WFfRYvKL8wtAz1EHll5gKygJiX8WMXlUuBtcqelTyQXcwd1opx9Ddr2QwUXVzjoZ+Qny3cqS/poJqw5x0R437CIAivmzYprSRo4qw0xQgV5nnUcycBWNbn0A0G/SXG5yUmoqn0rFkw4C9m5tGgP41BHh8Fync/HYjUS1JarQbU13an7SN0X6PI3hEDMAS8OTgoMrNZlj5o7TLTcMWJKqgVntq+95uxBNKAJmLUTsWKqbjFqptys2HsmyRfTCZ9HbGcOgPnVwMpNBBNz5xod2H2iiiHnKn6oYiPZG4OSMMHkRvdPI0WsLJPj4d7PARiGD6h8m9gSVr28ufZCCTINRM7oHVcYE5FacrbAtHColNOE/iMFho8b0LCHypBCsjeYd89GG/TFueNoheLnipgGGnzFuZiVMX8JX9NZWMKYKdjXkdA8zOGcfUBd2XgQslw2yLBpyqZIN6wFbHnVaaVlWpJU/Etxs0/IJPqCDyztS2bNcCI1dEu0Jcr5nZFSQv4U91xZassrNxiL3tGZEMkvAitrGnZgwl4KTjhOAN9AUCPOadZ6C1yzQGn+eWRee08dNlyyBsx+nr2EP6skFO9K/TqWYsH3/dI87Mx2q575nDoi6PozPFzGvziBz8oO6PsBt6W6UY/8xwgeMrMJXzZJD6RaPBc8cGE7bt6Zc3NjummZ6tQ056J4nBVGb4ogImBmVWzWvcDWzfw1PKflKNV876qaU4qCzCTFDI8ZQzOOqMkXA42RNrBoB+dPsI4SVGAG2/1bRDmTRGx6YaznxNVWsmy+OaDVy8SlRK2iR8xn1MRqF4+tAduGx2m3Bi1Xs9KySO5Ej4KTh4/ViCT3jFzeGouVL9jicbA/NbNiJoN/KiM4q6X/9RB23lT0QIt7DyE/N+pDHITSCO9wJoYNywzhjks4mC77Ka/ETVHoHIkhvNJPu1EGMpjmWhOUcyfRiY7G2emN/r26WUyHcYeBP6FLkXXug8mzIMjgqbhFeEXVPHS3pXJSW+JjX34GfWME7gw1bfJIyEI7T//jnCxqSDOl50OjKHuryPj82hRQhMQ0oU+oN8uhbpf7W8J8IZCb+mpYc1HnCewETuQ66s5rzgOT6IPBhepz7kSD3nlocXNeeCWbgK2Vz6Va2fmyg0IgPjfyNk2fOg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 95ba68a7-970c-4d53-d47a-08dc4dfe99a9 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2024 01:38:27.6905 (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: AM8P250MB0344 Subject: [FFmpeg-devel] [PATCH 2/6] avcodec/libvpxenc: Remove obsolete av_unused 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: CnK9yK0I0ulN Forgotten in 753074721bd414874d18c372c491bdc6323fa3bf. Signed-off-by: Andreas Rheinhardt --- libavcodec/libvpxenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 42f73a92f6..f7bfdc1461 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -786,7 +786,7 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, struct vpx_codec_enc_cfg *enccfg, vpx_codec_flags_t *flags, vpx_img_fmt_t *img_fmt) { - VPxContext av_unused *ctx = avctx->priv_data; + VPxContext *ctx = avctx->priv_data; const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); enccfg->g_bit_depth = enccfg->g_input_bit_depth = desc->comp[0].depth; switch (avctx->pix_fmt) { From patchwork Wed Mar 27 01:38:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 47513 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp321920pzb; Tue, 26 Mar 2024 18:38:47 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW+G89BoyijdyDpYSUhkNMCXhZQs/XhK/yah41x2gSkX1jdgsapoUHHIn/wQPRTPgGGzVydZzYZbgetAjDlBLKa3gDaWfE/uNYyPg== X-Google-Smtp-Source: AGHT+IHz1eBVAuVYEyxnZFCSiCUpX9VsIGBFNOHpNUszmsH69M5i5JMf9R+JboDl9E/7P73Kz75w X-Received: by 2002:a17:906:383:b0:a47:398f:1a22 with SMTP id b3-20020a170906038300b00a47398f1a22mr7248661eja.0.1711503527044; Tue, 26 Mar 2024 18:38:47 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id nb11-20020a1709071c8b00b00a474dc7905esi3339643ejc.303.2024.03.26.18.38.46; Tue, 26 Mar 2024 18:38:47 -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=@outlook.com header.s=selector1 header.b=Lj5SQTRF; 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 81EA068D6C7; Wed, 27 Mar 2024 03:38:40 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2075.outbound.protection.outlook.com [40.92.73.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4713A68D6C1 for ; Wed, 27 Mar 2024 03:38:34 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ec0X/n353a8YDSAVOR0WIVuB4MfedDv9mUZ5xqFEmxA0csOnZy9hz80vhiNPWItB1hRMCQY5qS4LvYwCAFyVzWCYlmK1CUsKQk8ILU3KRgesId4Ns/vZP46NTLRN1YEHiFiZcPkVLvZ1H3H/haywNobFWH/iFDXbLXqejFwHXzkzrRUlJvkaYW55lOL2NRFlkR61QVes6eaIubmxjROQIT3sbxO+BFDNz6LjDsIzu4aMRzGhKOEL0Bb0dfsgDnVjIqxo3zs2uDGhmysWMWon57OvsOvOH/rcebqxk47q06YIvEtGOIDU7HcjqVPAwB9cu3KXEBtYlvbpYpzFaR31wQ== 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=2m1Tdm2FTkBhHIjapbizddu78S2kjiIYrBuw4dcqhfM=; b=eZu8FoFWhFxLL6o9qvuOANdKveE58dmEgLp9ncQs3ELTztV85VI7r0J3Kq3hH5tAHHgQHi3R+6EQ6WVY8w1yU+LY3qr3ObGg3e6fm5ncDYfEyNbcM46LKHQQ4l6jGVuzfIqezDXUZ7GLuwEkQWXCYJ6TznYnpaPDfNUf/9fySFhhXqeI2/LsJ9DwtKuzZ0EwiZ/p4LI46e6N7GX+FOIJD6v6ksItGjJ/x9cR4kXz6/bS+Lp9s4l5JlOvnAbCyZtnZzK4PG2+Vj+gqCUyKOrKooxWFZ5CRYSMcm76gLdpl/whsj1KRyVB6Wh/xQH0bZAUncJRjLzvpbRc8vvh3kjy/g== 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=2m1Tdm2FTkBhHIjapbizddu78S2kjiIYrBuw4dcqhfM=; b=Lj5SQTRFGJPjLFWCTVRet/1G2hio0/1FOTS8WXwnvRUpJO5HxfEPPFmW2ExOWwPi2ajoOrhRG5RgqMQMWq2hmLGd5jCrW1gA2ZcBNJd05tkE4VBQmOYdu6NiehMPn+zab7f81vhbbAVCWxdnw0dGVlEQfoPfzs3nVHR3XwWsAOqzFuQX+BAT+87O0XQteeQAp9pspaFaFAkOtPtnmH6hg/YpofXfiMA8RRyFJkX25XG0+XPy/oT2ZUVBphvlsiJwLoS9k6TNHphu2f9vsGkE3H8Vf/s/9OudWi3r423n/CrY+lJtD/dkopIUvN1qcuJjMofi8P7xcA1ymhUy4x/OvQ== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0344.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:32b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.31; Wed, 27 Mar 2024 01:38:29 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.028; Wed, 27 Mar 2024 01:38:29 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Mar 2024 02:38:16 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [A9kXBNxBeQM71O7vbl/qQ9pUzXIi0Gpx4Zuz24eNsy4=] X-ClientProxiedBy: ZR0P278CA0075.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:22::8) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240327013819.265196-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0344:EE_ X-MS-Office365-Filtering-Correlation-Id: 375401d0-2b47-4020-ba06-08dc4dfe9a9c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A7PkYnPEn9AuVn2ouGbgtVsiqoh/uEMxlgdXCT+keG1grYStsHyxoI3t8P+pXcwJrw5l7vBrWv6g+5gFjrXW6+hJTNwzRSN4eV/5+RXN90ELe8JOvdHQvjVTYkRpR0XRMXewyHriL3MFswGdVT9AHhlsd7QbRZnxhnTlltlR0c+VigEpOIQvTUojB0l9t9w+H5HVu5VyU+g9kPQoukaogpUvvIA8h2/zKbIX7O0aE//LRpwfn36qhh1u9enO9VXYpzYtuXXW28pMUr2erFXY+dk9PXI0ysf519l1ZkvGCANm2u5wSqKDv+NgZVpVJR90mgc/hQxjLvGAGvss+L/u6igrveH/HCRpSWilcVqNItkPXoySUTpYk6MoGZnomfO7XKl8gNK3BWSwevsVzXkWPKuv9RLxviHvDYR7N5dq5AAFvrNuK01Oss/81E8U8Z3j70M4E4JNRoIOimrx2uRSC0xwkRWcofOgRzoHk4M9L7mVf6gunQPM6Mu+IM6bHA4+JTFr4sEcc30ppIzmYaKMXn9LgDppko9bcyib83uMvkfJm7HYWikG2CCOq98LlujLFu09z76X5fY/vLjKKgJy4mxCftvBhD71VXMKNV19sIVJbMuuXCrp29dSEtHWJqji X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4ZozbhictIuU5aUSJvE09ArKacpIMpdFjlZNAaUn5ZdMyEDGCYWqut4uLp2pr1uqqwr+NaES5Ntx6nDUgPrJHlyeL8gl9T+076XfvYhjQvdCgS/CuQsaMXv2gBwp40zYhpvHMb3yO41ToXZmM1/5j1I+pV7Dye/j4YVnif/RMO7Evxg9zbHxvT/YaVU+3qFj4eTXoZAuW0rwrFoD1ZKhH5qOvr1RkE4MPmyisytgx4Ek9OPNS8SxlwSpERyBGDu5n1KojcVk/T/TYcpeN78SSdrbLzjIUIGZcXvzeS2KkEpOYgVQKVXLSTdUB0mpOCn25mTa+ktsj1z61OqGS3Z+mFa/9wqwmUT5dzbmcH1ugs/w9ZmVliCJCKyCR9r9VclLyNCIR3OBVjfQA5eEB/jq06bs7qzBnAXHAMU+qw0bcs7Muy1WugQikZ0MI8sZPZxHa95TZXQlcWhX6XskXEwPclBbXFgfNYSOBcLupQXaLoTzgtf2bRDqgd7YJKhVMn9p/LXdeFciVZdIa4+SsTPm7enCy0lJC5Y188Ua228mzqgQpF9JYqw7n5fY7JXO3tgQDkaQ7tZlGa/HZB6hFevMp52IfdVeR1//qrgrlgrsszM9R0FM717YmDhHhLy0KD8qiqzMk3oM+Yt/hlFlWjDMQunBFw34R/as0Ouv9SmwXczaELbOt2wqIPuFgw5AjrzGvfvmIsbGddRYtcWNdQE8ntRZgy/Be9vD/bL+2ugxh3te3gNVvz59Y/WXuFTfWqOvVH6D+Gl2enw37Q6iaclyRcwSoyx3y0Przkl1pHRTwuIEvpcXXh1zcdEM/pOJGhvdPzqTqw3McuWvGJGN0VQQaPhhVawbGVBVC54BGyGI4KwES2uqQFCwPe6nzb35UifG5Viw30dGhhLxdsUHUa21Gg7DHSkkf9NPsDSW8j6YLOhDxoK7mSgsO0WarvgfomsQKNsZuFXeMcz7sZnKFQJVHA5ElDq7JrnHcjLF4a5gXfyNNaRPMEfSyuCVvi3R2NXcJDTizAydK1utBjGALyiLOV2FUp4p2tbwRob1TuabTQbwFisQ+m3ccjqbhaS8mpr2TdOzmKuwAtq+Ec2o7QLluVxAUeuX0OK3ejyQTUVCU7n6qnYzoUjQKXxOVawhcfDiaisAM1/D9pCS/CbbGvC1HywXywiOHaQZKV6V5I6Yp0lQSBK5J0xqxS1miTW9Q/oTpn3kgpUP0eLfWDmNnqhm5xyV8eT3IuWJEZQS2yyFog3nBEd6qr3eiGa6cYTTgfLumTxD7QmD6APTPrW5UrDGLA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 375401d0-2b47-4020-ba06-08dc4dfe9a9c X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2024 01:38:29.2380 (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: AM8P250MB0344 Subject: [FFmpeg-devel] [PATCH 3/6] avcodec/h264_refs: Rewrite code to make control flow clearer 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: hyQnKszaIesh While this change IMO makes the control flow clearer for the human reader, it is especially important for GCC: It erroneously believes that it is possible to enter the SHORT2(UNUSED|LONG) cases without having entered the preceding block that initializes pic, frame_num, structure and j; it would emit -Wmaybe-uninitialized warnings for these variables if they were not pseudo- initialized with av_uninit(). This patch allows to remove the latter. Signed-off-by: Andreas Rheinhardt --- libavcodec/h264_refs.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c index 9bc7b20988..c2ba4b9b9e 100644 --- a/libavcodec/h264_refs.c +++ b/libavcodec/h264_refs.c @@ -646,8 +646,9 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) av_log(h->avctx, AV_LOG_DEBUG, "mmco:%d %d %d\n", h->mmco[i].opcode, h->mmco[i].short_pic_num, h->mmco[i].long_arg); - if (mmco[i].opcode == MMCO_SHORT2UNUSED || - mmco[i].opcode == MMCO_SHORT2LONG) { + switch (mmco[i].opcode) { + case MMCO_SHORT2UNUSED: + case MMCO_SHORT2LONG: frame_num = pic_num_extract(h, mmco[i].short_pic_num, &structure); pic = find_short(h, frame_num, &j); if (!pic) { @@ -659,16 +660,12 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) } continue; } - } - - switch (mmco[i].opcode) { - case MMCO_SHORT2UNUSED: - if (h->avctx->debug & FF_DEBUG_MMCO) - av_log(h->avctx, AV_LOG_DEBUG, "mmco: unref short %d count %d\n", - h->mmco[i].short_pic_num, h->short_ref_count); - remove_short(h, frame_num, structure ^ PICT_FRAME); - break; - case MMCO_SHORT2LONG: + if (mmco[i].opcode == MMCO_SHORT2UNUSED) { + if (h->avctx->debug & FF_DEBUG_MMCO) + av_log(h->avctx, AV_LOG_DEBUG, "mmco: unref short %d count %d\n", + h->mmco[i].short_pic_num, h->short_ref_count); + remove_short(h, frame_num, structure ^ PICT_FRAME); + } else { if (h->long_ref[mmco[i].long_arg] != pic) remove_long(h, mmco[i].long_arg, 0); @@ -678,6 +675,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) h->long_ref[mmco[i].long_arg]->long_ref = 1; h->long_ref_count++; } + } break; case MMCO_LONG2UNUSED: j = pic_num_extract(h, mmco[i].long_arg, &structure); From patchwork Wed Mar 27 01:38:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 47514 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp321957pzb; Tue, 26 Mar 2024 18:38:56 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUXKGXIPT8tUQf7JC0IrzVefucRS/g7BgBcQgXOj/w/Bx29EfSNcG+Xhl5jz3YUyTPqYJO0Pbtpn3o5UGyZHfZDAODetALnelxeRA== X-Google-Smtp-Source: AGHT+IFhjk2ovgk/oFYiaHr793OiYYoUser7E1uejfueyhQMQdQjptPLA5ZVLdJ/b/ZccjL7eChO X-Received: by 2002:a50:9b0b:0:b0:56b:ec02:a146 with SMTP id o11-20020a509b0b000000b0056bec02a146mr7403348edi.1.1711503536068; Tue, 26 Mar 2024 18:38:56 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h24-20020a0564020e9800b0056be932cddfsi4099129eda.181.2024.03.26.18.38.55; Tue, 26 Mar 2024 18:38:56 -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=@outlook.com header.s=selector1 header.b=STwl7e8P; 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id ACEB268D6CF; Wed, 27 Mar 2024 03:38:45 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2075.outbound.protection.outlook.com [40.92.73.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6E24968D6C3 for ; Wed, 27 Mar 2024 03:38:39 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZzzYPHTs5rKalFWfNd5YmgnQTE3oxWYFowNq6MPUUfDKJuC983vTzdOjKemkR87k/2ZeU5w6Nd7NNtJGZC9sNfpLC4I6fgnJGEFMTl76Zm3Lbkhfo/XZ/65tLu1wb2RBfFaxkit1SzgIBBwGmdInXydsIRnlVBsoe997IHgaxZ5Pg4WQV6IUhwt2RnTSSwErwZRKOAc5HergVktxq7mbEVv1byKDwYGNRakm2vIOc65HnCT1rVjukKOGizZ0naTS6rBu1Lai721Kctse1AT2xnHfFA1TsIvkF6KvXEc3oXI793gmWNiIwDu8abYDMd8ffVMOj2CM3MFrT9HMyBGJZw== 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=LmtqnqeLIlIYBB3czTyjh1QOqw2Rdbp0eSJVGV3vTXY=; b=jt3v4jDTHRpng9g5J6joXDOnHpURC11S16zClEZvamd1iWgpJtcCl+8C1598/5QBd2Zei19eK0tSlTHmMeLwgv3Qfl7RN5XTCvjMP2h5fCW5C1/nkx79VZTKARRhlbnGZZ0ONuGYzRJoaoAs9PL6UxiTehEcmeRa/DclPq8wGToFzRRsC/8n3KddZZoAsBPZbMbdGB5xVqRcagjdEGOMTygTvmZ1UW5pvMHDFfeaEHGfwbqj2AiEzMu3An8HtAONL5wrI6nuHzOvmTDcu4H3eYIYq1BkMGhSMl9aUDKEE1LtTGfohx+btOX0zbKDqxNjqZDfIqZRo40xpz5gx8Zo6w== 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=LmtqnqeLIlIYBB3czTyjh1QOqw2Rdbp0eSJVGV3vTXY=; b=STwl7e8Phfxlo9TpKxZ258j2Ckl/hUeU9NZvjikLPQeAB+vmwMHdDvlJeG1qVzRUZlKTzHZDxwTNbcpZ4MudAMSo0EqdcLJnnFZtKuG9cSKhi/J1+cf1i3AIj2y0Dwv/pqew8bL0vujlCufelnVOik/oSP8gzVbBmUkM/+54PObaFCEThRMqWdeNtzaDI++zK9fBz4PctsvL9aUTGHg4ygxi9UgC+hWzpQXUFfKtNyoAo/FkVU7RPQXbiA5Cm1rPfVNCqUTGzYN5yhYH90LnNmKMGcG04AWPGpzzVlrwb7hCReIw4dcGgecoJA/jM+a2Qn2sg7aO/t5gM3XOWLNEUQ== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0344.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:32b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.31; Wed, 27 Mar 2024 01:38:30 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.028; Wed, 27 Mar 2024 01:38:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Mar 2024 02:38:17 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [mFbLhHJmTmuMZakHo6yIGbKnN1IsrNOvr849oIR7xrc=] X-ClientProxiedBy: ZR0P278CA0075.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:22::8) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240327013819.265196-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0344:EE_ X-MS-Office365-Filtering-Correlation-Id: b261f8f8-7379-4329-2db3-08dc4dfe9b5f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 40HTkJ4FdMjmxy3JaZhg4TrXc5ER0mstBteiOS5cCUqnkS+HvFBy6oo2d3hi7w6wGtG5z/MvCCRczSp7MZnMaHATMQCFqUQNpqlJ6p0hf8Ntao5Daq9oLXQtg8/dCAyON2q/Ld8mJp5pbokqocaXb9fqclnaMy5N77FLYipCRT/76sR1CICeiciorwUU13ya4rqEQY1g+Yd6SwUbOJCPh+mgadmGrX/PEaiX5iQHAUR2UKlaeWHGzOS4ZUbZcCqGZqqXqiAW8jPepDu9JxdarR0K4EUXsYOXtwuKtzkUapquxG0bG9VEAPmHivN2Yw2AgcGD7iz6wGzKYU6D1kyRKdJnoz5SoT7GJmJlctF4/12TPBQox1CDfi7HqrTp8CorUo8bGlkJdpnTV1D5nx6qSKT6NrFY8OWboZVWfuygN+7jf6W839EYu7WL9zna976ecQKCnFYCv1qRDNfiPk0gtB1GEak/39YYfKpIKIWCGYGbuHxPH0PRgKO3OxPq1aHUEks3WOBBAbtpikA7UokrhzpR9jcTTzRwVh/7Gg4BJ5LriKKL7cEsDXFGA9Gn3aK47S11L5yFrHG5+7hx46Pex/YTsCSmpM37w7aULlH8q/8ydZKkAlMIsoZZ0zpxw3KR X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0XIcxHrkXU8EXXqA7t9EjJJSylFuY+3CZo7YMGMbvgOKJzZcwVAufBGQ3k9MQlUQvyByAmmYrFy34r8d5X3PT0iIJ+EF7xjUbaxMHl/u1dQ+YYNwkmeXLFJi9WrHkVpRBZ+VTGXoBfdnQ3C8QKb84GK0wEguAyfz5dXCmGAbSjzSF/nr+pjlQpBXL4HubOXMvJPj41N3pOFGhcIep0htIqMXP4MJIDrUGhM6L3iG6ZKA1WXmEN4Ah1OeaNSEDy0peeoi8rulq20Lp4j1N/V1s8Oa6Mv7qGlBxUDQ/IFIGR8vNcu1o9RU9bHmyc3io/MMDOIUZnZAjHKGFdNtWzbhfW05Lu6Mq7LU1u1puRAZwkPHBjZ6R4Wqk4K8ElSql5kEQeSr+MP7kEa2hYU2oHTU0uuzQYT2+3vdDNCnNyswAh8i6LwES778B8293apOkMCrvK2AP4zmue7aqZ2SyewIpaLtshYdXBeURNnTNBsMOPAiLHdqBri2VkcdsUeMSWMnGYuo06XMfoFA1xgE9GhTDNKPehS248STTW5sn7iwKUEhjp4L7SmmHup55+qAKhE/D5q6M5lf8gBUysqLf+5Wls/5dhZBV2NQ6I53l3xOahVXHVz+ykMC08pbsbWoMfZHmP0MVm3hJ/nyIeXoafH6BB5sxpYJWpqeo9YIsU5ar2EqPPr9OiGScg2SNbA/8eW9/fy3u68+ZiY/XQr4UEONGavTFTCCs/ATeBw+BO6MTOnhhu7621oKtTZFhXFY0PLEyxqFcVFTJUJh/bDLuodQ6iaBKIQ9tQ/fBX/VfWeA0K/6/3hn3EKrJt6Q6GCwYIF2hetDEKO8KFegRPM3tYGz4TDgU2v+vzpjgIuaQ/PEDBKWVmzCE0D6iFoE64JMGxEIkpCG7Bc9UAn+6r1878ZVPj3Ip/Vby+ZWL0XkxvQTNmnrXhZHKMPbOLboDgMvjFJxrXFIpPeNRNshL77eUNbOQkCFy2feYb21yKwQwf87Uo2fJnse9TN2ADkwZFeThFK4DKk0oEyn6ipj/VIEv9fkKgv/UWcIU6PLWW985K47AA8MuIbGTalka2/tzIDM2GWhBH2F+wbszBpWYgOUfFYtaOMVDNGeoikgdoxDojzUMvJyjn0vR1mOKXQzPLKmfxfQNejyMmzCUuW/v2G38f7KGwivLdsn7apqUmEkjlJXHPAnUav4oPSYLxszAssbxu6w2JgOT70Dr9jEe9rYCDSmcg5GWWSSHQZVYH4vVhVpA1bUJdmCI0o5DcAXlmQ59slEuWBLpEJUY7ICD4FhdivaRA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b261f8f8-7379-4329-2db3-08dc4dfe9b5f X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2024 01:38:30.5111 (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: AM8P250MB0344 Subject: [FFmpeg-devel] [PATCH 4/6] avcodec/h264_refs: Use smaller scope, don't use av_uninit 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Tu9iZPkomof3 In particular, declare iterators with loop scope. Also remove av_uninit while at it, because they are now unnecessary due to the changes of the preceding commit. Signed-off-by: Andreas Rheinhardt --- libavcodec/h264_refs.c | 121 ++++++++++++++++++----------------------- 1 file changed, 53 insertions(+), 68 deletions(-) diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c index c2ba4b9b9e..99820142b9 100644 --- a/libavcodec/h264_refs.c +++ b/libavcodec/h264_refs.c @@ -38,8 +38,7 @@ static void pic_as_field(H264Ref *pic, const int parity) { - int i; - for (i = 0; i < FF_ARRAY_ELEMS(pic->data); ++i) { + for (int i = 0; i < FF_ARRAY_ELEMS(pic->data); ++i) { if (parity == PICT_BOTTOM_FIELD) pic->data[i] += pic->linesize[i]; pic->reference = parity; @@ -104,13 +103,12 @@ static int build_def_list(H264Ref *def, int def_len, static int add_sorted(H264Picture **sorted, H264Picture * const *src, int len, int limit, int dir) { - int i, best_poc; int out_i = 0; for (;;) { - best_poc = dir ? INT_MIN : INT_MAX; + int best_poc = dir ? INT_MIN : INT_MAX; - for (i = 0; i < len; i++) { + for (int i = 0; i < len; i++) { const int poc = src[i]->poc; if (((poc > limit) ^ dir) && ((poc < best_poc) ^ dir)) { best_poc = poc; @@ -134,12 +132,11 @@ static int mismatches_ref(const H264Context *h, const H264Picture *pic) static void h264_initialise_ref_list(H264Context *h, H264SliceContext *sl) { - int i, len; - int j; + int len; if (sl->slice_type_nos == AV_PICTURE_TYPE_B) { H264Picture *sorted[32]; - int cur_poc, list; + int cur_poc; int lens[2]; if (FIELD_PICTURE(h)) @@ -147,7 +144,7 @@ static void h264_initialise_ref_list(H264Context *h, H264SliceContext *sl) else cur_poc = h->cur_pic_ptr->poc; - for (list = 0; list < 2; list++) { + for (int list = 0; list < 2; list++) { len = add_sorted(sorted, h->short_ref, h->short_ref_count, cur_poc, 1 ^ list); len += add_sorted(sorted + len, h->short_ref, h->short_ref_count, cur_poc, 0 ^ list); av_assert0(len <= 32); @@ -165,6 +162,7 @@ static void h264_initialise_ref_list(H264Context *h, H264SliceContext *sl) } if (lens[0] == lens[1] && lens[1] > 1) { + int i; for (i = 0; i < lens[0] && sl->ref_list[0][i].parent->f->buf[0]->buffer == sl->ref_list[1][i].parent->f->buf[0]->buffer; i++); @@ -184,14 +182,14 @@ static void h264_initialise_ref_list(H264Context *h, H264SliceContext *sl) memset(&sl->ref_list[0][len], 0, sizeof(H264Ref) * (sl->ref_count[0] - len)); } #ifdef TRACE - for (i = 0; i < sl->ref_count[0]; i++) { + for (int i = 0; i < sl->ref_count[0]; i++) { ff_tlog(h->avctx, "List0: %s fn:%d 0x%p\n", (sl->ref_list[0][i].parent ? (sl->ref_list[0][i].parent->long_ref ? "LT" : "ST") : "??"), sl->ref_list[0][i].pic_id, sl->ref_list[0][i].data[0]); } if (sl->slice_type_nos == AV_PICTURE_TYPE_B) { - for (i = 0; i < sl->ref_count[1]; i++) { + for (int i = 0; i < sl->ref_count[1]; i++) { ff_tlog(h->avctx, "List1: %s fn:%d 0x%p\n", (sl->ref_list[1][i].parent ? (sl->ref_list[1][i].parent->long_ref ? "LT" : "ST") : "??"), sl->ref_list[1][i].pic_id, @@ -200,8 +198,8 @@ static void h264_initialise_ref_list(H264Context *h, H264SliceContext *sl) } #endif - for (j = 0; j<1+(sl->slice_type_nos == AV_PICTURE_TYPE_B); j++) { - for (i = 0; i < sl->ref_count[j]; i++) { + for (int j = 0; j < 1 + (sl->slice_type_nos == AV_PICTURE_TYPE_B); j++) { + for (int i = 0; i < sl->ref_count[j]; i++) { if (sl->ref_list[j][i].parent) { if (mismatches_ref(h, sl->ref_list[j][i].parent)) { av_log(h->avctx, AV_LOG_ERROR, "Discarding mismatching reference\n"); @@ -210,7 +208,7 @@ static void h264_initialise_ref_list(H264Context *h, H264SliceContext *sl) } } } - for (i = 0; i < sl->list_count; i++) + for (int i = 0; i < sl->list_count; i++) h->default_ref[i] = sl->ref_list[i][0]; } @@ -219,10 +217,9 @@ static void h264_initialise_ref_list(H264Context *h, H264SliceContext *sl) */ static void print_short_term(const H264Context *h) { - uint32_t i; if (h->avctx->debug & FF_DEBUG_MMCO) { av_log(h->avctx, AV_LOG_DEBUG, "short term list:\n"); - for (i = 0; i < h->short_ref_count; i++) { + for (uint32_t i = 0; i < h->short_ref_count; i++) { H264Picture *pic = h->short_ref[i]; av_log(h->avctx, AV_LOG_DEBUG, "%"PRIu32" fn:%d poc:%d %p\n", i, pic->frame_num, pic->poc, pic->f->data[0]); @@ -235,10 +232,9 @@ static void print_short_term(const H264Context *h) */ static void print_long_term(const H264Context *h) { - uint32_t i; if (h->avctx->debug & FF_DEBUG_MMCO) { av_log(h->avctx, AV_LOG_DEBUG, "long term list:\n"); - for (i = 0; i < 16; i++) { + for (uint32_t i = 0; i < 16; i++) { H264Picture *pic = h->long_ref[i]; if (pic) { av_log(h->avctx, AV_LOG_DEBUG, "%"PRIu32" fn:%d poc:%d %p\n", @@ -273,22 +269,21 @@ static int pic_num_extract(const H264Context *h, int pic_num, int *structure) static void h264_fill_mbaff_ref_list(H264SliceContext *sl) { - int list, i, j; - for (list = 0; list < sl->list_count; list++) { - for (i = 0; i < sl->ref_count[list]; i++) { + for (int list = 0; list < sl->list_count; list++) { + for (int i = 0; i < sl->ref_count[list]; i++) { const H264Ref *frame = &sl->ref_list[list][i]; H264Ref *field = &sl->ref_list[list][16 + 2 * i]; field[0] = *frame; - for (j = 0; j < 3; j++) + for (int j = 0; j < 3; j++) field[0].linesize[j] <<= 1; field[0].reference = PICT_TOP_FIELD; field[0].poc = field[0].parent->field_poc[0]; field[1] = field[0]; - for (j = 0; j < 3; j++) + for (int j = 0; j < 3; j++) field[1].data[j] += frame->parent->f->linesize[j]; field[1].reference = PICT_BOTTOM_FIELD; field[1].poc = field[1].parent->field_poc[1]; @@ -298,21 +293,19 @@ static void h264_fill_mbaff_ref_list(H264SliceContext *sl) int ff_h264_build_ref_list(H264Context *h, H264SliceContext *sl) { - int list, index, pic_structure; - print_short_term(h); print_long_term(h); h264_initialise_ref_list(h, sl); - for (list = 0; list < sl->list_count; list++) { + for (int list = 0; list < sl->list_count; list++) { int pred = sl->curr_pic_num; - for (index = 0; index < sl->nb_ref_modifications[list]; index++) { + for (int index = 0; index < sl->nb_ref_modifications[list]; index++) { unsigned int modification_of_pic_nums_idc = sl->ref_modifications[list][index].op; unsigned int val = sl->ref_modifications[list][index].val; unsigned int pic_id; - int i; + int i, pic_structure; H264Picture *ref = NULL; switch (modification_of_pic_nums_idc) { @@ -396,13 +389,13 @@ int ff_h264_build_ref_list(H264Context *h, H264SliceContext *sl) } } } - for (list = 0; list < sl->list_count; list++) { - for (index = 0; index < sl->ref_count[list]; index++) { + for (int list = 0; list < sl->list_count; list++) { + for (int index = 0; index < sl->ref_count[list]; index++) { if ( !sl->ref_list[list][index].parent || (!FIELD_PICTURE(h) && (sl->ref_list[list][index].reference&3) != 3)) { - int i; av_log(h->avctx, AV_LOG_ERROR, "Missing reference picture, default is %d\n", h->default_ref[list].poc); - for (i = 0; i < FF_ARRAY_ELEMS(h->last_pocs); i++) + + for (int i = 0; i < FF_ARRAY_ELEMS(h->last_pocs); i++) h->last_pocs[i] = INT_MIN; if (h->default_ref[list].parent && !(!FIELD_PICTURE(h) && (h->default_ref[list].reference&3) != 3)) @@ -433,16 +426,14 @@ int ff_h264_build_ref_list(H264Context *h, H264SliceContext *sl) int ff_h264_decode_ref_pic_list_reordering(H264SliceContext *sl, void *logctx) { - int list, index; - sl->nb_ref_modifications[0] = 0; sl->nb_ref_modifications[1] = 0; - for (list = 0; list < sl->list_count; list++) { + for (int list = 0; list < sl->list_count; list++) { if (!get_bits1(&sl->gb)) // ref_pic_list_modification_flag_l[01] continue; - for (index = 0; ; index++) { + for (int index = 0; ; index++) { unsigned int op = get_ue_golomb_31(&sl->gb); if (op == 3) @@ -479,11 +470,10 @@ int ff_h264_decode_ref_pic_list_reordering(H264SliceContext *sl, void *logctx) */ static inline int unreference_pic(H264Context *h, H264Picture *pic, int refmask) { - int i; if (pic->reference &= refmask) { return 0; } else { - for(i = 0; h->delayed_pic[i]; i++) + for (int i = 0; h->delayed_pic[i]; i++) if(pic == h->delayed_pic[i]){ pic->reference = DELAYED_PIC_REF; break; @@ -502,9 +492,7 @@ static inline int unreference_pic(H264Context *h, H264Picture *pic, int refmask) */ static H264Picture *find_short(H264Context *h, int frame_num, int *idx) { - int i; - - for (i = 0; i < h->short_ref_count; i++) { + for (int i = 0; i < h->short_ref_count; i++) { H264Picture *pic = h->short_ref[i]; if (h->avctx->debug & FF_DEBUG_MMCO) av_log(h->avctx, AV_LOG_DEBUG, "%d %d %p\n", i, pic->frame_num, pic); @@ -575,11 +563,8 @@ static H264Picture *remove_long(H264Context *h, int i, int ref_mask) void ff_h264_remove_all_refs(H264Context *h) { - int i; - - for (i = 0; i < 16; i++) { + for (int i = 0; i < 16; i++) remove_long(h, i, 0); - } assert(h->long_ref_count == 0); if (h->short_ref_count && !h->last_pic_for_ec.f->data[0]) { @@ -587,7 +572,7 @@ void ff_h264_remove_all_refs(H264Context *h) ff_h264_ref_picture(&h->last_pic_for_ec, h->short_ref[0]); } - for (i = 0; i < h->short_ref_count; i++) { + for (int i = 0; i < h->short_ref_count; i++) { unreference_pic(h, h->short_ref[i], 0); h->short_ref[i] = NULL; } @@ -622,10 +607,8 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) { MMCO *mmco = h->mmco; int mmco_count; - int i, av_uninit(j); int pps_ref_count[2] = {0}; int current_ref_assigned = 0, err = 0; - H264Picture *av_uninit(pic); if (!h->ps.sps) { av_log(h->avctx, AV_LOG_ERROR, "SPS is unset\n"); @@ -640,17 +623,18 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) if ((h->avctx->debug & FF_DEBUG_MMCO) && mmco_count == 0) av_log(h->avctx, AV_LOG_DEBUG, "no mmco here\n"); - for (i = 0; i < mmco_count; i++) { - int av_uninit(structure), av_uninit(frame_num); + for (int i = 0; i < mmco_count; i++) { if (h->avctx->debug & FF_DEBUG_MMCO) av_log(h->avctx, AV_LOG_DEBUG, "mmco:%d %d %d\n", h->mmco[i].opcode, h->mmco[i].short_pic_num, h->mmco[i].long_arg); switch (mmco[i].opcode) { case MMCO_SHORT2UNUSED: - case MMCO_SHORT2LONG: - frame_num = pic_num_extract(h, mmco[i].short_pic_num, &structure); - pic = find_short(h, frame_num, &j); + case MMCO_SHORT2LONG: { + int structure, j; + int frame_num = pic_num_extract(h, mmco[i].short_pic_num, &structure); + H264Picture *pic = find_short(h, frame_num, &j); + if (!pic) { if (mmco[i].opcode != MMCO_SHORT2LONG || !h->long_ref[mmco[i].long_arg] || @@ -677,14 +661,16 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) } } break; - case MMCO_LONG2UNUSED: - j = pic_num_extract(h, mmco[i].long_arg, &structure); - pic = h->long_ref[j]; + } + case MMCO_LONG2UNUSED: { + int structure, j = pic_num_extract(h, mmco[i].long_arg, &structure); + H264Picture *pic = h->long_ref[j]; if (pic) { remove_long(h, j, structure ^ PICT_FRAME); } else if (h->avctx->debug & FF_DEBUG_MMCO) av_log(h->avctx, AV_LOG_DEBUG, "mmco: unref long failure\n"); break; + } case MMCO_LONG: // Comment below left from previous code as it is an interesting note. /* First field in pair is in short term list or @@ -700,7 +686,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) /* make sure the current picture is not already assigned as a long ref */ if (h->cur_pic_ptr->long_ref) { - for (j = 0; j < FF_ARRAY_ELEMS(h->long_ref); j++) { + for (int j = 0; j < FF_ARRAY_ELEMS(h->long_ref); j++) { if (h->long_ref[j] == h->cur_pic_ptr) { if (j != mmco[i].long_arg) av_log(h->avctx, AV_LOG_ERROR, "mmco: cannot assign current picture to 2 long term references\n"); @@ -724,21 +710,19 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) case MMCO_SET_MAX_LONG: assert(mmco[i].long_arg <= 16); // just remove the long term which index is greater than new max - for (j = mmco[i].long_arg; j < 16; j++) { + for (int j = mmco[i].long_arg; j < 16; j++) remove_long(h, j, 0); - } break; case MMCO_RESET: while (h->short_ref_count) { remove_short(h, h->short_ref[0]->frame_num, 0); } - for (j = 0; j < 16; j++) { + for (int j = 0; j < 16; j++) remove_long(h, j, 0); - } h->poc.frame_num = h->cur_pic_ptr->frame_num = 0; h->mmco_reset = 1; h->cur_pic_ptr->mmco_reset = 1; - for (j = 0; j < FF_ARRAY_ELEMS(h->last_pocs); j++) + for (int j = 0; j < FF_ARRAY_ELEMS(h->last_pocs); j++) h->last_pocs[j] = INT_MIN; break; default: av_assert0(0); @@ -762,7 +746,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) "(first field is long term)\n"); err = AVERROR_INVALIDDATA; } else { - pic = remove_short(h, h->cur_pic_ptr->frame_num, 0); + H264Picture *pic = remove_short(h, h->cur_pic_ptr->frame_num, 0); if (pic) { av_log(h->avctx, AV_LOG_ERROR, "illegal short term buffer state detected\n"); err = AVERROR_INVALIDDATA; @@ -791,6 +775,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) err = AVERROR_INVALIDDATA; if (h->long_ref_count && !h->short_ref_count) { + int i; for (i = 0; i < 16; ++i) if (h->long_ref[i]) break; @@ -798,13 +783,13 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) assert(i < 16); remove_long(h, i, 0); } else { - pic = h->short_ref[h->short_ref_count - 1]; + H264Picture *pic = h->short_ref[h->short_ref_count - 1]; remove_short(h, pic->frame_num, 0); } } - for (i = 0; ishort_ref_count; i++) { - pic = h->short_ref[i]; + for (int i = 0; i < h->short_ref_count; i++) { + H264Picture *pic = h->short_ref[i]; if (pic->invalid_gap) { int d = av_mod_uintp2(h->cur_pic_ptr->frame_num - pic->frame_num, h->ps.sps->log2_max_frame_num); if (d > h->ps.sps->ref_frame_count) @@ -815,7 +800,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h) print_short_term(h); print_long_term(h); - for (i = 0; i < FF_ARRAY_ELEMS(h->ps.pps_list); i++) { + for (int i = 0; i < FF_ARRAY_ELEMS(h->ps.pps_list); i++) { if (h->ps.pps_list[i]) { const PPS *pps = h->ps.pps_list[i]; pps_ref_count[0] = FFMAX(pps_ref_count[0], pps->ref_count[0]); @@ -843,7 +828,6 @@ out: int ff_h264_decode_ref_pic_marking(H264SliceContext *sl, GetBitContext *gb, const H2645NAL *nal, void *logctx) { - int i; MMCO *mmco = sl->mmco; int nb_mmco = 0; @@ -858,6 +842,7 @@ int ff_h264_decode_ref_pic_marking(H264SliceContext *sl, GetBitContext *gb, } else { sl->explicit_ref_marking = get_bits1(gb); if (sl->explicit_ref_marking) { + int i; for (i = 0; i < FF_ARRAY_ELEMS(sl->mmco); i++) { MMCOOpcode opcode = get_ue_golomb_31(gb); From patchwork Wed Mar 27 01:38:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 47515 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp322002pzb; Tue, 26 Mar 2024 18:39:05 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW/VtLcZOaYB4/Vogt3Yn2CgBWTevN0xN0wo32YhMla6b6w/zsfZsIEV6T0IcIFSqvEY4MeDufzjzZfou2sCNtIKBaA6NNrLZ0W4A== X-Google-Smtp-Source: AGHT+IE5m2MJdYbx3NW9y4xomWdaQ3rgGDuIenr2NKlrFQanS2/lYjUHsrPHkjaeunU9Ao53luyu X-Received: by 2002:a50:bb0c:0:b0:56b:7f64:86f7 with SMTP id y12-20020a50bb0c000000b0056b7f6486f7mr7286151ede.3.1711503545114; Tue, 26 Mar 2024 18:39:05 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id eo13-20020a056402530d00b0056bf2f4438bsi4094037edb.307.2024.03.26.18.39.04; Tue, 26 Mar 2024 18:39:05 -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=@outlook.com header.s=selector1 header.b=kUbj97nV; 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C2AB868D6D5; Wed, 27 Mar 2024 03:38:50 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2075.outbound.protection.outlook.com [40.92.73.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 95A1668D6C4 for ; Wed, 27 Mar 2024 03:38:44 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aHDCtyzs5RBHaX9xWPzB7S1aRPup6FCSz4VOSu1iSDAzGN9CROSenjnnZ3GHJj1aXBQ7DGW6mYf1vBRxfMnYkwbKLzwa4Xc8Dq3nxYuZOn5iJZWb4mNfUN3AK3o2RrrW4ebAhlNX2z3Tm9hg84O99nHDZNvFxtMe9D7gBUMPVJEi3/fDEuoO7LrZwTItzoJ6loAt+vQ1ZPUxhYVoxCUgKp4EmGaQlOTzCNEAEClyp6SabYlxYC8ygpAqv85bjFhxwPID35dtkjGLXHnv4tcUMvNW4AnijzYqCT7+pYOlrwe0I1yVa3g41Y3O+wZYTcLrWnwWVhVWaCLEctHwpssntg== 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=XY5cF/kXxoxSQHmABZ09hdUhRBpf+0g63CcKqVNhT6w=; b=Y74tmbtblfOLdOUfEkMH7l9Bv6HUlkG7QO6Tr3xgmNXlE+JqRP7sX0Z4MLmQQRsz7b33UieDk2GgbjD4G+rfYTDeQbJbfw3HLhPnBypcx8n7zlsrJ3umi3OPhF2d6zzXonM5bDLvmXUDKPnWoLrJetTCZDmKD8v2amwdQpmRt+ZgeLiSJ+8VoNWPh9xWsHFQqtqlJ4EnmdB+t4k4+IbDT0ZKfwuxBWlA16vV+J0gnbIxATE65Ex1sa9IgM9TUDKlJvPUS5tsMRRSOcBDV1uTCfoj559qqA77ssj9+OdvwyrSorjsRd0T9GjeytVkF+0X3hFmsIyKpSshsrVgiK2r8g== 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=XY5cF/kXxoxSQHmABZ09hdUhRBpf+0g63CcKqVNhT6w=; b=kUbj97nVDk6mjJ25qV/11noqtcXNQ7LU4e2fhWGih2JECTbzL0YbIOpH6Zg8zXksf+1jW1RgN8L6e3hkU0r/G4D8pCs+mWlpx9/t8TS4OMbTPpLr04lIdRsQnmSnUsGwAxI5/ILqxwg7DHxI8Q1NNWlKx3Y5eXvJZebviySg9iSv4Ixg0jyqhovw+lZ9FKm4+jw2WFYRF6SG2sccelH5s2x9F5ttKt+yAARU78ByU1+A+JYvcwe3BFnDKjzpzB9L5Ylo16aBODe8Y7gdmesalIKgAVH3vTX8tew/hOz090EatQGPiFMKyuGM3VhSNaI+xXdXpYh1AwFLPdcHJxqGFA== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0344.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:32b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.31; Wed, 27 Mar 2024 01:38:31 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.028; Wed, 27 Mar 2024 01:38:31 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Mar 2024 02:38:18 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [krT4ExfLICXR6/b9eS4YFpxI/EcyBIgDLP9osPMWjAo=] X-ClientProxiedBy: ZR0P278CA0075.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:22::8) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240327013819.265196-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0344:EE_ X-MS-Office365-Filtering-Correlation-Id: 49c7bcd2-e22e-4bce-9422-08dc4dfe9c19 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ptzmzdqLDvI2EnnzmesRLbtXhfj+CJbMGTb2j4+mZvjWu27uXournBA3SI6I57ORjNRI9qu8e08YW43o5lZasgnwAOrvYUxztC5RV3DmXXMtxQYkPvBCNjYALXkCWElqcqU2EO14jTEITKpwrc+9xNUe7pul5jQHNlATL4Hzm4qHwPhy66jLOCusJojjVAYxWhxQUEndIfesv+w0OUNHD339ojVjLNAnENIKEbP6TVfCfH7sJm/vH7UW1WJ8rOgaC4kcJG59FIZFawonArjGLeiTKexhY2R5TqTPylMnw/va0HUNHmNXU/wPUP47n8JwoAQSk9yRoDphl9R+m05DFG2pFo1xlk8O5JQRl03GxGmZjpCjO7dYQG9HBS7q864FybSJ0ZpqYSxGkw5tuVmHTMr1pP5eUajKOjSgS0tpCm7DrOjd1MruLk7+fn43fExNJFGDoxMjOBzyeDMqlN4Sa5vt5sC3gRBFKNZ4E7zohj00bBYH6GUf6U3Gwj4exedKkLIuhCrLYe74Ixgh917Ml+3MvgPQIpGQ9NyKaWE6A8gLuDb/DkMYo5K3El66ohlzZ5nz/QKwceWzQzHekr7TdxUc4EUi8o6Kbu4djta8LF753OWfQJQ98hTzX4zSdvMs X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4is4Yz63PEYefVqqc35JX7RBcuSPvo2K2DGx7WQ+9TNmH+GZXt9eJu6h0gIcyZ7aHOhjAvxcsMSX4OtAnUlIxmS+NKqw+BMVrdsfQQeS4eWk+l/o6uXotbasxoMjAsHnCWfyjXJBgPPgvWzrTK7l3yKpY03jnWfVk/RVLn+C6ZzICsmifA2IfCvjG0N9zDE5fBlZizjhx7fnKi7IIZFmHm9yqJgHv5+bqixjv48iyM++T6VRsswAVNNPFeWWYjVjxAhvREfVPBLQPLjwJio0nfw1qLGkTPcnXTxVHfjJbhCkwyxh1iF0JJmp7tninQ/Vr1DeWN4FFqi1Xnc6GEqYttcTGnC/btrKbqtycj7S4BcVFNtJfdQ+xQAjqFm/ivjmnr3PREFxgA2cqdmfypN+SnUDbm+cBYp9oRgZfUX/4NnRxacXnro5qL/8WSnjJY7SpLXnFHwUROoV0fmA/iFk7b4w8i0ntz9CNTlSYmcVUPde617jD0CSxyriRyjpAS1cULo2w3XSTOl78ykIPJywqu3cUwg0zvu+xNU32/PZxYr7FVuSXMvXM/fr2vOFAZIMkTHnKC8dN30AkZ6yQpGGn7JmN9Hd9qSEf1sUcmu/kSFZrw3BoHPrFOFAXnR+LC/RtulMsQGClAVoe1R5uuC8/0FR+iybfNW7hbPIcNMIUZUMMLYwhwf7Cb+6O5detzfKDzd0Ln4KGzD+3dHguAToTwcdrUuEmMVrIsm8dOOrhv62SLUOZny1Nee2Ub40Tq6NC4ALWx7P2J5QwCztCTpRJD78Jwsphm8HME/h+su6xSSVAAB5fjsDzuxu2DvK775SHYuqyTKAzl4m+01y5u41zeRHAKHzXVV5A+HDifRz8VIvaHI0Gy2iw3vjQ1GIYR5kl1MM48i/sh/VzEvZEo6+vCF6ooQr4Nl7+gPAOYSQ/FEx9abYU/r0PhpaOqJ/adISOOPVR2nESgLcSeDnpgE+UWxp24qJo376m/0Y3E+kyGX/L5HFGL8VS8np00ms31j7QsCQURjsAxOg0gu4+S/K9J/1Kdkel81SKwccOxnvu/22cSfPYCoGPvpS3tN06vg5WCqLhMSH7//W8pL5FHUsUYI+n2DfaKfCJn7IO4sMcg96pzptHNUgrk4zBgCqvQt9ZVUbtYkheI8C7tYlEdzxW4s3EMkrm394q8H6dr8Iz0984atyg9TMrH09LkIzfqbv2ZTvjEg3b1q0bCVHSgFybA/LF6WFt+DUXe1D4BknZJ+jJKF5DHhrNAUw44Llg0s1bSIZbw55iz6Cb+1cE6gzEQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 49c7bcd2-e22e-4bce-9422-08dc4dfe9c19 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2024 01:38:31.7699 (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: AM8P250MB0344 Subject: [FFmpeg-devel] [PATCH 5/6] avcodec/ratecontrol: Use forward declaration for AVExpr 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 2F1hoegsAR6K Avoids including eval.h everywhere where mpegvideo.h is included. Signed-off-by: Andreas Rheinhardt --- libavcodec/ratecontrol.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libavcodec/ratecontrol.h b/libavcodec/ratecontrol.h index 4de80fad90..1f44b44341 100644 --- a/libavcodec/ratecontrol.h +++ b/libavcodec/ratecontrol.h @@ -28,9 +28,7 @@ * ratecontrol header. */ -#include #include -#include "libavutil/eval.h" typedef struct Predictor{ double coeff; @@ -80,7 +78,7 @@ typedef struct RateControlContext{ int frame_count[5]; int last_non_b_pict_type; - AVExpr * rc_eq_eval; + struct AVExpr *rc_eq_eval; }RateControlContext; struct MpegEncContext; From patchwork Wed Mar 27 01:38:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 47516 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp322036pzb; Tue, 26 Mar 2024 18:39:14 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV/ZLeOdNAOv/oqkugPIgba4ENLzJWbOE3djj/oY0uzhXNbwpPOq92LZk+usnHmZO+OygP1wZSNQdbIgLFL7Ol50PfCcmB7IVQMjA== X-Google-Smtp-Source: AGHT+IH4Q5ihrBrqEMYHN4mt3WyXhPooxdxE/TGSr02hvWDHRLRLt0Vx/ZHGf8z/hvbKXsjnAbd+ X-Received: by 2002:a17:906:a282:b0:a46:be1a:46d9 with SMTP id i2-20020a170906a28200b00a46be1a46d9mr8164730ejz.15.1711503554237; Tue, 26 Mar 2024 18:39:14 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id kl14-20020a170907994e00b00a4748ddeaf9si3612357ejc.134.2024.03.26.18.39.13; Tue, 26 Mar 2024 18:39:14 -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=@outlook.com header.s=selector1 header.b=POg4Qgm8; 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A31AB68D668; Wed, 27 Mar 2024 03:38:51 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2075.outbound.protection.outlook.com [40.92.73.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DED4B68D668 for ; Wed, 27 Mar 2024 03:38:49 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BDw8vBjDzrTz6MLFhhoN6DAdz5l4h5eq7LiJp/6gEjNsX5D0sT5hiuzNoeT9d5IglG9nvIBpNBodQHijQcLwSDvRNhrJiricew5sirzdIFvKbhFCXwNH+Lnn/ZMU+GCDlQ6kgZZSxhGafd4r2tWfzXjx95WnEzpJ5Qs0/wtc/B5Ei89fdQKrIn5vqb4JD35W1k1aDvgnamqnwqahVtO1ndZS+yC5Yoi2fm4sag1k7HrYA3yKjfyfdiPjGHLNfD8lXb4ckYjgwDNDXF4Hh1JJ0l2JfpfkjdZOh/2akiU0C3kVx7yWl62mGB7qUqKYuGMetUgXcAZddxozxiAVtDVSCQ== 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=fZ3lRjsgoDBAoURl23YUKfl6GucVcFr/3vOx+BcevQQ=; b=XsYGD7ColCSMCQXfx8QNsHWlRWBoo1N2k+3KXOS/unqVI0m/ho4kDOEKMY10VPxhpmJcT/Gx03VMWn1gJOR23QnXWTqutNNvPJWC4W4GgN6iRITGKJMKrvtKRriR+Ux1U6uo+ffLQMkYFp2MbHoWdXiuCH4EMtKKP+yOS9rRtpzAoaCR0R8j/fmK7GmzouIwQSmBCpNVBJMMUpzqEZcd/7fzj6OPPIT0dE1vdbExyTydaMxU4uAgaRApZz29fzkLledAraGEdGtpLVmp2Ep1TQiodHOAYwwGKvKomPZIB6WXMFQsip4zalVYeggU8krID4LLa8Ewl66SDAExSm176w== 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=fZ3lRjsgoDBAoURl23YUKfl6GucVcFr/3vOx+BcevQQ=; b=POg4Qgm8PqD1jsQMyWeqVQww3VJNZUlskgfFtiexxN0YhUiZ8uXrXXbjcEvb2rN3zf0BZTO9YrpDYxEpqxRRBpedbBUZkMDKUiTNa454Cj5L6E794AegSnrTDZXNAwfbQdqvGoltJ6XyfvnSEr77Y7UbRg3PhT0taPfET7hgFIs5WjqoPbpellMbS5iYAXt8HLYCFCBCI9hl8xL/T66hHyUV6reYvkByLAJ5YiKpRE/xz6ZTEA+QJaqBEGzGCCmIuXO7Zfz02T+IF1zquGAfpgT30b5XBv8iIXLy9NuA/CN2vHqlSN52tygNcQJEkUifXRjSAa5Ch3cps63YLY7jRA== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0344.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:32b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.31; Wed, 27 Mar 2024 01:38:33 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.028; Wed, 27 Mar 2024 01:38:33 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Mar 2024 02:38:19 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [4bEqH2Ft2oBzssiX7OvQTnC8slnwKAq1FJsg2PzRJLE=] X-ClientProxiedBy: ZR0P278CA0075.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:22::8) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240327013819.265196-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0344:EE_ X-MS-Office365-Filtering-Correlation-Id: 5c356327-1762-412f-15be-08dc4dfe9d34 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: e2/km1Qc4a3h1W2vna3jERAgM/uWrUch4CJMuQIsEtt2JOmeMXRi+/pyY1A38Pn2wFD/KPQYYsazaVFBybfSITgJB1O/LxWXDrDqUZJm2+gIb7Ybq3v3cZT0VkKJqhjZT2je0hQSza+XiIn/v8SyAbZqKZJ+qOp1cLV0TFAnwsDBD5Zf4wBBe8hc4pZI1uLNvpd/ArvG1nLRwZmjS8sWyuDZmeTvzAyNhvGTsFlQP+x8KrmoSoBTHiEpDOeCt7sH4WUr4kpTTRuHgyzke++WR7wLIZM0LzdqN5k2gp/z5jNfOn/2lYYoqit96C1COgd2bYQU24vs80A3vRebB0aFa1MyJFLSuDRF31kdpFirw7YF8vsEqUhs+WmGCRwBJgXVz0GKFh+Wu6IymoKCFDQjSw0ddD1D7mn3xwx+5vBg05hvnBXWLmuPMqiPV3x2CH5UDKnzvXDIA0t/tf76ziWvKMbzSfTgTB4eGpYUAri4PDP0ff+YIoGqX72Y9ns9bkM0JDS/LptyXrEEiQO2wcX+W8G3344CCuGpGbHtjCQQy/JWbJ7/v4SiVMBBseWItgMWE9l1rXtGg/hTbc4AOlqpo+0SVXdG+QUZ0Bx/8cL4DwV+y3MudABRPDBO9PPlssNO X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: x/kT+4c5HKVbUQU+6B8WMiWXoE/3RlNKD762dv5GkPicYCNmGwysIMSVpjBrAmCUpMtZVt+Gos2q5ZsXun2qZwfGClaKfgygfOqsWjS/2hrWr4EqKWiWYzS6Vyi2LHUldPJr4qsspM579sEQw4ZE/KCRQ2X5o8LfbFWcqAnCNxceX9rzyQgWktGwzeYswsMdgQUn7oS3psIkG6jO419orh+XjoUf6GYHJ2Jpfsu8jbWXIpRF9+h1ysHZlcu63kKja1rXVoa6QwkaaSV76KbnVg7BzL0Z86P2sWkLCvxQmeFfzDHn7QGB7k/1K/9wvpgNyfF13C5YZ54LltL9txp5fgCNIcC72dBgSoW2EgbnJgs+7npQdG8SHLqbdNhB64Ojn64LEz3vVCrdAH6JIo/L27PXWmpaJaIMCkA7d6NiUpvDNw91esNw0yxjLWvdEsylkLMulE2Ovs32wQuB1cdlypq4jrn3jPpLxR4DeDX1ru3p0W4mvxV1A/hoycxFxediDg6sFZ4hoWPYx1cjb77+RWecP8OMoTJOugCNecals/3uY7lIh/UTJRTDtmbtwwEolhGOMbmNtBkfpR+EVNYI34NRwbNY7GL/fOO+wyDt9f2t/+CbGq/marNojj2/pbbYHC77yt1GEUEI6Sd/tj9yvq54cAN0vYALi7dWW/KEVqljFf1J/Ae0Ui+ralqCDKay3Fm99wL7M+D5fYO4T0wTWzF9BpHQAKkdpDnI5gfNcOhgDAQfiEgGzDRg8phRabB91kTnL3oh9NKL1MNLUWI32FzrK2LjIt7ofluonKJNHRyEpAKkeRIrnZU4La1InRuJhf6LuEmOjJ6ocR+5Mu0Co3JItFZylF6Y4cZHnwMH/3kmLAH4wXdce+vVM5l5eLnWar/OZq70iuRkdCUJKDVR8Zp6UEEa4zH1iY+dgKZHVZCLaOHHjfn0m1yATLBV/GLE/hcyoqhcy8fU2pba9DtyR25Gkgj23JnXJ1Yi7MPryMjxELjOmUOcAImh5EaXvpl4epDImfwJw/w85xvISbSPkCgJpEJEN1DTZ+SVNyrpb2kyAT+IRrP1kniZZ9B76PaWcIzOVTe406aIKROnZ3ArNjgwVI1zWF7/S7akqT9IuaeYsjezHhrEMm0q2q5uD4sugWCRdQSAKxIB841wm2kdjRdTqH8cjYdXEgwxeSV1/MkLTZA0cUji044D3kmMKeWm/sNepq4xy9zD3PmM3FK19l8F5clNwr1+2MI0DeZpPlMcM2xHB/d/yi9IRR6XtQDC2cHfZsK3wdhTY6OhaSPGSw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c356327-1762-412f-15be-08dc4dfe9d34 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2024 01:38:33.6306 (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: AM8P250MB0344 Subject: [FFmpeg-devel] [PATCH 6/6] avutil/opt: Avoid av_uninit 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: AqJYio/+EQJ8 GCC 9-13 do not emit warnings for this at all optimization levels even when -Wmaybe-uninitialized is not disabled. Signed-off-by: Andreas Rheinhardt --- libavutil/opt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/opt.c b/libavutil/opt.c index 685206f416..fc54a5386d 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -1859,7 +1859,6 @@ int av_opt_set_from_string(void *ctx, const char *opts, { int ret, count = 0; const char *dummy_shorthand = NULL; - char *av_uninit(parsed_key), *av_uninit(value); const char *key; if (!opts) @@ -1868,6 +1867,7 @@ int av_opt_set_from_string(void *ctx, const char *opts, shorthand = &dummy_shorthand; while (*opts) { + char *parsed_key, *value; ret = av_opt_get_key_value(&opts, key_val_sep, pairs_sep, *shorthand ? AV_OPT_FLAG_IMPLICIT_KEY : 0, &parsed_key, &value);