From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 54DFC499F7 for ; Wed, 27 Mar 2024 01:38:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 44F3568D6C6; Wed, 27 Mar 2024 03:38:40 +0200 (EET) 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: =?us-ascii?Q?4ZozbhictIuU5aUSJvE09ArKacpIMpdFjlZNAaUn5ZdMyEDGCYWqut4uLp2p?= =?us-ascii?Q?r1uqqwr+NaES5Ntx6nDUgPrJHlyeL8gl9T+076XfvYhjQvdCgS/CuQsaMXv2?= =?us-ascii?Q?gBwp40zYhpvHMb3yO41ToXZmM1/5j1I+pV7Dye/j4YVnif/RMO7Evxg9zbHx?= =?us-ascii?Q?vT/YaVU+3qFj4eTXoZAuW0rwrFoD1ZKhH5qOvr1RkE4MPmyisytgx4Ek9OPN?= =?us-ascii?Q?S8SxlwSpERyBGDu5n1KojcVk/T/TYcpeN78SSdrbLzjIUIGZcXvzeS2KkEpO?= =?us-ascii?Q?YgVQKVXLSTdUB0mpOCn25mTa+ktsj1z61OqGS3Z+mFa/9wqwmUT5dzbmcH1u?= =?us-ascii?Q?gs/w9ZmVliCJCKyCR9r9VclLyNCIR3OBVjfQA5eEB/jq06bs7qzBnAXHAMU+?= =?us-ascii?Q?qw0bcs7Muy1WugQikZ0MI8sZPZxHa95TZXQlcWhX6XskXEwPclBbXFgfNYSO?= =?us-ascii?Q?BcLupQXaLoTzgtf2bRDqgd7YJKhVMn9p/LXdeFciVZdIa4+SsTPm7enCy0lJ?= =?us-ascii?Q?C5Y188Ua228mzqgQpF9JYqw7n5fY7JXO3tgQDkaQ7tZlGa/HZB6hFevMp52I?= =?us-ascii?Q?fdVeR1//qrgrlgrsszM9R0FM717YmDhHhLy0KD8qiqzMk3oM+Yt/hlFlWjDM?= =?us-ascii?Q?QunBFw34R/as0Ouv9SmwXczaELbOt2wqIPuFgw5AjrzGvfvmIsbGddRYtcWN?= =?us-ascii?Q?dQE8ntRZgy/Be9vD/bL+2ugxh3te3gNVvz59Y/WXuFTfWqOvVH6D+Gl2enw3?= =?us-ascii?Q?7Q6iaclyRcwSoyx3y0Przkl1pHRTwuIEvpcXXh1zcdEM/pOJGhvdPzqTqw3M?= =?us-ascii?Q?cuWvGJGN0VQQaPhhVawbGVBVC54BGyGI4KwES2uqQFCwPe6nzb35UifG5Viw?= =?us-ascii?Q?30dGhhLxdsUHUa21Gg7DHSkkf9NPsDSW8j6YLOhDxoK7mSgsO0WarvgfomsQ?= =?us-ascii?Q?KNsZuFXeMcz7sZnKFQJVHA5ElDq7JrnHcjLF4a5gXfyNNaRPMEfSyuCVvi3R?= =?us-ascii?Q?2NXcJDTizAydK1utBjGALyiLOV2FUp4p2tbwRob1TuabTQbwFisQ+m3ccjqb?= =?us-ascii?Q?haS8mpr2TdOzmKuwAtq+Ec2o7QLluVxAUeuX0OK3ejyQTUVCU7n6qnYzoUjQ?= =?us-ascii?Q?KXxOVawhcfDiaisAM1/D9pCS/CbbGvC1HywXywiOHaQZKV6V5I6Yp0lQSBK5?= =?us-ascii?Q?J0xqxS1miTW9Q/oTpn3kgpUP0eLfWDmNnqhm5xyV8eT3IuWJEZQS2yyFog3n?= =?us-ascii?Q?BEd6qr3eiGa6cYTTgfLumTxD7QmD6APTPrW5UrDGLA=3D=3D?= 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: 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); -- 2.40.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".