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 E8C4440B47 for ; Fri, 4 Feb 2022 15:17:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2582D68B248; Fri, 4 Feb 2022 17:17:09 +0200 (EET) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064071.outbound.protection.outlook.com [40.92.64.71]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AF07668B286 for ; Fri, 4 Feb 2022 17:17:02 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L9XFuKEa6MfZKAPpAQXdQXmZMw0MCnrlA61Idi5clM0FrcRDEum8mX1MNtH8bGqEQ60xxmKkvsXZ58z4g+Dch73wv1R47nGkxtwGOwmV0maxsdBVIxbYXF27LJCLB5LPFk1YI2Hi6qkDspPs+fAvDwra8Eci0Chv8mhT+g1WW2eaZaPKW0Bep3a61WnF9RBuXbCH+00kbD77w2WT1wLmX5VsB7PEIyO+ud24q+qQJTk+C3aJKWkMtZQgV6qOZ2OhrwwnwYnQx5zSGX7DnqKU/Qum2HnoUwA4DHtqd/xXWviYuRimV7/3DfydBezhDsQV2th06rqNI90ergDAtvJc1A== 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=chf81v6Clkn7Ml/X9T2IwCVGXGLsNe4swvEjux4Q6o0=; b=eEM7L3UyMgV/r6G9h3862wIgy2bV2FfoHndejOLPPI2B/Brg16jTwUtKVJZlSaU4d0ltynvugniu/zCuznpDqKycqQF1x9Bzqi00ebiNaYNSfloEIu/XJKxw4Bj6Vi7vUedzmP542vRl2qGXaU+uOrf3eioEB+nmJAh86HD5+HKtN3TmxGQp8ElbC5gRIUQFAF8GrY0AmokkYEkv8ArZyO8+k0lLV6qdejTdkYWQ98TVSbmb7FoNgWjqAZHLdN45d27cfLeQqVk+ns46YlZJlrgK122cW1fV0rdnHSYW0IU30ix6C0AuTD5rK6QN88dKhAg47mOaovLXSqhob7jI1A== 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=chf81v6Clkn7Ml/X9T2IwCVGXGLsNe4swvEjux4Q6o0=; b=lJituHxLA3wr2gjgscPLuiWA98w9q+1zo4v1H8y6t4/hxtBxE6cwbbg1WVhLLvt2aCAQrYGBiyEdvTZy5Fc5oh+pU4mm2CWxm399bTFgtXtGqSiuWMQ9cW0TWbCh5GAbD6vGVGOyscXCBMNIo6VMb4L63+Ux2tSP1NZYuZVk3cnIG/ya48n8mbThmJlyltW62mqdlcRicagF3QSUZ+UID3GtPtZ2T7JeNR4kyzRjfH7i2JV+lwIFJs/rhNg9aNT3Qp4vWclC9D8W0ln2RlO/z4KLcIFHsH5tTVzV0J7Xx4a6T7Ft2/Ha5+TMfr8p9+14TuDi0/+lzgKvKrLf4k5uiQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB4282.eurprd03.prod.outlook.com (2603:10a6:10:18::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Fri, 4 Feb 2022 15:16:57 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%5]) with mapi id 15.20.4951.014; Fri, 4 Feb 2022 15:16:57 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 4 Feb 2022 16:16:44 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [XK2kx56ueLg7GhKyFyN8zW3CU+RePK43] X-ClientProxiedBy: AM5PR0101CA0032.eurprd01.prod.exchangelabs.com (2603:10a6:206:16::45) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220204151648.2148917-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c1eef3e7-23c9-4856-46b1-08d9e7f16266 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiSjtu7sMDnYCqklgc/dtjmmspiwpx5PoZymC/aRnDSAtvh92fRb35ElQcmtG2Ppbmxg+oVZMO7EuaMXZkHKnMr1xF5A4Hqa1XbjnnPKEpD2Tohq5hy4qVgjIdl3rP0CDzo/lEguIJDKERhJM5cbosHlvzUigCZjvGU1P75dt8jOU6ZJJKPcG3UmO6fS86/r0z2u6QqnEK6lHm1iYnpT/WEQH/waAT7rVy7xk6L7Sw0rUj1a4bkegoWA5EbfV/KFw077UiSlKuD5eMFdBbYGUYYnCPePiINz/W8EXrBzAQBbySpTB+cKoFN3/w9Sj8HQ01RBmg+EsKC+qVXErLNekmzjon6JX9T/UvazozYXl+9aJMwNVCfzr9/+PbDeuk3ZYtCl9oBP67m5ohvQBQHx064YUVVotEv0rQcy14USy87p1T6eHOapXCtaqD8Z1uir8w9Ky/tACkQH/FnJNDWV8eo46HP9N7b1T/h5kiTgH0xv6gNZvxcCnf9JnGQiYp6f20LZ/MT3gXIEDcB91qI8aGwiaiR5W4WfFkpDybFznKxLBJqlxfP9RJ9cPrVnwsCkBF1rc+oqJhryx/Xr3WjSxrlu/qZSB+l3rSOBGvHUyf/DB0vEVuUDUrMg8nwnnFDwrhzqMIF0wMCJP6MWy6oIgvrBoo2JMjeKq5+npFbz1WNggfCq6B5LyPyERasihKK8DPwA7BkRbknz2GXveCd3NIQ0cVbS2IuN7jdVB38+8XIQh6YDjQhnWfbjKy1xK9ZNv7k= X-MS-TrafficTypeDiagnostic: DB7PR03MB4282:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xHbrk+eGR8Ps0rWg1UZWRv1cl5QGKUSnWIhRYfuGxEQm6hIf387/xhG00j/rmwr9z47ETB39RPYK0zL0ASUcp7TqG+DozFPJzEbLPIk3s8gd11BRLjQBRnWR/OnPMKxjhFCQcYp/aXbcUvv5l4FP99gqKtrgTvnZoHsVVXZ594YN/Vx3RXAqo3Rj6wAvrrTULo+dPv8/ASoWnm1wHzdwbq43253JmlzhzmZaWjLevgCe4W8Secgd3mL2uAikI4KKJhK69Y9HZbf8L+d7i1eFv0OAfspfHYEXYCWm4rblnHXkOWe2d6o4WFps1hQqD/bj1V4FcwGiorN4hjKrnFTs0kF0Bsn1jP/R4OLyWwXvoyzz5TZd/F5xgUbJNzGQ8FZ3SY4NYk2qy8NliER3Fk/xzVwAhYzBaRxs6HdUucF7GCDo1Ouev1yLuwgM9IJsLBvp8+8ALN72gUeIe7upf46vhfTLPl+r/8CvagM21TruKqDyj2IJIQl5gI/DuzVTijn10WsK5PWhVSQZh83DYPCJpb4MQs10WhFiDxE3t2zKNkN8BWknqtyuY2rahkZnsO296A0P2N1X3K3l8ptPy0SwfA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DPILEGYOy2v8xBAdUlnrcKHbAoKScDT+E5E7/WUYU0VhPpF8TbyjdJfr0t37?= =?us-ascii?Q?jwto9FbS3VIH1IL76pkKvZ4ZgTID3ehVfxKASJ+YfVTRGLKFcCzkSq9thOpM?= =?us-ascii?Q?IPTtEq0KWbAtZbsDFL5m/dB+HBRGSVpEw5Vgf65tFzgJAEmIS9VjbcUiVkBA?= =?us-ascii?Q?4qMDiP/uDr6Upf4/LfvAeRiQFN83DMZoxxixWt6TLWV9GBaikdXI8GONB7pa?= =?us-ascii?Q?iCgv2AQesjLo5XfbP7zpjuzwy5CuLG9CRspgENwCPh4uxOeOqGmJHZ+wKFHc?= =?us-ascii?Q?kyzEbj1RBdgXpHeD9kjeBF2ygBxhAZSTZGtNapdm3dowr86CeIVEnGGrplIO?= =?us-ascii?Q?2HeZ6TES9Y6ILukLUJFYg4+FTo1bRY4Jix6HWmn5Sep78aIPRLF4/Cky1tfG?= =?us-ascii?Q?UiNTV2wXRwDTJg+PIw4BQe+WRdGmLROqxV3wrU0h+P3VRkn++UDIehLxnsQ7?= =?us-ascii?Q?hlAVAYD8Uyw0gtYtjHGQ1qhE/RwWTPNcgm4fHhFGJ93xtdYSVXMqqzTqUJPF?= =?us-ascii?Q?Jt9DB1iM5Li02f+KhIFDbSoNcIC946+rWKjUNjFzMA8r7Gf7MIuw0Q6ezBwn?= =?us-ascii?Q?ieb7P8IeeJLuR37rNoJqspG83L/+OosQXB0HAhdm/ZFp7MHNlBkjVNbrh07q?= =?us-ascii?Q?S6eLSlVlXf58f48nccQGjunyQFZiSuEHcD8agZkUg4a+EZ+HprEomOQR5qUd?= =?us-ascii?Q?3XeBz77BYwTrk9UKLXuWH8bFwcIiLzrKNeueLLcE8HYWdeaa48Ip9RIvqflQ?= =?us-ascii?Q?RiPI3WTiFtXtloQfqr4hmkq+y6KC/tm99Ac5VOLlFe3uZqDGHJu6SXACJGDf?= =?us-ascii?Q?ELXsCEvdmiWqan/06JanQrzx3DL2Fg+nXpSycDQljFQsFZ4Su+oQuIUIn6Wm?= =?us-ascii?Q?JKJ14Fq2xxLK1UQyb8CfRbNfKECi4VNuvmNp4e5XX6k/lBp8ZtxDLVVWirfc?= =?us-ascii?Q?uEexDTbaPmLBBr4HijptHQ=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c1eef3e7-23c9-4856-46b1-08d9e7f16266 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2022 15:16:57.5671 (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: DB7PR03MB4282 Subject: [FFmpeg-devel] [PATCH 3/7] avcodec/cbs: Make ff_cbs_insert_unit_data() always append the new 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: Andreas Rheinhardt 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: All split functions (the only users of this function) only append units. Signed-off-by: Andreas Rheinhardt --- libavcodec/cbs.c | 22 +++++++++++++++------- libavcodec/cbs.h | 5 ++--- libavcodec/cbs_av1.c | 2 +- libavcodec/cbs_h2645.c | 2 +- libavcodec/cbs_jpeg.c | 2 +- libavcodec/cbs_mpeg2.c | 2 +- libavcodec/cbs_vp9.c | 4 ++-- 7 files changed, 23 insertions(+), 16 deletions(-) diff --git a/libavcodec/cbs.c b/libavcodec/cbs.c index d7aa67c3af..e829caa0a0 100644 --- a/libavcodec/cbs.c +++ b/libavcodec/cbs.c @@ -789,18 +789,16 @@ int ff_cbs_insert_unit_content(CodedBitstreamFragment *frag, return 0; } -int ff_cbs_insert_unit_data(CodedBitstreamFragment *frag, - int position, - CodedBitstreamUnitType type, - uint8_t *data, size_t data_size, - AVBufferRef *data_buf) +static int cbs_insert_unit_data(CodedBitstreamFragment *frag, + CodedBitstreamUnitType type, + uint8_t *data, size_t data_size, + AVBufferRef *data_buf, + int position) { CodedBitstreamUnit *unit; AVBufferRef *data_ref; int err; - if (position == -1) - position = frag->nb_units; av_assert0(position >= 0 && position <= frag->nb_units); if (data_buf) @@ -828,6 +826,16 @@ int ff_cbs_insert_unit_data(CodedBitstreamFragment *frag, return 0; } +int ff_cbs_append_unit_data(CodedBitstreamFragment *frag, + CodedBitstreamUnitType type, + uint8_t *data, size_t data_size, + AVBufferRef *data_buf) +{ + return cbs_insert_unit_data(frag, type, + data, data_size, data_buf, + frag->nb_units); +} + void ff_cbs_delete_unit(CodedBitstreamFragment *frag, int position) { diff --git a/libavcodec/cbs.h b/libavcodec/cbs.h index 87ea14cd07..5583063b5e 100644 --- a/libavcodec/cbs.h +++ b/libavcodec/cbs.h @@ -393,14 +393,13 @@ int ff_cbs_insert_unit_content(CodedBitstreamFragment *frag, AVBufferRef *content_buf); /** - * Insert a new unit into a fragment with the given data bitstream. + * Add a new unit to a fragment with the given data bitstream. * * If data_buf is not supplied then data must have been allocated with * av_malloc() and will on success become owned by the unit after this * call or freed on error. */ -int ff_cbs_insert_unit_data(CodedBitstreamFragment *frag, - int position, +int ff_cbs_append_unit_data(CodedBitstreamFragment *frag, CodedBitstreamUnitType type, uint8_t *data, size_t data_size, AVBufferRef *data_buf); diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c index 302e1f38f5..04314443de 100644 --- a/libavcodec/cbs_av1.c +++ b/libavcodec/cbs_av1.c @@ -828,7 +828,7 @@ static int cbs_av1_split_fragment(CodedBitstreamContext *ctx, goto fail; } - err = ff_cbs_insert_unit_data(frag, -1, header.obu_type, + err = ff_cbs_append_unit_data(frag, header.obu_type, data, obu_length, frag->data_ref); if (err < 0) goto fail; diff --git a/libavcodec/cbs_h2645.c b/libavcodec/cbs_h2645.c index 3396c059c9..10b3bcc70b 100644 --- a/libavcodec/cbs_h2645.c +++ b/libavcodec/cbs_h2645.c @@ -493,7 +493,7 @@ static int cbs_h2645_fragment_add_nals(CodedBitstreamContext *ctx, ref = (nal->data == nal->raw_data) ? frag->data_ref : packet->rbsp.rbsp_buffer_ref; - err = ff_cbs_insert_unit_data(frag, -1, nal->type, + err = ff_cbs_append_unit_data(frag, nal->type, (uint8_t*)nal->data, size, ref); if (err < 0) return err; diff --git a/libavcodec/cbs_jpeg.c b/libavcodec/cbs_jpeg.c index ae263ba038..da7ee808cf 100644 --- a/libavcodec/cbs_jpeg.c +++ b/libavcodec/cbs_jpeg.c @@ -226,7 +226,7 @@ static int cbs_jpeg_split_fragment(CodedBitstreamContext *ctx, data_ref = frag->data_ref; } - err = ff_cbs_insert_unit_data(frag, -1, marker, + err = ff_cbs_append_unit_data(frag, marker, data, data_size, data_ref); if (err < 0) return err; diff --git a/libavcodec/cbs_mpeg2.c b/libavcodec/cbs_mpeg2.c index 4395bbf047..2bf38c6001 100644 --- a/libavcodec/cbs_mpeg2.c +++ b/libavcodec/cbs_mpeg2.c @@ -186,7 +186,7 @@ static int cbs_mpeg2_split_fragment(CodedBitstreamContext *ctx, final = 1; } - err = ff_cbs_insert_unit_data(frag, -1, unit_type, (uint8_t*)start, + err = ff_cbs_append_unit_data(frag, unit_type, (uint8_t*)start, unit_size, frag->data_ref); if (err < 0) return err; diff --git a/libavcodec/cbs_vp9.c b/libavcodec/cbs_vp9.c index e0b8c02ac2..333d70ba4e 100644 --- a/libavcodec/cbs_vp9.c +++ b/libavcodec/cbs_vp9.c @@ -451,7 +451,7 @@ static int cbs_vp9_split_fragment(CodedBitstreamContext *ctx, return AVERROR_INVALIDDATA; } - err = ff_cbs_insert_unit_data(frag, -1, 0, + err = ff_cbs_append_unit_data(frag, 0, frag->data + pos, sfi.frame_sizes[i], frag->data_ref); @@ -469,7 +469,7 @@ static int cbs_vp9_split_fragment(CodedBitstreamContext *ctx, return 0; } else { - err = ff_cbs_insert_unit_data(frag, -1, 0, + err = ff_cbs_append_unit_data(frag, 0, frag->data, frag->data_size, frag->data_ref); if (err < 0) -- 2.32.0 _______________________________________________ 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".