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 5641A47C62 for ; Sun, 15 Oct 2023 10:16:17 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8EEED68C858; Sun, 15 Oct 2023 13:16:15 +0300 (EEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2055.outbound.protection.outlook.com [40.92.75.55]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E41EB68BE50 for ; Sun, 15 Oct 2023 13:16:08 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y8mKaUGsndjt3V9bibrlddu658QR1AQQA96bnhmwdF+qf4AO/YS0Zg1shPyDKc2rWE5adTeGBlLElHKmG7OyCjvZB9VzQrTfkxEpzEQ8194C0OZH46zLFprJ1zMJd0Jj5IiLFI8EoTYPPJDXngXljszaTR+iF++e/YoxyF30p5uvQG4haCoEjY0Vt2LXwpyd/Cc8B5MSrdJuulonW3Pf074uWZNRtTVRGg4IMFrbwc3StMMCb3C190orlQneVCCgTFZ3BkeFY161YNmnqY45yfwIeWvgkMt405M5Q9xdj8JMpiSNeBNBAjWCoN2KCxksvYJP6c7dw0IgCTxVkZnEcA== 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=lBMgDknYlyfjLBENj4prmjw5ysuKVW8ajXE0E16ixb8=; b=WFWXjPQWsMtpT31pmuFi6GdR+DCpk633JkKe28679PB/FRlTdKgK/FH8+ws9zDOA62SnQbjxTDNdmqWFaTPD27qTdQmWTRsoSuSokSIbQybpc86rjQg8mVq6ONeBrsmrNi6+eIkpSuf/iN9wVMJz8V0TRxbXZ4584IQJ4lc4XNG6EWrWt88D3l8lH4PdkCYD57txXaQRvFxj4Dh2d0ijEc5ZXa/gsRirrZDR3nuWetKouhHiiGUGLOF8Cttrp9XkakE6AoEYjOn8GB89IRJ691jWP1UdMe++T7shS6XNfvw3ri++L2Euup1spLAHqJ9LpF08ASxvwFz8owM7YgQrLQ== 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=lBMgDknYlyfjLBENj4prmjw5ysuKVW8ajXE0E16ixb8=; b=Z2KR/Nj3XidrSPB0wtg6UCxrQ+fQ+bb3Nck3TC+omxBm35ubQAVD4b0Iw8LGytz3K3VplV2mrhZKNtJowBYRwQIY4YCcOGwU2ONKxm3aci1dQM1VCM0GjEVOj9uFCDVLJdfiYfByOLzJeT/CDEZJ0HXMrm5C4RNXpl0WkRr//EGyyEZ8+QIHZRJA7YZwlyTHcyRcBaZsvZwFV7OOiEUZUAseXK7DENOcBkR0Yx7UYP7MCuAPv4UXZT8AAOh5YJgDn+U/Qj+FssioUhTWs2UqWA+6rmRYKUnsrTh+QCuDJkQL3CC+8jr4x+qMM42YktHDKxafiNw+Rjqnr07legJCpw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0227.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.35; Sun, 15 Oct 2023 10:16:07 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::3126:4823:194e:6f86]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::3126:4823:194e:6f86%4]) with mapi id 15.20.6863.043; Sun, 15 Oct 2023 10:16:06 +0000 Message-ID: Date: Sun, 15 Oct 2023 12:17:21 +0200 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20230902160741.19197-1-nuomi2021@gmail.com> From: Andreas Rheinhardt In-Reply-To: X-TMN: [euyaLyZOuBztScxt04t7ywqcRAwifwJMMhZoWc2bDBs=] X-ClientProxiedBy: ZR2P278CA0048.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:53::13) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <16665d37-a3a1-4375-a42b-1a5bb5c7254c@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0227:EE_ X-MS-Office365-Filtering-Correlation-Id: fabc96a3-57ff-4b8e-94f9-08dbcd67be92 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: W0UBTDbun46LvopFv77xcse02O77jMVbv6Yt3ujuN8BclxKgyxXeB1SOYSR59uaGPM0WUz7qIGmFA0k6TMbk45bbHj+86tGg2kjUHB0dtaMcNn9ZkhHD4p6vrYZa2Vw5+l7/gO7f5HzCueihNOXJ87Qzsm2Gw6E/IFwgsNCYEV2NBZr4l+u4WYB5Lx9VB6SHuMXfi/Vy/5yqw3vonAiSbep6iXE+plD3oekosedjGdqtHceonHT6HzMrfi9dxIzV/L1gE78Y7EAYHqy7zqDrs7UoycgZ2EdXsWD2Ga27y5XSj28Vr07rQ04UVHHsxh9JyLWhmdKga8CjzfLkdICrojU/9OpdrugMTFGIVjWKFHQNgXkVtbhDuGGZgJy8Y9Sp+uRAcTmVrkPtLmxfuwzpold/W/9+e24ze4+QLheA8cEMTJqB/WzEl9wYUxER3L573QjG2BKMcIOnDUKeKTAqmx9o9CuzJz5ARqMkTlPV12GT7XLWBQ7w0Vr2I49QWepiEVRH/TsuRS8m2cjmmmi//n0uEmOz9V5+FHzU3/J4mVgXAGtyP3oPmUdWuceQUWyQ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZzZyemVaSzJ1N0JhYjlINjdHdjdsSkVySzk4dU9YM2VCZzZFaXorRGM1WnNX?= =?utf-8?B?dmpDT0toT2FEQXE0bjY2U2d0aFVEL2VwajMvOUlHcDZPZVA5NHZ3SlE2RlVn?= =?utf-8?B?b2FpeWlpYjdSbStub0g0SEp5cFlSNlpRK1pwbklsL2dXYVA5K0gvYkY0U1ho?= =?utf-8?B?VXd4RFM4VGR0RzlDRTZtMUZuK2EyMzZvMVo4dElkK0RqdmVnRnFUNytPTmdK?= =?utf-8?B?Tjl0T0h6SGVkWkVXN1g2WlEzOU90anlSZ2FUZkVFNGJwbGQ1TC9xM1Q3bEdy?= =?utf-8?B?R1NBN2pUblpNRUpYcTc5MVkrU1dWalFpanZrdDVyUkp0MEZiWDBwVzdXeGJ2?= =?utf-8?B?VGpXdXlpemVMQ2t4NGxoQmtiWjI4YU5hZVUyYXVkd1ZESTFNRjN2L1RISlNL?= =?utf-8?B?TC90MCsrODNmeGtIREJQcUUvZWZJb1dKaU1GM0hDME1Lb3VXNTMxLy80STJj?= =?utf-8?B?dmFGNUVBOVVFZnRWUXFJNDRmOUNabEpEMjlLaXNaekFPMkNPR3dTZFZvMjJS?= =?utf-8?B?VnkvTVU2Y1ZzOStZVVhUYm9CNnB0YVp4djJYbFN6N1BpdmtDQ0l3UTRsN0tQ?= =?utf-8?B?MlY0NDJ0Ly93WHJQYUY4eDEzMUxmbFdON2NGR2NhYjN0SUVjbW81bXhuaFZO?= =?utf-8?B?ZG5NUk1zRXU1YUY5ZDEyYkhkZzZDajZWbDhSZGZ2WnFSakR0aTQ2ZSt3TU9Q?= =?utf-8?B?NFVTWFlkRnBoMVNBeVhmaTFDZzNYODhKVjBiME1GbWNzSHVRUmtOanlmbTlL?= =?utf-8?B?anE0b1JlK01zUFhad2dqUzJ5MUJNK1dQWkwxUDdsNkYzNXVaaEJCUjNpZGcr?= =?utf-8?B?eTFldSs0Q29nNURCTytCK2RHWXVDTy9iRGFYNTd6QXVxRVJ3cWpQVGdSdWxn?= =?utf-8?B?alpsWm5Mak9LQzZEaUdlTGlxZnZXWFZPc1JESElEZlRoNmFSZW92QW41cHFG?= =?utf-8?B?VEJzdHF0MnZkcEk1bEd0YS9HR05aS0FhR2NMUjJQWGliMjBCMUFMUTlZQ1VL?= =?utf-8?B?ZGtTWTZjMGRmZHl5MDVmTXpsL0UyY3lYWHZmbk8vempmRVh2NlE0TTdyeHdP?= =?utf-8?B?VC90R3E3eWMyVzZkaUhqV2lFVW85RVUycHRadk5uZ2lOekVqTm4zVzhlOVNa?= =?utf-8?B?bFlONE5kWEJtbXpuOGpXd0xnZkpNcnZtR0FBVVphOUJzYy9wUDBIZEJLaEJz?= =?utf-8?B?N1dKZ3ljdFd1aXg3NVlNOEcxcFVlZmRyM1ljcTZOWCtWT1UyK29yekkzZU5v?= =?utf-8?B?ZmJKU2JqY3dwanpMeDVaOVlXd3l5OGxPclJCS3MyMVdsaG0xWmRGQ3dkZmFq?= =?utf-8?B?aVF3MWdXN05KKzBJU0cxRTRFY2w1SjMyc0hNMFRRN01jTW9BZUp6V2FoSW4x?= =?utf-8?B?eWwvMERBUWk1bFNKRUhrWHI1ZjE5cThvbEQ4TXhXK1FVcnBaN1BSTXppK2FG?= =?utf-8?B?V1BNUFlFUlg1UmFRODFNNmh6emJUM1J2OTFndlF3bXB2T2VEeWVsUGV0Uk41?= =?utf-8?B?UWlPajN0VDJBTVF6N0E0dlczWnBSNGNJdVQrcXR2QTJ0S282c3hQc1ZWT21z?= =?utf-8?B?ZjF2WGxEUU1mRE1xY250enlSS2piSXhpcDllQVkzUHltVEhQbXA0czArL2RV?= =?utf-8?B?S0dTNGlmTTlIMXJ6VmdWamhtU2hwenYvaGM2L2F4bVc5YVNQUVAyU0RSNG1L?= =?utf-8?Q?a57M9A79OPyTKa6nqnys?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fabc96a3-57ff-4b8e-94f9-08dbcd67be92 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2023 10:16:06.8125 (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: PR3P250MB0227 Subject: Re: [FFmpeg-devel] [PATCH v3 12/14] vvcdec: add CTU parser 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: Nuo Mi: > --- > libavcodec/vvc/vvc_ctu.c | 2398 +++++++++++++++++++++++++++++++++++++- > libavcodec/vvc/vvc_ctu.h | 11 + > 2 files changed, 2404 insertions(+), 5 deletions(-) > > diff --git a/libavcodec/vvc/vvc_ctu.c b/libavcodec/vvc/vvc_ctu.c > index d46a522a0d..a212d3a44a 100644 > --- a/libavcodec/vvc/vvc_ctu.c > +++ b/libavcodec/vvc/vvc_ctu.c > @@ -22,8 +22,2379 @@ ... > +static TransformUnit* alloc_tu(VVCFrameContext *fc, CodingUnit *cu) > +{ > + TransformUnit *tu; > + AVBufferRef *buf = av_buffer_pool_get(fc->tu_pool); > + if (!buf) > + return NULL; > + > + tu = (TransformUnit *)buf->data; > + tu->next = NULL; > + tu->buf = buf; > + > + if (cu->tus.tail) > + cu->tus.tail->next = tu; > + else > + cu->tus.head = tu; > + cu->tus.tail = tu; > + > + return tu; > +} > + ... > +static CodingUnit* alloc_cu(VVCLocalContext *lc, const int x0, const int y0) > +{ > + VVCFrameContext *fc = lc->fc; > + const VVCSPS *sps = fc->ps.sps; > + const VVCPPS *pps = fc->ps.pps; > + const int rx = x0 >> sps->ctb_log2_size_y; > + const int ry = y0 >> sps->ctb_log2_size_y; > + CTU *ctu = fc->tab.ctus + ry * pps->ctb_width + rx; > + CodingUnit *cu; > + > + AVBufferRef *buf = av_buffer_pool_get(fc->cu_pool); > + if (!buf) > + return NULL; > + cu = (CodingUnit *)buf->data; > + cu->next = NULL; > + cu->buf = buf; Do I see this correctly that the CodingUnits and TransformUnits are not refcounted to be shared, but only to use the AVBufferPool API? Anyway, switching to the (not yet merged) RefStruct pool API simplifies this (e.g. it will allow to remove the AVBufferRef pointers from the structures). > + > + if (lc->cu) > + lc->cu->next = cu; > + else > + ctu->cus = cu; > + lc->cu = cu; > + > + return cu; > +} > + _______________________________________________ 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".