From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 3374E4C36F for ; Sat, 24 May 2025 10:57:00 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 7AD6A68D9C6; Sat, 24 May 2025 13:56:55 +0300 (EEST) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02olkn2106.outbound.protection.outlook.com [40.92.50.106]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 6D5CC68CEF9 for ; Sat, 24 May 2025 13:56:48 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=N6ghiCHUk/ZRrcvmD+bFrfFBrGgmOaVPxVcOkJiBQ79HlPEAO0JxOacGw1jmn0p6MYC+SO/ts9+o6VtRRPuWUbZXtdVXOa48F+yj4HKYbV9sttDU3AVIRGXWpSqNy/HYxE4zCkfBifnwLY/5WWtSHnwag5tKLgLu5eNffCFHkW0bVTADg+xgiMaA+lsTjWd59tOYiWpeRuzd1XCmczdnC7E08JpCHKRDRmqOyg7xl1K5Is7Lrij3wa17oqowenwJ1YMRglv4jc7i/ftrLkmraqOD8oukMBcq+QXDRVaOVt4u4kCrucXf95mPhnUfWmyFUS0quCr4liGzyaLhp18wvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=1A3/oaFAH3ojRgZrpCPxb894DWBNOcG5Jf7B9DEGkxk=; b=rY2G/siggHZ9xqHx0UL9T/UsTuNgNR89xJAiy2TVwWz0Lt2n9XrzykdQF+CIPvZqPv09NPTPhPvRz4hyK/dHOhP0yNnhRzMoXpIpaH2Xv1zrfhPkS6S+1xQv6jFOzh2svP7Q9Av3OV1IIlyp57CXNQ16wzCQQ3Di5GAtOUZ9Jz6hVS3fvm9WjpMfYoQyftRs69uvef0XS5DYaU/6862UQfrpIQLbMrYjS7AS+QHoRFZo4Veli9F7hRYOV+9ddJqZHXr/uvn6rS0y/JX7xlKBOdliXbBK44t4xcedim+Kq30ZzW5tF8wEHkEd6mhkcwDJyiK7eoaSMrkQeO/sWcGuLw== 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=1A3/oaFAH3ojRgZrpCPxb894DWBNOcG5Jf7B9DEGkxk=; b=Dk8yiyFxh5RNt5Wb++2IZW83K2WTsq9pIYOtumWfK8WNDdvbc6HnshXau6/KcuKzlWVWWexwt2PwuiWY+aktQ1B/rc4I3jH9gtlQd85p/GwmDGR9xhgKIJk8wWvXUitW986MsblHPQT+dcmHzviEqDD6bPmCkFGfK0yFPLWExXWKllHqa37VODWC55EacFEZmmPJ9Br1hROqf3ycxSSgJyrkzXMOqjsloEpZK8s5oY5isUugEBVdQ4MT7QZmIgmol02ZiclJFpTwI65uJtyUWHwTtMC7ttzwa8SxJFegjx3yJh7nS7EP6vYmm93TSdT3x2Frd+XHB5wdgTr7+BSOlw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by VI2P250MB1055.EURP250.PROD.OUTLOOK.COM (2603:10a6:800:230::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.30; Sat, 24 May 2025 10:56:46 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.8722.027; Sat, 24 May 2025 10:56:46 +0000 Message-ID: Date: Sat, 24 May 2025 12:56:44 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20250523031021.15983-1-jamrial@gmail.com> <20250523031021.15983-3-jamrial@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20250523031021.15983-3-jamrial@gmail.com> X-ClientProxiedBy: ZR0P278CA0126.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:20::23) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <5591db41-5498-4094-8647-e0e6c54e23e4@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|VI2P250MB1055:EE_ X-MS-Office365-Filtering-Correlation-Id: da354a4e-b2ef-4dc3-1bb3-08dd9ab1ad1d X-MS-Exchange-SLBlob-MailProps: a+H6FLLcF3qJxlamga53fEWW0rZ5v6J04Dp3u+0adKY0gtZGAbqJiK2DyOxrpJwdssQpDob0ZFdBHwgE65pt4ewBxmnEIuWxbc0mKpB7IlJ2jxDsxpAPgAdnOH55WKOaeAg6HymOTPZy6YJ7n6ligtq7bKz0lEPsZo/T74LJNF9yJ4DlsrDqa1+wYU9WfWxAeSaVRm0kTQLRN11TTpZf2Mfl5bryGglC+3tKT88+NYFYe+va3Q1iXWTxB6kQ//6wXqd/3A1lPJucWyuNAts2uDw8GYqWPs/F9DaCDtm+hOyn8Ej+RPAW0j/hDQZYYGvLacA+DNlOe0Svkvz12On5BNbdzHZVXtaWWleHFkTexT5Q6Bzr4U5cunzkN+t/kdN9uu78F19S8uqCo83TN4esGF00IsidR+8jaS5ctBppL16hTVPdnpL0qTjGApvaCSfucCwZBGKOdA/4Mz/EPOmeZgnAEGfnwxIpTl0ESERQImAx8JtkSbjAmZ8Ppfmxn5z6SlL3mv3m7ORyVc09/vBGjGOL+YdfkthbZEhVgpudr25B/XQfNRQ52lNzG2hejjpCiDVF5NwipvtAJsldyhZLbby+HACQNqwE1fF0ONsxzADLjjJeBQWzjNDw4TfPZQnFpHIN+rRGJvTXDEaRotxqj4KukTVuWcmihfG2V0mtmnVaXeib9ewhujR/I32KE615CtrHAmxLTTs+gdGde95SVFR+t4VKE9Tw8dOt2KU8gE8fUFymW/XLf8oj6Mld1DmEJ9YmejktiDdKUWmDyLgTqFquRiZ3OBlpj52zZvJLBlwn8uaT1jp7S24vYt85IMu8 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199028|6090799003|41001999006|8060799009|19110799006|15080799009|7092599006|5072599009|3412199025|440099028|12091999003|10035399007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dzNucGJYa0lmM3BTSmlPVWVMOVM4a3Z2Um9YdEV3eFB5SGh0ZjFnL3NGeWk1?= =?utf-8?B?MWJmaHMwOVc5ZXlUTlhQU2NDUk8xMk9QRDJ6ZlhWY3RDd2NoVnlGTUpvSHRN?= =?utf-8?B?VjIrUFFjWjY4dURMek8xaHdUckt6dWFkWWtuYTY3RlNIbFNrRWpYT0haNW14?= =?utf-8?B?RU1xL1VJQjdWL0lDNlBGcDhBc0NSS0VmNFlwekZuQy9heEJjREJ2bEsrQ3A5?= =?utf-8?B?Y1lPaEN0MUUrbUVBZDZGQUpmdW5BeGpaTDB5TlQyZURWcEJLRTBsSTA5NHl2?= =?utf-8?B?bHdUNHQvbjFxUUFsNU9sQVNLZDZuQmFaQVd4czFrdU9hdVFmWEVHZ0hpUWxs?= =?utf-8?B?MGVlbytLRExybGVRZWZKMDlHbmdwdVVHL01lNDl0RDZ3OWtoMFlNdWhDV2hj?= =?utf-8?B?NWZVYUcyZ3huaFdpUGhRcVFsREc4NWQ0Z0I3UmRkN09LQTJzVkR5OFZSVG9u?= =?utf-8?B?bm54UmROQ1JUSnpoYTVHR2VBVi9nd3JXalZkSTFoMGZ2U2xDRDVOT3IyaWVG?= =?utf-8?B?OUx3RTBoS3hoYjc0dDRWQk9FTHMxU2l5VklVVTFGdk91a0hYK0kyREx4S25M?= =?utf-8?B?czFiQWRidU41RStpYXRqbW5JcDJsUmNiVk84ZkV4RXJ3cDJJNXJ0ZnVGL0s4?= =?utf-8?B?ZkhqS3RQRnZrbXRYODdzRWJHUmN0TVBPL2Q1M0wxenlEamU2d3EzZU5lTE9K?= =?utf-8?B?d1dHc0daSFJwRmZpSWMzMEwzUHh0T096a29PQS91NVd5blB2bE12elJJYnI3?= =?utf-8?B?N0hIS1JsYmFLZEdaN0I5SkRNOXE2SnZpWThKNU1tU2RsaDIwQUYxTVVaZlor?= =?utf-8?B?c0UvNFFkMml5UlNiVURETS9GQ2dNQm9CbDFoS3FpM1pqZEF0MzVVcnRKS2FV?= =?utf-8?B?eGc5eHVxRlYyaFcrT2wybVFLc0dzeTM2MFZSbjFhcmR2SzRPY2tKTmg0WmxH?= =?utf-8?B?Tis2anVWdmFmYjhmNWx0MzBEWS9QTGRmWWhGRWlNUytiSGFPaVN0T040MkRv?= =?utf-8?B?TFVSV2Q1a1liek53RGlDRG03VkFqMTNqU0R1VlNGakZDT2M3MVJZS0E4VzhK?= =?utf-8?B?VHRQakNJMDJJWkhRbHUwdFkyRmFoUitXK3JsYWgrZHJQUVdtck80QlJDUk5o?= =?utf-8?B?cCttd0tROTRqU3YzUStzMUFvaTF1NTRRdDQ1N3lLM20xVGRUdWNKTEhZWWdV?= =?utf-8?B?TGxNM3lrNkFlcm4wOHZHTnBSRFJzL29pcnNQZ1EyeGxZZ0YzeGNCRFZETFl5?= =?utf-8?B?ditoeFJMRUdmY2ppZHdBOHRwYVZqVUdOZTROT2t6alhzdnFhT2tMdEoxSXpp?= =?utf-8?B?enppZDlRT3ErQW91VGs4d3FCTmtPSThRNG12QytsTDJkbVhxQSt6SzN4ZTRP?= =?utf-8?B?YllsMHF2c01PRXBRN0FacUJLaGNEUGNpL1NlU1VMd09ITWJWY1lJRWFXZ1hT?= =?utf-8?B?Zm9lSEJtRlh5VEVuZzViaTMzZkQxdjdFMWdtWFByWWE5cWdGN1hqdGRTdS9C?= =?utf-8?B?MytQVVlRbG5FTlA3NHVZZExiV0JpUTJ6SlJGWGNYbTBWbjZtclFvaVppVTUw?= =?utf-8?B?eTJvbmZOT096N3RkZGZ2V0FURTRJQ0diUlVtaXlrS0JnOTFNWHUxTm0rUzND?= =?utf-8?B?RjkvKzh0SjNqOTIyMEhkbEI2RjJjYk5rVXJBbnl6SmdpakFETUIzbXAxdUgy?= =?utf-8?B?azg2MXRhQ0NBRkhDKzZ2K2xhYWdzL3JmaDNLbE5WRVJ2QWpmNUpzRVlDYnlU?= =?utf-8?Q?Mm3+QM6oYDqI8pRBRxWRE/9Royhdh+zdTNRNJLw?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Mll1L2g3ck9qOGxGTmxHdmd5Z2xrVlpsaU50bUNPa0xGQlZvb05tM3ZicGNY?= =?utf-8?B?a1BtSTBtdzVSNnZia1FLcHUwNlYrUDByd21INC9jQXlrdkxtZTRmS25UMHZT?= =?utf-8?B?M2laSmQvZlN4N0F1V0JiUDdCWlRVODArUncrM0xLQnRuSThUVC9iZkdDd0xM?= =?utf-8?B?cEJCVGhsK2RqbmxOb3dMY0hIbzhBcnR4cUl3aUtlSTc5enZNakgxZitocm9O?= =?utf-8?B?ZEphdGd2Sk1QMzNxc05xZDJ1bTR4UlBQOUwrQ0JuYk5yeTR2SU1GNDBrWXhP?= =?utf-8?B?V0h2WGxyMHh6eks1cTlBaCthMmhqWUl5RjFPUTEyeVNZQkZ3T2hLOVhHTDJp?= =?utf-8?B?UTlGL2drZDFqR0dQbnVoSmZTRmtibWVZLzVVYlIzb3RhNC9GOUxySmRNL1Nz?= =?utf-8?B?R01lems2Q1BqQlJYVDd0a0VhcTdIazBlV1hhMmRSeGczanpzckt6REhYaXVX?= =?utf-8?B?bFhmSC9DVlR6MVk0K3Z0WkV6ZFd0TG01OGlJMTdiOUpFMDM2ZUQ1SzFhYTZ1?= =?utf-8?B?UUFTV1NQNG1QY0tsV0RaV2tINUttWTNnTk9GbExRTnlhSFo1NW56RERkN2lo?= =?utf-8?B?VGR5Z0lIZjJnRTUvczlOUDh0VkVhREJzOGl0N3N6YlhoSENFYjVyWG1CM2xw?= =?utf-8?B?akthaTFEYkdRblM4VXl5blQybGxoV3dTSTEvSkdHTGpOeHh3ZVdORXZqeWpj?= =?utf-8?B?eXRBWEtqb1IrcmRCQUZJVnVsWWRmVXFtOEhhOUNmc2ZrUURERVZabzA4TmJD?= =?utf-8?B?ZFdJd3E5WUZmYmhZWHUxSW5tUzN1UTVDSXJSaVN6V1RKa1o5dVIxQVpMZ21l?= =?utf-8?B?bWxPMVJ4ODVjdlpOUFMrWW91TUUxVjJCMkJVMnpCcko1REgyNEtwQzFuUmcy?= =?utf-8?B?RnJBa0FWdGlBNWVacW5KcjRySUppRGhQY0pGTkhreWxDTWNBR3lFL1NaTXZI?= =?utf-8?B?QTZ6R1lsRHlCSW1ZdUlsR2xNcU5FTUlENmNGdmliaEtjK1BjTmJIZklLSmVL?= =?utf-8?B?djJlSXpyZThmQkRWanhOMzZkOXlDTkRhRUwwUE90VGtaTklreTF6R1k2K3A1?= =?utf-8?B?ZHpJbU9sbWpsSWV3aC9Gd1VDb0MxVDhEVEkwZ2Q3N2xWU3A1b3lTVDk5aGNj?= =?utf-8?B?NlNCdnZhbUpTcWI5cTJ1NWc3c1FMQ0dpLzY2S1BkTTh2S1pUT1B6d3pCTjFx?= =?utf-8?B?Ym5Zb0V1aTJMNlg0MXBLVXJGREtudDF2SUxUbUs0aG9GQUdkbjJJSHJlRVl0?= =?utf-8?B?ODlMR1NpcXh1dWo2eHJac1JXb1kyd2pKRlpCOVZNVGZEekd2QmsyY0dncWJE?= =?utf-8?B?dFUxeXhiZmVqSk4yeVVjbnFIdk5nSzZrNjkwMVYyb3ptSWJocElmejMwZU52?= =?utf-8?B?WGdaUEQ2SUhQWDJIYTI1NzV0czBNWGNIQmIrb1RGZUJ2dkRIZFNobk9vZmZW?= =?utf-8?B?dnFUUUQvTUdLVkVFMGxYSm9WbmwrNWVIYVJyRXRGd2Zscmt0R2t6MmxIdUxr?= =?utf-8?B?ZkR5S2ZQZkhxbVJHOWo4QkRSMW1pMDVDeXYyR0xMY2RUY29kc1FyU05Va2Nx?= =?utf-8?B?cDZ2Szc1bGpsYTlTbkRyT0hWcjQ1SE5STysrck8rTllIK0VtN05rUFZOd09H?= =?utf-8?B?dVI2VWJWb2VLQXpiTUR6VW1ia1k0NmR6Y3NkU0E3NEVqZzIyWk4rbWVZeW1X?= =?utf-8?B?MldNWndDV3NIaEgvdU9HdjVCb3J5dndNbDY2QlZheW53ZnE3N2ZEVExOeXJw?= =?utf-8?B?bjlDeFdURG9mNFA4emlueksrSFNzSElPd2UwNCt5L3ljR0dXKzRlbk5Yd0hX?= =?utf-8?B?LzNacEx3OXFoNU9PT0pVdz09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: da354a4e-b2ef-4dc3-1bb3-08dd9ab1ad1d X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 May 2025 10:56:46.4186 (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: VI2P250MB1055 Subject: Re: [FFmpeg-devel] [PATCH 3/3] avcodec/av1_parser: use an AVBufferRef to avoid data copying 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: James Almer: > Signed-off-by: James Almer > --- > libavcodec/av1_parser.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/libavcodec/av1_parser.c b/libavcodec/av1_parser.c > index 77906d0c91..b9a96ad59a 100644 > --- a/libavcodec/av1_parser.c > +++ b/libavcodec/av1_parser.c > @@ -50,6 +50,11 @@ static const enum AVPixelFormat pix_fmts_rgb[3] = { > AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, > }; > > +static void dummy_free(void *opaque, uint8_t *data) > +{ > + av_assert0(opaque == data); > +} > + > static int av1_parser_parse(AVCodecParserContext *ctx, > AVCodecContext *avctx, > const uint8_t **out_data, int *out_size, > @@ -60,6 +65,7 @@ static int av1_parser_parse(AVCodecParserContext *ctx, > const CodedBitstreamAV1Context *av1 = s->cbc->priv_data; > const AV1RawSequenceHeader *seq; > const AV1RawColorConfig *color; > + AVBufferRef *ref = NULL; > int ret; > > *out_data = data; > @@ -69,6 +75,11 @@ static int av1_parser_parse(AVCodecParserContext *ctx, > ctx->pict_type = AV_PICTURE_TYPE_NONE; > ctx->picture_structure = AV_PICTURE_STRUCTURE_UNKNOWN; > > + ref = av_buffer_create((uint8_t *)data, size, dummy_free, > + (void *)data, AV_BUFFER_FLAG_READONLY); > + if (!ref) > + return size; > + > s->cbc->log_ctx = avctx; > > if (avctx->extradata_size && !s->parsed_extradata) { > @@ -171,6 +182,8 @@ static int av1_parser_parse(AVCodecParserContext *ctx, > > end: > ff_cbs_fragment_reset(td); > + av_assert1(av_buffer_get_ref_count(ref) == 1); > + av_buffer_unref(&ref); > > s->cbc->log_ctx = NULL; > Lying to CBS (and the AVBuffer API) is an ugly hack which just happens to work and relies on knowledge of the internals of CBS AV1. I very much prefer my approach in https://ffmpeg.org/pipermail/ffmpeg-devel/2025-May/343195.html (where CBS is explicitly told of the desire not to create additional references). - 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".