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 9D4474A583 for ; Fri, 29 Mar 2024 20:25:20 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8DC6968D3DC; Fri, 29 Mar 2024 22:25:17 +0200 (EET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2091.outbound.protection.outlook.com [40.92.75.91]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2B0D068D3A3 for ; Fri, 29 Mar 2024 22:25:10 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dylgzMEJQhqSMyMgvrFvHj0PMTYsywKL+FkCwPuuXj4RrKKiAqqxdyPE1zA62OhK9Wo+9+UP7kIX38k+5NlNYl9THlDlSn5jL8+vX7HuB4x2A1BelCx0o64jmJTEtrIcxCzY9rqvu+hEnCOKfwq3SDpoX1fPllRs4kNbASBqr4SgX0X/WIXl8kQACamZxc6ZWrdojcLjHRtgn+ua8c7cUQhxwz32YFVIibaiDvMHPqzfTm/I8OUI+y+mEdeEVEST3Cl5Q4RmQzMXaXY6VbicMF9jNaT4ZUu50iUMu6fpxsXubNY0Gih86/0J9JHD3PcjwJEzymZrRCbNAXngBOWc7Q== 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=6zTSyrs1RHgxjNSDSZ5BqsDBdCbBKZzqfZ3Iu7CFZ4c=; b=DKyEkY1gsKN7V5rtUUmsi3IL+rDUa1zaQ0l7UNQfzsobZ3S5Pg0UcWFVY9M/Y1P1PjsrqyFMQVnVDKRbCRkQwZXoEh8RjpsLn2MvX/AxAfbDBvmRT8xHDJ/ezFgkeOIxGAaRAtEi/ufQQd8zhKcs5f4NwGoHEm4OCnzzb8DGAjbHO7vb4/aDSoJM7X1UFGNtj9I93gPnmdgoSADyaAf/YsC8tqNOa2MdBVZ0GIOaKCbBYCI/zvHfzb+B8LVnxK1bDz2A599OmHK1+K+Aftbu9ZUPJM+7HTpDRFtE8l2Day1ohb4cRVglJrwx4ueLj8pEmlWAP2ey5Vgf//s/8wuiEQ== 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=6zTSyrs1RHgxjNSDSZ5BqsDBdCbBKZzqfZ3Iu7CFZ4c=; b=guBQxINNh7T2qq/yoiXrc+MMW2wmwsOoLBALjo92j94N888sYxk9oRKqaYpu1TbqWcfMjMUPi9Jsl3m8BQC4FCZ9QJ0mRbTHx03To+P2QUWSVLs4TieHZaWRIc+2ZO1+cD14eUp+g5QMpzUdRqK1kl4YkTWDyvLM7MxCc/RvSmMp1PTvcVZbDWG4LVKrTSoGzLfwVOW9ifHBc+VJBkPb63H4+BoEdr5lAu8YFmFvsi6sjoVsWtrvSb+DEkLgWJ8QfP01e3GgdKwbHfvd7WhK9m0VDHmi+2oOOE9RyUKX2TKYzMt6tc/Gx7H9HdJQJGVTiCrGZ8lGoEDqyMNIh5Q9/w== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by PAXP250MB0495.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:28e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.39; Fri, 29 Mar 2024 20:25:09 +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.039; Fri, 29 Mar 2024 20:25:08 +0000 Message-ID: Date: Fri, 29 Mar 2024 21:25:07 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [DQtPKx5UqA3+En+sYAcgjmxeg7utLO8tHmNjNDEbYbQ=] X-ClientProxiedBy: FR0P281CA0101.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a9::19) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <5b46426b-16e3-44dd-82f4-80bbacad5fb3@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PAXP250MB0495:EE_ X-MS-Office365-Filtering-Correlation-Id: e58ef9d8-1788-4bd0-ab01-08dc502e53d7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ON7RaRm3fV1pDuphYsKIVAkLIFpvwQwBoBuvkHChoiTwOH+Ihd7fOMdqxIWG/Oi50WD9kMGuFlrvYz3vekpId9aJHiiuLqAvnGc5geFp4PMU4Mc9WXvE5Bo/WppKsAslUNZ7DOqTZYHR+E73Kh02Kf4kBRnIwqK0FqxuZC/lvf2pQ22gTWlY5OOBlXGOTryL8Jw1Z4MYk7bOEjFZqjIIQ5KXPWN39NOczTcs0FaMNeQEn8JbLWW1ZnHVUQdCyjn9jOnFYUc8IRAaXviHtMgsupt0hcLv+BzQDZLdShU8s0GnwcuP5VV54hYGxFFSTK++HVdYYjMCWiyCle4AOnlKYkJk1u8cGaQLu8iso4tPDPxxWZuYFj1KBSc2xSVzoNbf2TWalFI5hasdbKbS0j5OAYW5xhz9D5yeY1tCb8z8iOGH9J2eLA5V5PwpZRfP4swevfWf5nbOqqM6vQ4Yzqds7ShQ+fnF7VbcQU+wlMW5y76xr4nTGj21B67vKip67aGakJtOiIiE31hS1b/h/XNs9KcN2aRd7rOtthpc6z+vV03fpB1s/0NL/U0/8AFhzttm X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bXpZTVdHdEhUN01QU3M0OThqWHh6bWFRZjhNdU9TR3RTRWM3Sms4eEV6ellr?= =?utf-8?B?UCtmUUcwNitKSVYyMnBzNEVySW5OVTJ5UUVPMUloRTVOamt4c1ZONTNOZmZ6?= =?utf-8?B?ZEZmSEZpMkRzeEIzZ1dpYU9Xai9seDlCRzg3SVRRb05QdjdvbjNDNHJJT1ZH?= =?utf-8?B?bVdvVXlTWFBHcFhGZFNUQlU4cGFDaityUXR3Zm9ybDBnVStmamRmMmhDNW0z?= =?utf-8?B?RStkRmdwUHBpYTFJZVpROFZhaUNvak1xelc5REgrWUxJR0V4enBQeHErdE9y?= =?utf-8?B?VFY1bzRoNE5qdzZRNUtCYmxyaHJWOXRlVHVGUG9OQ2lwQjc3azFKWVNwZEVD?= =?utf-8?B?Mlg5eERScCs3V1hya3Q4Nk5WV090WkdlUUJzMmY1UEdCd0E3Mzl2bnp0bTZH?= =?utf-8?B?RzlFMU1mOGY5ZEx3cG5NS0tBNld4d21VclZTRk51UkVRRjZ3a3pPS3QyZ213?= =?utf-8?B?NXZVbEE2TDNkV3pKcCs4NUkyOHVKYWtIRjgyK1pqNXh2SUNWRVMwT0hBN2dU?= =?utf-8?B?ekEyKytiVGhuMDBSV1p3WHRkS3d0a3pmYXRaK0xqVzhnOTdESmVITDNwTDdt?= =?utf-8?B?N1lQQStCVms0ZEdsdmJmdXdZTTd1S293YXByVmZaektXeXhHdDI2NTc5bDRh?= =?utf-8?B?RHVGRkdFRWtmMTB6Sk1XOTZRd21WdGVZbkFBdUdvdGp3TXRkWmNqZWUrQzBD?= =?utf-8?B?Uk1scGgvMHJETUQ0aGhWR0ZTaU5YandJOXd1MGp1dGJsY0ZKT21pY3UzWDZJ?= =?utf-8?B?T0UzUXNVak1sL0lhTVduUkxYOEwxNjNDUzlmK1VDM3pXdzNVZWVqdWJPM3BI?= =?utf-8?B?c1ZOdyt3ekRDZlZhaFdTckhXNzZZUHdCdzdOWGtSVEVwVHYvbEF4RHJyVFBa?= =?utf-8?B?eHdYYjRaLzkyUVMzd1FnYjJLM1NvZk5pdGlRSWgxdUl4UmhBMWZCeDVTS0J1?= =?utf-8?B?QWVGVDJXUWhWMkFycEUrditnek5uRWsrNm1IUm9QRmkwdUFoL2VGc0JJc29o?= =?utf-8?B?S0dVbXZsMG0rb1ZrNHpvMkdpN21DNlZqUFQ1SllmcFdlTVFHOTZTTTExSjhG?= =?utf-8?B?L0lHV3RHbHJvT25HT0xNYjN2SElDVEdzK1JIeDVKZVN2U013SUlkbllkZC9w?= =?utf-8?B?cHdBQzlSVENTT3dLaUNydWhpdk95R3N4TFV2aEg3ZDh0MnBSZ3JYcVJ5TTFi?= =?utf-8?B?NHhFSGFrRDN0TEk0MGltVFN3TDUxelRtVEJOV1hQVHVJaTdxR2o2UFFvSEZ3?= =?utf-8?B?MTFvOU56WEJhd3hMZW13M1JUL1p4TjZzQS80emRSTDczTVlZQ0w0dVRRa2Vu?= =?utf-8?B?VjVvdldSbVdQNld5OUJobjlWMUR3bWJhTzNZbFZkWVNGbmN2WXEwOXhVdEty?= =?utf-8?B?ZWJzaFNxNlpPS2J4UDBSU2JDUEZjYmlQWHplanc5UGhNQWxaK2xaWGR0QU84?= =?utf-8?B?VmczQ093UkhhdDVnMDZFRDBSaVhhSTZ4Vkw3V2hLTTlOSmhDRTFEc1JZQzNU?= =?utf-8?B?TjFOMGpDRkkyQTNKVTN1djBxRmpiakdRS2o0RENjS291ajlSNUh0ck9OMnAv?= =?utf-8?B?Q011MEdWaEdua2RzMmp1bGhmb1VtNTlFM2xsc2pjVStFSlE1WXNIQkFIUzY0?= =?utf-8?B?YUFwVXBSTllhaTFWVlIxZE1mdzdQd05UbHNBNlMyWk42NFRBMGkwVmpmUzR5?= =?utf-8?B?L3JNc1VUTHlMcE9ZVk9NUHpybiswSUo5RVgwV0Rpc3BtTlllWlBvZnpnPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e58ef9d8-1788-4bd0-ab01-08dc502e53d7 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2024 20:25:08.7167 (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: PAXP250MB0495 Subject: Re: [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 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: Andreas Rheinhardt: > 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); Will apply the rest of this patchset tomorrow unless there are objections. - Andreas _______________________________________________ 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".