From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTP id 17EE64385C
	for <ffmpegdev@gitmailbox.com>; Sat,  1 Oct 2022 17:40:15 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B38A568BAFE;
	Sat,  1 Oct 2022 20:40:12 +0300 (EEST)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-oln040092064091.outbound.protection.outlook.com [40.92.64.91])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7CB4068AD40
 for <ffmpeg-devel@ffmpeg.org>; Sat,  1 Oct 2022 20:40:06 +0300 (EEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fojfA+nzkHm03IBhlBxp9sguRLMGpswtH6Y0ixf/u1IwqPqBBp2JmGOoxm575j8tNp/Pp+HMZnq218WKMhDdelGcSWFqvruGcZfHkYsXXDUTxvm0a+Jhho9wCoF3p0aKRfkUXP8eg3JtkAMoIU320M2rJkscciaq09G0KnoTHrPHslCibOEG9tSpa3Z6aoQfUMv073dMccT8lawgW/k3HXaI804ol6ekaPUbCeDojPXHhxWCMzZzr6ZjdkVfW3lmctMO3a6uT13u8V+SFwjXwhKLsXQSZJ7dutWOmlBxz39OVO9R5sCBBgcD8AMwIYVqw7YhLcH7OQAnzidilRnDhQ==
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=DG0tEszwnh8Ivtf1STOrVtaVz/Kp/yy/wJrYu+hNod8=;
 b=kcqUSRRvKD4RGpGR76MFerEFAZhGpu0IM7bK6Xtn3J1gJM1UVOnrhEnQEAILhO81LhySlK1AKNDW5mVSrQX122j8jJczBur1fDV6SdMcZFETR1XZ2zgfnvzWC6c9isLwe5EfjJ4PVm7URCOTKfhQCYvlFYgAWzUNrLO9Netk6miAE8FsG6ehlJiFDEC+lYrRA/4MKxG7he65g2s2vgZ8fTej4cQkDmIKWAvflJPC/NS6Pz2lwAZm3jnIQh4rFGsMWktnC4jdG28icqhSXt32tEUGc78tYU4g1LORL6S4vPWELVCxOF4Q4BDZc24sqmxhyJNxP8S7B18ChGRZUuICvw==
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=DG0tEszwnh8Ivtf1STOrVtaVz/Kp/yy/wJrYu+hNod8=;
 b=jIsxihULijX8GSKf4U5rUIDNdDcLDhSIKG4z1DpHcTX5WBBvZB3L17MeRhA81N8THv7aJd2bzELdJE3L8S9OJThK07VhFvzmL7TJ2SQwfedAZ6Jtagc0sP9cYId9NLZMYpXRBTHUGD0gFCMNE0shjPcqBzYMFDhpogQW4NELdHBHAlp6BZo00gdXJXv5mzCY2zRFQxtqiXgqTV6zl+4dcZLIS4/B6fqWdujP6moD1T1x3hIBd6HGDU0EfXT6OjcUrKbIXOOO+RLCO7f5KEiZqvrIXLZ+AqBccPVIIN5WOhuSSzB/3Wo3r1QkMv5Ha0DKL/ZlfCgywenOk0XW1iVAgg==
Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17)
 by AM8P250MB0264.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:32b::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.24; Sat, 1 Oct
 2022 17:40:04 +0000
Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
 ([fe80::68bd:2fc7:ac52:38f8]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
 ([fe80::68bd:2fc7:ac52:38f8%9]) with mapi id 15.20.5676.023; Sat, 1 Oct 2022
 17:40:03 +0000
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
To: ffmpeg-devel@ffmpeg.org
Date: Sat,  1 Oct 2022 19:40:04 +0200
Message-ID: <GV1P250MB0737273AE0801C156C13B7B88F599@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM>
X-Mailer: git-send-email 2.34.1
X-TMN: [8vKjL8ewnuYjToG9viZyD562eszBWoQm]
X-ClientProxiedBy: AS8PR04CA0114.eurprd04.prod.outlook.com
 (2603:10a6:20b:31e::29) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:150:8e::17)
