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 A0B0D498E8 for ; Thu, 22 Feb 2024 07:16:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5321A68D231; Thu, 22 Feb 2024 09:15:14 +0200 (EET) Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01olkn2037.outbound.protection.outlook.com [40.92.53.37]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7740068D20A for ; Thu, 22 Feb 2024 09:15:05 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kWa0uuqOmP/paHjdaP68o8XIkJJ+ZLfxUfrpHQrgV3RCVnMoRgyCniYBwjtYnjrrrr+9NW4vcTFShBhhLqdzIp3BL14f5BKENyHrMjgmp6cCdUB546ksyqMaGH+n5UW+qf6+Wr/J9JIuLX45G+U1YmPdHqY7tPQPgjcYW53CJ5TYh4a7hM5SOgvXrFHTAjh5LnHuL/mdW2V9WjjtFNUgDl4E7ljiiGaRPP1a5ByE0IRu0cCM9JRcQGdCz4qoJjUj/QEzgoA+r8eA8T9fsk91CmuH3Y9r6VRmDRXkzlatbwmYrXk7cjWflljmqWe6gYuDpYt6axFL1X+dzY3jHgl0pw== 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=asleDdI2PYtb8Pf43TGWi/LwY3h2RLCBqNsRX/OR1YE=; b=YeEXWFBHJGaQAepvoUvCz7a+3EgRx/QnmyTC3m77AlAuYv7S0g2eynTvL/suXKUiom3Agf+o7HHtUxasjvsewerF8h4VaHua0KPngFM3TjmDbZ4HyEVj3KE81p9cTa7fxR/BevG/PUa5ADznPh1cJIeRmHdtiZA+PK8/q0szhmSCaNddkLz9ngfYEAqf1OWEnVlzj/+OTpcIO70GMSgMS44Hqa9njeNdHCcpuw0t/GRPB8dJvBCuPT28dPaqF7hrcdRC+8i9EerKNvScbQ/qYH03lRLMRSYk+g6NGSapLBcO9gtv14frzjBJ/afEMNpsnpS2LGmOxDpMnrUV3Q37CA== 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=asleDdI2PYtb8Pf43TGWi/LwY3h2RLCBqNsRX/OR1YE=; b=Rx0BzN57wIW0TD+BdqkWOcPd2+9EQJeMZjU0x80sQjdx9TWLFwdv8DNhhDAlbjiF0dt/Ntyrk9l4XWpAXaIOr2R/lbmY9D2gmeF7GLhf1z5F4hdFlZQ7fg/C/Mv4CQ3rc1bTQP52u3JEf58cgRC+mmdpqCoLWTUnSgjI/QcTmv9Geb9liynJCSD76ByfZ7heXQAhB2zUqwLN1lJPSkh1QnuGuiludQJe33d0x5h/VjhjyToLDxZH8INUU0yR3JfeDn5rp4XFg937qq3OoddYsHtz8+F+Pjo8WzH9yMmCukjJIfJ6Vu/7GPt5rTMx9Q8WiIEFunK9g/7smtRsGWC5hg== Received: from TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) by TYUPR06MB6241.apcprd06.prod.outlook.com (2603:1096:400:358::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.38; Thu, 22 Feb 2024 07:14:52 +0000 Received: from TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::e139:fd7a:1b66:a3f7]) by TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::e139:fd7a:1b66:a3f7%7]) with mapi id 15.20.7292.036; Thu, 22 Feb 2024 07:14:52 +0000 From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Thu, 22 Feb 2024 15:14:03 +0800 Message-ID: X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240222071406.5714-1-nuomi2021@gmail.com> References: <20240222071406.5714-1-nuomi2021@gmail.com> X-TMN: [3MzsP443aPKRU7sOUvB0ov+3tTkw0Ag1] X-ClientProxiedBy: TYCP286CA0049.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b5::7) To TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) X-Microsoft-Original-Message-ID: <20240222071406.5714-9-nuomi2021@gmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 2 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYSPR06MB6433:EE_|TYUPR06MB6241:EE_ X-MS-Office365-Filtering-Correlation-Id: 975b1ec9-4b5c-4a2a-9525-08dc3375f672 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kJE4V31h7OsrCNk7OHGl0/QmDMkEe024b+/YK8Srw1bTwHW5WEbxqxWWjXxq5ovHHyQH01sKTUAWJ8wdLlaMKm2c34z45vUSIbQTQiQgSdyygnVsdHQrBg3MYAXhwNFh16sHY9VfKguBZYcgZy6Hx6bXAZWRyIjqflqK4nR5poK1VV6YOIbzNJRiMfXT0q/3oqTpqiKzQikjPGsb1tktuUibeIZTCxUqBkTQBX/KfLpXB/LSFMjWXWM5gz2n2t/AzN1sUu4d4Mqb445KSZsDBRsiSWJtBFZuaWB4qLUuc0b0fjHSbw60hCqIwoZzcNy17IwKXTtM7CeDwmb2zAm0Pnp5DoPIjDM8dAjZ3YttpVaAEZRQZKL/yeRP9PavHR6AZaGftvYpUyAuVjMSRQzT66glU3TUfYLGXkoImZsM+Hjoaq+EX2mTpizB3LsAHWWPUchW3gMzpmV2nqxiRpOI1otutFwzI5eFVWwfpXychSSOxl9B5ZxhJGx2HhH2m1I9twwOdv93U2isjE9cKmlbRdL3jJfFQ/GRgh+AnIYvPU1vPY/NUuOlJomu1INJ48zMJ1FXbn6c4uNrdF77pgvkRvhLTicXd03y4NTeW7zIE5CNOlY3sHkKLSuPPI7OCPI3 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XHm7zD/xdDIQvViLs/UqosR9EteJ40tBtptDDVGFtcfvo4BCKTmFmPGLDUnZ?= =?us-ascii?Q?UF7A1NACZAp+bt9R+ytJKGd81FGkYHRcloDze3y1VbDNgyQoO/MUvqmVYDut?= =?us-ascii?Q?1vdmt2A4+vG0G8vro1XOZU0oU9sUHzGoH4Om2f/aaUiHeZDtqkhbfYKyLzij?= =?us-ascii?Q?D0GUtxamuHSfFphfef7HxukiJHvdFRuy94oTwY12xrA9RlVB9XiQqVTs316N?= =?us-ascii?Q?wVn/ZJAg9+4W+NmhEr8j8D16DhdR1ht0m5ghI65pOFY4dPSBusPza4b6BNq/?= =?us-ascii?Q?f/YVauYNz3kz5l5G23gc4+fLq3KgM723ctRAwHISz48seiKOTMOd3Rs1LpwB?= =?us-ascii?Q?K0L0Wa+EPsFP3gjJoadAQuN7R7wpspqgl+5XL/2+QrR/bHwP0DS2n8Vvk/Ty?= =?us-ascii?Q?rZGxj8P86w2Qb48R1IxNfhccXLM6hpQA3U0adNi4ckSrZ0GLW3GjtvEHxD6a?= =?us-ascii?Q?PrYfKKlzIHoWy8hYKH5CpdKD+Hi76kaQXTzHO+5wzd9wTYDkODrHZg7levvS?= =?us-ascii?Q?StPJw/1VTf1z5K0hDJEPfF3J3aYV8HM7301tW4/NblBgxIGnR9E/JJqo9u7j?= =?us-ascii?Q?+zLLf0NVC0cfdcv3AAoL8TKccDRwujHzj7pz8zuAuk8s6cCZJ9yeElphITzx?= =?us-ascii?Q?r6x0ZjgqXik6ARLVru0e2hz6bBnr18MWzXuxd/scPMqZyCRiAbPKmC6jzD2r?= =?us-ascii?Q?4K2dhlyS5rjYN2q7WeylYp00CHbkjK7CV+XcE0mKYoB9tNlLsYXQjpnQUBrS?= =?us-ascii?Q?Nm687C9RA9TVq6RB9KqRc3ZBwnRNAVW0GQEa3+/hi0OzKFZMa9rMWVVuQ/GU?= =?us-ascii?Q?DxTXW5uxTZInULiXwta3pgHIUpoVj9ViM6coZRulkwHxujgwHvUAWpwYPCJZ?= =?us-ascii?Q?KR9yDeXHNz2QIB9sXfI5SoY5b0+VDW3LsCT+GIvXJlhe+/MRM2mXODbzGgCl?= =?us-ascii?Q?b51qGqYqnajeHGSPPaM+kZ8YN3p8rU+2M7vKyh+xX+hmQM1WLgh2TJNAT8pF?= =?us-ascii?Q?SAevCf8Mm0tVf+A0IyUMTJ614z5W240LNsPkkTONH27T8sd1QbdFpHwV8UvV?= =?us-ascii?Q?vJhOwJOzOI24+P4uQ3ha1mnhZgSmtJ7EjLJPqlDmLuX1ess9PFOuTEoQ5Vw+?= =?us-ascii?Q?QYCzlUTcKkXSfEFICQReNUrUS4dnoeK22aq+RxseOrDUaLkhl70HUgO1rq8T?= =?us-ascii?Q?LOFPk6VMPtRKDibxJARkeAAr/CdGlFTIC8S5dDlUWEHnGsXlq93KqVcvgCKE?= =?us-ascii?Q?UoUfUqDuvTn0Hqop727rWFpFRiR6Qc3ns2yS8CQ7tw=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 975b1ec9-4b5c-4a2a-9525-08dc3375f672 X-MS-Exchange-CrossTenant-AuthSource: TYSPR06MB6433.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2024 07:14:52.1116 (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: TYUPR06MB6241 Subject: [FFmpeg-devel] [PATCH 08/11] avcodec/vvcdec: fix dual tree for skipped transform tree/unit 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 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: fix IBC_E_Tencent_1.bit --- libavcodec/vvc/vvc_ctu.c | 24 +++++++++++++++--------- libavcodec/vvc/vvc_intra.c | 6 ++++-- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/libavcodec/vvc/vvc_ctu.c b/libavcodec/vvc/vvc_ctu.c index 00476c81e4..2cf6e82f26 100644 --- a/libavcodec/vvc/vvc_ctu.c +++ b/libavcodec/vvc/vvc_ctu.c @@ -481,8 +481,9 @@ static int hls_transform_tree(VVCLocalContext *lc, int x0, int y0,int tu_width, static int skipped_transform_tree(VVCLocalContext *lc, int x0, int y0,int tu_width, int tu_height) { - VVCFrameContext *fc = lc->fc; - const VVCSPS *sps = fc->ps.sps; + VVCFrameContext *fc = lc->fc; + const CodingUnit *cu = lc->cu; + const VVCSPS *sps = fc->ps.sps; if (tu_width > sps->max_tb_size_y || tu_height > sps->max_tb_size_y) { const int ver_split_first = tu_width > sps->max_tb_size_y && tu_width > tu_height; @@ -501,11 +502,14 @@ static int skipped_transform_tree(VVCLocalContext *lc, int x0, int y0,int tu_wid else SKIPPED_TRANSFORM_TREE(x0, y0 + trafo_height); } else { - TransformUnit *tu = add_tu(fc, lc->cu, x0, y0, tu_width, tu_height); - const int c_end = sps->r->sps_chroma_format_idc ? VVC_MAX_SAMPLE_ARRAYS : (LUMA + 1); + TransformUnit *tu = add_tu(fc, lc->cu, x0, y0, tu_width, tu_height); + const int has_chroma = sps->r->sps_chroma_format_idc && cu->tree_type != DUAL_TREE_LUMA; + const int c_start = cu->tree_type == DUAL_TREE_CHROMA ? CB : LUMA; + const int c_end = has_chroma ? VVC_MAX_SAMPLE_ARRAYS : CB; + if (!tu) return AVERROR_INVALIDDATA; - for (int i = LUMA; i < c_end; i++) { + for (int i = c_start; i < c_end; i++) { TransformBlock *tb = add_tb(tu, lc, x0, y0, tu_width >> sps->hshift[i], tu_height >> sps->vshift[i], i); if (i != CR) set_tb_pos(fc, tb); @@ -1125,11 +1129,14 @@ static void sbt_info(VVCLocalContext *lc, const VVCSPS *sps) static int skipped_transform_tree_unit(VVCLocalContext *lc) { - const CodingUnit *cu = lc->cu; + const H266RawSPS *rsps = lc->fc->ps.sps->r; + const CodingUnit *cu = lc->cu; int ret; - set_qp_y(lc, cu->x0, cu->y0, 0); - set_qp_c(lc); + if (cu->tree_type != DUAL_TREE_CHROMA) + set_qp_y(lc, cu->x0, cu->y0, 0); + if (rsps->sps_chroma_format_idc && cu->tree_type != DUAL_TREE_LUMA) + set_qp_c(lc); ret = skipped_transform_tree(lc, cu->x0, cu->y0, cu->cb_width, cu->cb_height); if (ret < 0) return ret; @@ -1815,7 +1822,6 @@ static int hls_coding_unit(VVCLocalContext *lc, int x0, int y0, int cb_width, in if (ret < 0) return ret; } else { - av_assert0(tree_type == SINGLE_TREE); ret = skipped_transform_tree_unit(lc); if (ret < 0) return ret; diff --git a/libavcodec/vvc/vvc_intra.c b/libavcodec/vvc/vvc_intra.c index 214ad38c8c..fb001d6713 100644 --- a/libavcodec/vvc/vvc_intra.c +++ b/libavcodec/vvc/vvc_intra.c @@ -602,8 +602,10 @@ int ff_vvc_reconstruct(VVCLocalContext *lc, const int rs, const int rx, const in if (cu->coded_flag) { ret = reconstruct(lc); } else { - add_reconstructed_area(lc, LUMA, cu->x0, cu->y0, cu->cb_width, cu->cb_height); - add_reconstructed_area(lc, CHROMA, cu->x0, cu->y0, cu->cb_width, cu->cb_height); + if (cu->tree_type != DUAL_TREE_CHROMA) + add_reconstructed_area(lc, LUMA, cu->x0, cu->y0, cu->cb_width, cu->cb_height); + if (sps->r->sps_chroma_format_idc && cu->tree_type != DUAL_TREE_LUMA) + add_reconstructed_area(lc, CHROMA, cu->x0, cu->y0, cu->cb_width, cu->cb_height); } cu = cu->next; } -- 2.25.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".