From patchwork Mon Aug 7 14:55:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nuo Mi X-Patchwork-Id: 43159 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9329:b0:130:ccc6:6c4b with SMTP id r41csp1656932pzh; Mon, 7 Aug 2023 07:56:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEEgKm/mdTeFCMmNRjMH2Pk4JH/gMc4ChQnwFpB62uxVSk3TDG3XCKDmgRP3kotXk1cQ+e5 X-Received: by 2002:a17:906:1045:b0:997:e9a3:9c59 with SMTP id j5-20020a170906104500b00997e9a39c59mr9185478ejj.6.1691420170403; Mon, 07 Aug 2023 07:56:10 -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-20020a1709067cd800b0098e003216basi5837626ejp.110.2023.08.07.07.56.09; Mon, 07 Aug 2023 07:56:10 -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=hmQVXU8U; 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 9D2CC68C600; Mon, 7 Aug 2023 17:56:01 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01olkn2074.outbound.protection.outlook.com [40.92.53.74]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5C20B68C5F2 for ; Mon, 7 Aug 2023 17:55:54 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z+Dm+E57vWj2eRyz6RmuZ3VCs/Ro0Mz6XZC/E/XmzbquThNbZv+V9ytHzPd8r72IksJrqjgFxluRgIca7Y1tdZwTLR/Pr4YH9tv3EDDkpFXcU0s1h4o9SiucDRZPjw+fx6FvQ3X9piMDj455vE0ZEC6Pcr1Hvo4kHUfNTu+dOc6cmUsV7/NsCAIUoi0D7IyUjqUBg4eRJamVRja5wN91dDTciP/dE5C48sjmfbdnr4TMagkI4D+5pemvxP83kh+1avT6apfA8MKAHPDK8ZWcj+BW1Tx9vzFdRY0MYokzJK/wXfspuSUGx2jUCY0M6VpWIYQseZC4vGFujV7Af327wg== 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=PQM/gjknugGuy88LNzQbv4it/6QkKpeHDhsXIOLkI0c=; b=LszVIk9Q2Va6RN1qzwxcEake7HcVpWsQv1Q+jGX43UG4ynX2SpoH8hR3KJVGoXx/RHd66ObAczuiZ6AFXXMq2nlOBBesgATG3J9C+BrROBxh9ujRNXEZbTenBWIVEsOPIR1TRLR0fQvVkhzDNYJlzEuxXyLng9DnEVkBPgNgC5lYXiTVszpw3hwyOYtqdwRZ9qLIUYMx+jhbVj/eN0rW5w9nIoMrYGkkVrd2ix6GQx150eHhEf/oY74x4Eo5BLEdGHYnILnMy+xPlO5t4hEy3a4qxGmGQsvna+z1qgT5/nSn65+gydbN6uquritj2mNoSbwLRV5eFggqdRDmzv3i3w== 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=PQM/gjknugGuy88LNzQbv4it/6QkKpeHDhsXIOLkI0c=; b=hmQVXU8UQxnzhVtIlbkSC8ZUnPTmO5fij1KK6uyggk/Rv9UowufoB5WUpwm6g7g3c5Hgnc5vmesenXszuVpGsAynfHT4SlTb3Ssxz/zlsN2TquzMZ8AopdFdyQnnrIuYmq7b4n4y+VB0ccMx1NztRgqcTlsBOj9pZhSHykt9sUWg7v2iS+wXAb5tSru/4IlY53Dh9jJz9yITPhkRGt1k/keEoEcQ09OS1nxiBs0gc8bDbc7SGSsg7Dfq6WKljytAx/AKX4W8V8qRLwBhuOd3f2z3vhayycLjpJA0k2I4rRCJo+SviQZNIf1IKb9YSWF0gwj7ryBNxQ53a4RRWuFJaA== Received: from TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) by SEZPR06MB5296.apcprd06.prod.outlook.com (2603:1096:101:7c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug 2023 14:55:45 +0000 Received: from TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::f1a4:bbff:7592:ee31]) by TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::f1a4:bbff:7592:ee31%5]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023 14:55:45 +0000 From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Mon, 7 Aug 2023 22:55:27 +0800 Message-ID: X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230807145533.17949-1-nuomi2021@gmail.com> References: <20230807145533.17949-1-nuomi2021@gmail.com> X-TMN: [ckFJf/5/70yDv7xtspllcv8Jy+DFvRqO] X-ClientProxiedBy: TY2PR02CA0065.apcprd02.prod.outlook.com (2603:1096:404:e2::29) To TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) X-Microsoft-Original-Message-ID: <20230807145533.17949-2-nuomi2021@gmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 2 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYSPR06MB6433:EE_|SEZPR06MB5296:EE_ X-MS-Office365-Filtering-Correlation-Id: 93e21bb7-bd1d-4e15-daa9-08db975660f7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3tCTcLaMUXus3IRTgoJ9YFdGC2+eb6olVBHvmvnx7l26gV0rOQcTOlByUADCSdXX2eYB0VaYmemoKWlNQHCwvGoKcEB30+53kkgsT7KS4iYV0gjVj4UAqBBNkoO59w7xDs0ifQVNCPs2xw1yx2xOHYrtKLxMCUunk5V0MDmVcbMZFPgRZb2vMYEKoD/5mftIaK7jpGcb8A1zuLLQI4pjXNRADT1w/QNF9XQcoJePqnI7GcSpvFOok12hOm/aD1u3ernDKP6WTZregIA1/2fV2Fr/pURjRG0UP4CeQ/Gtm7E1WAAmeCMnzRJaX4NsyG8inC5N3x9z2cvQQ8eipzvfiL1OBKgPAvH66SfXsUd8jh4r/WVqCgUVDl14jGFy8xSb4VVYsZMpF/9R2Fwp8bCfBtWCa2zEwDiD5eBBogNDTvHcZLZpAi9jQfDEK2n8LLBOHjfb4eSo55aGrs0zPexFdlzxR6aaTYFm2ILxiKpaQW3TL/XECA+O9BPUFTxQl480SLyvJMnZfmzrh9LcQ+jXhnHDjniU4T6St2cdZty7TQq2y1OFTW/Nl4XFF0SyfcO/X+dk3H43FFH/QGnfvWvSyAXxjq3NJVfyaTpR7pBqdPIS4uOHqAkcBNso79xVkmrx X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KNi6qYn28IXGd4bcGd37rFzfzTjgrNR+wv0rJO8tuODnBK8CL7wurk7NnKIRrfGeYCeOY0GG57ONzORGRn5IzLwGcOi8wsrQgVwYWK4lPhjDRK31KW0+TRdi6cDI4dy1ZLWWB7WKXUUq7t0JtuMqnAzSA9iHqQPJdxTZ/wZmipq0hGytH9I4q45OV2VO68QQ0ZHZBqBw9iB83lOqdd/Yh3xYIRXgUkqeT7QzoeupqcBdBrrbw4TFLXv5zNjF1DqN1DmIv/AHSzUxlAXsO6ShT0YxkKYDygvEdAl/h8tQQi4YV/jjoxUzZe9c/TRsaEaBw0s1sAy21IfbmHYb6drEt2H0VyqO7F8PxGtdX9cPvDR4epDyRLWjSgBr73YcIbk3r98+nqqOMdUUUXa+/5Py32P7DV4cTl5a25k/HuRs9m8FFnNAW9nxvPqhaqOoqhdhGs8rcPKmQHGrcTx7ZdR3cgC7zCCnDKOlNpxs290LSzFVvJFg//w34efmEmnU1ybod/qh5FCq8QMpZGp6NjihObG0p7QBBAUVus6qq1cTGx8+YvOLif321t9sfIypnfZWYM6AIOtGnzwy1CyhssiQ0vhOpfUjfQ2hSFxlWGfL+LSMXbXzKTshcq/zLXCKCqTjZNGbWcZAVc6YkfU/fewrKMfKTfECRo+OhEzD9n+aIEBrkGKbvl/OrxBVfte7o81qfX92+cx99CW4joIcML8GYBgaH5zwoUWUQfIe+ehhC5iJwSibZsb+CQDGQFwlvo9GN49/z8PZT7wfoPCng1gKlI3KN0SS+hiF8OpUK+R4cdqpJY1whho7dPX5b+Xwo1C9VIPnuzmG6xKlIcUU1WUyqKN/kz4Rf7hXVbs1Qhh9cZc6sil0eMVhVrkRN0ftjYDGZPNl67WVdzWKE1+4k6Ei7hoKh3/ovdlT6we2KZ5Pt/fcZGxN8TGnFnywg9jNDQ2BEfhM296selRLIG4Qq3K142D0VntyS4FfLrvmdDW3OyTdU1awInwfH0nzzC3ReB5pU3EBmanKE5+vAqqHbbuJHz8GG15RHLhYcocvX5hk1PJp55jFN0eGM+MiP943MwjW37taAj1nC/AmzogS9VARGmLqLkU1PXm6KNbwdBY0t07fkNH7q2vezNNmo4I0TSB5w5sjFhVU2WiPUBdJUN4SMtsZvMoq9iXKFM9NCFMKHe4zTwM096mI9n0aYzsEhqv0dXOAhWDc0VerekUyLCEk9FwqJVAENVKorbx3zJCSa82HoFsFRdo5/a6oLsLyon48 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 93e21bb7-bd1d-4e15-daa9-08db975660f7 X-MS-Exchange-CrossTenant-AuthSource: TYSPR06MB6433.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 14:55:45.6048 (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: SEZPR06MB5296 Subject: [FFmpeg-devel] [PATCH 2/8] cbs_h266: fix inference for sh_alf_enabled_flag 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Ij1z5WpmS7zJ if pps_alf_info_in_ph_flag is true sh_alf_enabled_flag infered from ph --- libavcodec/cbs_h266_syntax_template.c | 81 ++++++++++++++++----------- 1 file changed, 47 insertions(+), 34 deletions(-) diff --git a/libavcodec/cbs_h266_syntax_template.c b/libavcodec/cbs_h266_syntax_template.c index 857882655b..801feedb4a 100644 --- a/libavcodec/cbs_h266_syntax_template.c +++ b/libavcodec/cbs_h266_syntax_template.c @@ -3111,44 +3111,57 @@ static int FUNC(slice_header) (CodedBitstreamContext *ctx, RWContext *rw, if (nal_unit_type == VVC_IDR_W_RADL || nal_unit_type == VVC_IDR_N_LP || nal_unit_type == VVC_CRA_NUT || nal_unit_type == VVC_GDR_NUT) flag(sh_no_output_of_prior_pics_flag); - if (sps->sps_alf_enabled_flag && !pps->pps_alf_info_in_ph_flag) { - flag(sh_alf_enabled_flag); - if (current->sh_alf_enabled_flag) { - ub(3, sh_num_alf_aps_ids_luma); - for (i = 0; i < current->sh_num_alf_aps_ids_luma; i++) - ubs(3, sh_alf_aps_id_luma[i], 1, i); - if (sps->sps_chroma_format_idc != 0) { - flag(sh_alf_cb_enabled_flag); - flag(sh_alf_cr_enabled_flag); - } else { + + if (sps->sps_alf_enabled_flag) { + if (!pps->pps_alf_info_in_ph_flag) { + flag(sh_alf_enabled_flag); + if (current->sh_alf_enabled_flag) { + ub(3, sh_num_alf_aps_ids_luma); + for (i = 0; i < current->sh_num_alf_aps_ids_luma; i++) + ubs(3, sh_alf_aps_id_luma[i], 1, i); + + if (sps->sps_chroma_format_idc != 0) { + flag(sh_alf_cb_enabled_flag); + flag(sh_alf_cr_enabled_flag); + } + if (current->sh_alf_cb_enabled_flag || + current->sh_alf_cr_enabled_flag) { + ub(3, sh_alf_aps_id_chroma); + } + + if (sps->sps_ccalf_enabled_flag) { + flag(sh_alf_cc_cb_enabled_flag); + if (current->sh_alf_cc_cb_enabled_flag) + ub(3, sh_alf_cc_cb_aps_id); + + flag(sh_alf_cc_cr_enabled_flag); + if (current->sh_alf_cc_cr_enabled_flag) + ub(3, sh_alf_cc_cr_aps_id); + } + } + } else { + infer(sh_alf_enabled_flag, ph->ph_alf_enabled_flag); + if (current->sh_alf_enabled_flag) { + infer(sh_num_alf_aps_ids_luma, ph->ph_num_alf_aps_ids_luma); + for (i = 0; i < current->sh_num_alf_aps_ids_luma; i++) + infer(sh_alf_aps_id_luma[i], ph->ph_alf_aps_id_luma[i]); + infer(sh_alf_cb_enabled_flag, ph->ph_alf_cb_enabled_flag); infer(sh_alf_cr_enabled_flag, ph->ph_alf_cr_enabled_flag); - } - if (current->sh_alf_cb_enabled_flag || - current->sh_alf_cr_enabled_flag) - ub(3, sh_alf_aps_id_chroma); - else - infer(sh_alf_aps_id_chroma, ph->ph_alf_aps_id_chroma); - if (sps->sps_ccalf_enabled_flag) { - flag(sh_alf_cc_cb_enabled_flag); - if (current->sh_alf_cc_cb_enabled_flag) - ub(3, sh_alf_cc_cb_aps_id); - else - infer(sh_alf_cc_cb_aps_id, ph->ph_alf_cc_cb_aps_id); - flag(sh_alf_cc_cr_enabled_flag); - if (current->sh_alf_cc_cr_enabled_flag) - ub(3, sh_alf_cc_cr_aps_id); - else - infer(sh_alf_cc_cr_aps_id, ph->ph_alf_cc_cr_aps_id); - } else { - infer(sh_alf_cc_cb_enabled_flag, ph->ph_alf_cc_cb_enabled_flag); - infer(sh_alf_cc_cr_enabled_flag, ph->ph_alf_cc_cr_enabled_flag); - infer(sh_alf_cc_cb_aps_id, ph->ph_alf_cc_cb_aps_id); - infer(sh_alf_cc_cr_aps_id, ph->ph_alf_cc_cr_aps_id); + if (current->sh_alf_cb_enabled_flag ||current->sh_alf_cr_enabled_flag) + infer(sh_alf_aps_id_chroma, ph->ph_alf_aps_id_chroma); + + if (sps->sps_ccalf_enabled_flag) { + infer(sh_alf_cc_cb_enabled_flag, ph->ph_alf_cc_cb_enabled_flag); + if (current->sh_alf_cc_cb_enabled_flag) + infer(sh_alf_cc_cb_aps_id, ph->ph_alf_cc_cb_aps_id); + + infer(sh_alf_cc_cr_enabled_flag, ph->ph_alf_cc_cr_enabled_flag); + if (current->sh_alf_cc_cr_enabled_flag) + infer(sh_alf_cc_cr_aps_id, ph->ph_alf_cc_cr_aps_id); + } } } - } else { - infer(sh_alf_enabled_flag, 0); } if (current->sh_picture_header_in_slice_header_flag) {