X-Microsoft-Original-Message-ID: <20221001174004.142031-1-andreas.rheinhardt@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0264:EE_
X-MS-Office365-Filtering-Correlation-Id: 19ca0ddc-b4f4-4447-b64b-08daa3d3f8f3
X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqRS+LhpAttTSirEIY6pZkUpFM9Ale23rMou0m89x1bus2/ydrL8gcVRopHM9TjiwgZzhu5qOhiiLqvCbVGKpq0Gn4iIPC+A4/FqqlG4B9N37183Uvpi201upJkTcN+SjINOQk4ZukSTmFXxxLgRdK48WS6pYT1LTyFS33dGMrp9hLbB4TBGqd+O4nZ8VH6yyUJt6gdPm+4nnO9SfHzZBXfGLgtBuYo7f4aFsjfG6fuPIeUe+vZI3dMcpTqjOn7PtDZciy2AQszIuWdqT+k2vaeOOwQMRMPhUKZWsEbVhI6raEJldPGCXgYs8Js8zllhWgNCMpjdOxj81I2U2Jct7toy7rXfYEMkntz7nov8GgPn7pJnqrN6btzTb7tSvjJgMbqS1kuTZnb/RHAeNPYb4xO9++k/YNecdlHsJDzSLpqZeRkVyatqg6NcKXyc/ISVFu0+ORCg4K+Sw1s5VoUPULjKS6wi9GB8qv4rqSBJovwCQLnXIoHPETesFa9QTjMzyXiSszQzmHVOJBRvXGzLPoEYH5O3bvK6HxU4qRTwECjsbQUzas/TZ7L+8VesRiY3PihpQkDN/VoNjdbw2bA8yUsPvoi88P8kv951XrihI73680ecKPTi4RFh4sdvT9nwxGjtcBjvaK2GEfG58Fy2rQTyXYYburlXrsUxedRU06JZyjASNxujtI5TmK2vZ1poz7Otvwa88LbTmbAIv3fYZXVUkUF26GkZp/8pTYowWodsJsTSUqG2VGAssSuwPyV0vc=
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: rqagW8Qieog2CflWoPmlj0OGceAYOZB8epaxJKQB9569ytwvUz2P5OHag3OErn3M6k6Q/HVzhsuRvTE2jHP0uX6fGQnahRPFGlXGv7S2S558bVdLeo+W+8OI1l265gyQ+Jnk43wf0XIQUOt8T8SKOGPzW4biFAGCihqJ9mBq5hBVy1JbXZPDO86NMh8muw+taLAmnRClkYg3/VUv8z6IOOO0EgjdYTfIsG9Bh52iRmzKa/BFGbk16h0coyAJfLKJV4GuHGaHsIO0VMf8jeDNkGgRrlyMUZ/fA45BUhDCtxxQZrQtzIa48yKhtuo+x1iyk1z3VCw3wgvOwoJ5nt4ZdMaUWA2WcoTbikbXkt1ilqrL+/7sqlFWHUOdMiHWIiZ1mhGKYi9JfjasERLYRb1UvMzc0parZNDQn8Xm3lbBAmZ0GTsGA+n5rjDiWrvhW+jdsGRYcOsLFZrc4IdjNNUanAGPzgDISDMp9u9qQV/Ou/4l7a/uG76JKl/PtC3ZEFsnbbgLgGkYvK4jRK/zri2ukJjDz7UQpHskte/jYANWbtCRZf7b6qYLIdhnE8biAvdsK9I5TsGiNE+91JabAH5Hq3YKeuHKHgbyethySXa5GB8VohQ4M7rXOcQKXyc2xzLu+aJxqosO+/SZbwJh30508RImYl0sTkmeL3g9Ant9jX9TAoHHe6lUtv2jIVsJncvQ
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?pqsdXwYeiEK4W22PUry3ii1JRfX0xxptALCIxhFZ4Q35o3GMhKUD0aafe4yC?=
 =?us-ascii?Q?2fMmfQz0e2722s8Ogsv6sXHBkfwjGUYM7+eDfk4/MwBa0tW7AdLJSLs8q1Bq?=
 =?us-ascii?Q?uCkKOd6Z5O0HKwvUiYsOF7LfE+9YSfvGWTaJWIlG3P3EnyqYEncEzMDsxMac?=
 =?us-ascii?Q?0JBSJbuStpBGQtOTsGSR1vrkyNH0BgqZCznuQc1br2vtgqw6ePbzrO1HQady?=
 =?us-ascii?Q?oT82V66KnD6Fv7du5XTURyuBW7xqUDHajm0ok9nedCd+LPX7NCQYk2O8cAM7?=
 =?us-ascii?Q?dQN/HOz57qaQ4ooe1qKmrHHh0BF16co3TDjCvUPF5mc5gkVhZiVOqo57xiYR?=
 =?us-ascii?Q?6fOzRtgdIrlU5UFcle8daM7r8ix6+1j4HWznq7+0vgWpLDoI+csLw3tgOjvM?=
 =?us-ascii?Q?Mca1MYJwCmDUAZeE/n/UDfxD9KP4RgMVj8tM/HyUP6fOTCRyPWS8zE053cMT?=
 =?us-ascii?Q?81NoCA8w0rM0tMkYLaz184rkCeqfysR2MEXZwig1U4NJB3JAX0EQKpJttZXC?=
 =?us-ascii?Q?l2vmZAprU00cgHaCoU+e5t2ZizUaKbbR0DSN1aENNioEQq3gqNKAcQUYuom1?=
 =?us-ascii?Q?MeRnQ7I0C03TvwrkHS8/AIAPhRJ7sTfFMTbgMXA+uYvJakCe29c7+GAnPoXi?=
 =?us-ascii?Q?LLRsdheqqCmHMO9LX4pd0JDk5apyFRA5gpmwtzMUDXhBdK0enG6e1KQWgmw8?=
 =?us-ascii?Q?yPardLzen5B/leGJD3hQxMgKLoFMTqU7PuW2ezoy+mSduCudOCEg9yDC3hXS?=
 =?us-ascii?Q?MbW8qy9QOLYOetkay3KXSNbqgUHidpYM6yAfjXZxQFzF4wAS71tkdn8fcP+l?=
 =?us-ascii?Q?Pt2r2w9hd4zjnW1+simXslTDd3/GckQcKPl1uv2OBh3sLrPLXysdIaR1cy0v?=
 =?us-ascii?Q?LO4WZGzisLz6tIEC5/75FC/untTL6eXCgc8AMlIzP8BbjQsNMnOQqHRDzeb4?=
 =?us-ascii?Q?qWhqlPwmXV0I7aPy84KMxhamjNKIB13Qg0ZLANwXuNsuwdsfqFvP3C2miVQU?=
 =?us-ascii?Q?t+jOwseGWRY7cWsPQ4ams1zAR4mqzs/bPVKuH2JCxkznj1fcVDO42L/WZUkZ?=
 =?us-ascii?Q?DTS7WusDmrL5DxbWKNvFfaru1aSKj/7pgW/vXlmROSsG46uS3tn70a8b9/zp?=
 =?us-ascii?Q?8wMffcHfZthOWIzuQZsg3grjziihx3lcCq2ERr9c5ebmie3JknYW6+vGQ0Qt?=
 =?us-ascii?Q?wXcTrpIwY/Mchi2PcQzkqMPQvwp2BcHMfrXzYiJtu0tSQjcHgFiuTVfZ5L4s?=
 =?us-ascii?Q?6lXtz48VTp5gdzv+k25cayM+6Z0cDnkzGQaKLNI3iHyWJGkDty1YQO1dbiKM?=
 =?us-ascii?Q?+2+jsTVuj2kCxUR44kiJ0HjV?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19ca0ddc-b4f4-4447-b64b-08daa3d3f8f3
X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2022 17:40:03.8525 (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: AM8P250MB0264
Subject: [FFmpeg-devel] [PATCH] avcodec/mpeg4audio: Move ff_copy_pce_data()
 to a header of its own
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/GV1P250MB0737273AE0801C156C13B7B88F599@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

It is only used by three of the thirty files that (potentially
indirectly) include mpeg4audio.h. Twenty of these files won't
have a put_bits.h inclusion any more after this patch.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavcodec/aac_adtstoasc_bsf.c   |  1 +
 libavcodec/mpeg4audio.c          |  1 -
 libavcodec/mpeg4audio.h          | 43 --------------------
 libavcodec/mpeg4audio_copy_pce.h | 69 ++++++++++++++++++++++++++++++++
 libavformat/adtsenc.c            |  1 +
 libavformat/latmenc.c            |  1 +
 6 files changed, 72 insertions(+), 44 deletions(-)
 create mode 100644 libavcodec/mpeg4audio_copy_pce.h

diff --git a/libavcodec/aac_adtstoasc_bsf.c b/libavcodec/aac_adtstoasc_bsf.c
index d32fcc5f9d..dd5e8b2a31 100644
--- a/libavcodec/aac_adtstoasc_bsf.c
+++ b/libavcodec/aac_adtstoasc_bsf.c
@@ -26,6 +26,7 @@
 #include "put_bits.h"
 #include "get_bits.h"
 #include "mpeg4audio.h"
+#include "mpeg4audio_copy_pce.h"
 
 typedef struct AACBSFContext {
     int first_frame_done;
diff --git a/libavcodec/mpeg4audio.c b/libavcodec/mpeg4audio.c
index ed72a80f6d..e38a8c0852 100644
--- a/libavcodec/mpeg4audio.c
+++ b/libavcodec/mpeg4audio.c
@@ -21,7 +21,6 @@
  */
 
 #include "get_bits.h"
-#include "put_bits.h"
 #include "mpeg4audio.h"
 
 /**
diff --git a/libavcodec/mpeg4audio.h b/libavcodec/mpeg4audio.h
index c486a3ddef..a6f71cff58 100644
--- a/libavcodec/mpeg4audio.h
+++ b/libavcodec/mpeg4audio.h
@@ -24,10 +24,7 @@
 
 #include <stdint.h>
 
-#include "libavutil/attributes.h"
-
 #include "get_bits.h"
-#include "put_bits.h"
 
 typedef struct MPEG4AudioConfig {
     int object_type;
@@ -120,44 +117,4 @@ enum AudioObjectType {
 #define MAX_PCE_SIZE 320 ///<Maximum size of a PCE including the 3-bit ID_PCE
                          ///<marker and the comment
 
-static av_always_inline unsigned int ff_pce_copy_bits(PutBitContext *pb,
-                                                      GetBitContext *gb,
-                                                      int bits)
-{
-    unsigned int el = get_bits(gb, bits);
-    put_bits(pb, bits, el);
-    return el;
-}
-
-static inline int ff_copy_pce_data(PutBitContext *pb, GetBitContext *gb)
-{
-    int five_bit_ch, four_bit_ch, comment_size, bits;
-    int offset = put_bits_count(pb);
-
-    ff_pce_copy_bits(pb, gb, 10);               // Tag, Object Type, Frequency
-    five_bit_ch  = ff_pce_copy_bits(pb, gb, 4); // Front
-    five_bit_ch += ff_pce_copy_bits(pb, gb, 4); // Side
-    five_bit_ch += ff_pce_copy_bits(pb, gb, 4); // Back
-    four_bit_ch  = ff_pce_copy_bits(pb, gb, 2); // LFE
-    four_bit_ch += ff_pce_copy_bits(pb, gb, 3); // Data
-    five_bit_ch += ff_pce_copy_bits(pb, gb, 4); // Coupling
-    if (ff_pce_copy_bits(pb, gb, 1))            // Mono Mixdown
-        ff_pce_copy_bits(pb, gb, 4);
-    if (ff_pce_copy_bits(pb, gb, 1))            // Stereo Mixdown
-        ff_pce_copy_bits(pb, gb, 4);
-    if (ff_pce_copy_bits(pb, gb, 1))            // Matrix Mixdown
-        ff_pce_copy_bits(pb, gb, 3);
-    for (bits = five_bit_ch*5+four_bit_ch*4; bits > 16; bits -= 16)
-        ff_pce_copy_bits(pb, gb, 16);
-    if (bits)
-        ff_pce_copy_bits(pb, gb, bits);
-    align_put_bits(pb);
-    align_get_bits(gb);
-    comment_size = ff_pce_copy_bits(pb, gb, 8);
-    for (; comment_size > 0; comment_size--)
-        ff_pce_copy_bits(pb, gb, 8);
-
-    return put_bits_count(pb) - offset;
-}
-
 #endif /* AVCODEC_MPEG4AUDIO_H */
diff --git a/libavcodec/mpeg4audio_copy_pce.h b/libavcodec/mpeg4audio_copy_pce.h
new file mode 100644
index 0000000000..435d33731e
--- /dev/null
+++ b/libavcodec/mpeg4audio_copy_pce.h
@@ -0,0 +1,69 @@
+/*
+ * MPEG-4 Audio PCE copying function
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVCODEC_MPEG4AUDIO_COPY_PCE_H
+#define AVCODEC_MPEG4AUDIO_COPY_PCE_H
+
+#include "libavutil/attributes.h"
+
+#include "get_bits.h"
+#include "put_bits.h"
+
+static av_always_inline unsigned int ff_pce_copy_bits(PutBitContext *pb,
+                                                      GetBitContext *gb,
+                                                      int bits)
+{
+    unsigned int el = get_bits(gb, bits);
+    put_bits(pb, bits, el);
+    return el;
+}
+
+static inline int ff_copy_pce_data(PutBitContext *pb, GetBitContext *gb)
+{
+    int five_bit_ch, four_bit_ch, comment_size, bits;
+    int offset = put_bits_count(pb);
+
+    ff_pce_copy_bits(pb, gb, 10);               // Tag, Object Type, Frequency
+    five_bit_ch  = ff_pce_copy_bits(pb, gb, 4); // Front
+    five_bit_ch += ff_pce_copy_bits(pb, gb, 4); // Side
+    five_bit_ch += ff_pce_copy_bits(pb, gb, 4); // Back
+    four_bit_ch  = ff_pce_copy_bits(pb, gb, 2); // LFE
+    four_bit_ch += ff_pce_copy_bits(pb, gb, 3); // Data
+    five_bit_ch += ff_pce_copy_bits(pb, gb, 4); // Coupling
+    if (ff_pce_copy_bits(pb, gb, 1))            // Mono Mixdown
+        ff_pce_copy_bits(pb, gb, 4);
+    if (ff_pce_copy_bits(pb, gb, 1))            // Stereo Mixdown
+        ff_pce_copy_bits(pb, gb, 4);
+    if (ff_pce_copy_bits(pb, gb, 1))            // Matrix Mixdown
+        ff_pce_copy_bits(pb, gb, 3);
+    for (bits = five_bit_ch*5+four_bit_ch*4; bits > 16; bits -= 16)
+        ff_pce_copy_bits(pb, gb, 16);
+    if (bits)
+        ff_pce_copy_bits(pb, gb, bits);
+    align_put_bits(pb);
+    align_get_bits(gb);
+    comment_size = ff_pce_copy_bits(pb, gb, 8);
+    for (; comment_size > 0; comment_size--)
+        ff_pce_copy_bits(pb, gb, 8);
+
+    return put_bits_count(pb) - offset;
+}
+
+#endif /* AVCODEC_MPEG4AUDIO_COPY_PCE_H */
diff --git a/libavformat/adtsenc.c b/libavformat/adtsenc.c
index 3924e678d9..5f2461cc6c 100644
--- a/libavformat/adtsenc.c
+++ b/libavformat/adtsenc.c
@@ -26,6 +26,7 @@
 #include "libavcodec/codec_par.h"
 #include "libavcodec/packet.h"
 #include "libavcodec/mpeg4audio.h"
+#include "libavcodec/mpeg4audio_copy_pce.h"
 #include "libavutil/opt.h"
 #include "avformat.h"
 #include "apetag.h"
diff --git a/libavformat/latmenc.c b/libavformat/latmenc.c
index 6553c28d9f..6fd36d1484 100644
--- a/libavformat/latmenc.c
+++ b/libavformat/latmenc.c
@@ -25,6 +25,7 @@
 #include "libavcodec/codec_par.h"
 #include "libavcodec/packet.h"
 #include "libavcodec/mpeg4audio.h"
+#include "libavcodec/mpeg4audio_copy_pce.h"
 #include "libavutil/opt.h"
 #include "avformat.h"
 #include "internal.h"
-- 
2.34.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".