[FFmpeg-devel] [PATCH 01/11] avcodec/mpeg4video: Factor non-codec stuff out into a header of its own
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Mon Aug 29 00:18:35 EEST 2022
This avoids including mpegvideo.h in mpeg4_unpack_bframes_bsf.c.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavcodec/h263dec.c | 1 +
libavcodec/ituh263dec.c | 1 +
libavcodec/mpeg4_unpack_bframes_bsf.c | 2 +-
libavcodec/mpeg4video.h | 42 -----------------
libavcodec/mpeg4video_parser.c | 2 +-
libavcodec/mpeg4videodec.c | 1 +
libavcodec/mpeg4videodefs.h | 68 +++++++++++++++++++++++++++
libavcodec/mpeg4videoenc.c | 1 +
libavcodec/nvdec_mpeg4.c | 2 +-
9 files changed, 75 insertions(+), 45 deletions(-)
create mode 100644 libavcodec/mpeg4videodefs.h
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index 8b4101272a..a08329a121 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -43,6 +43,7 @@
#include "mpeg_er.h"
#include "mpeg4video.h"
#include "mpeg4videodec.h"
+#include "mpeg4videodefs.h"
#if FF_API_FLAG_TRUNCATED
#include "mpeg4video_parser.h"
#endif
diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c
index af054360d8..200de8527e 100644
--- a/libavcodec/ituh263dec.c
+++ b/libavcodec/ituh263dec.c
@@ -50,6 +50,7 @@
#include "mpegvideodata.h"
#include "mpegvideodec.h"
#include "mpeg4videodec.h"
+#include "mpeg4videodefs.h"
// The defines below define the number of bits that are read at once for
// reading vlc values. Changing these may improve speed and data cache needs
diff --git a/libavcodec/mpeg4_unpack_bframes_bsf.c b/libavcodec/mpeg4_unpack_bframes_bsf.c
index 5493dafa97..3a3aad795f 100644
--- a/libavcodec/mpeg4_unpack_bframes_bsf.c
+++ b/libavcodec/mpeg4_unpack_bframes_bsf.c
@@ -21,7 +21,7 @@
#include "bsf.h"
#include "bsf_internal.h"
-#include "mpeg4video.h"
+#include "mpeg4videodefs.h"
#include "startcode.h"
typedef struct UnpackBFramesBSFContext {
diff --git a/libavcodec/mpeg4video.h b/libavcodec/mpeg4video.h
index ab65280756..29b11eb92e 100644
--- a/libavcodec/mpeg4video.h
+++ b/libavcodec/mpeg4video.h
@@ -27,48 +27,6 @@
#include "mpegvideo.h"
-// shapes
-#define RECT_SHAPE 0
-#define BIN_SHAPE 1
-#define BIN_ONLY_SHAPE 2
-#define GRAY_SHAPE 3
-
-#define SIMPLE_VO_TYPE 1
-#define CORE_VO_TYPE 3
-#define MAIN_VO_TYPE 4
-#define NBIT_VO_TYPE 5
-#define ARTS_VO_TYPE 10
-#define ACE_VO_TYPE 12
-#define SIMPLE_STUDIO_VO_TYPE 14
-#define CORE_STUDIO_VO_TYPE 15
-#define ADV_SIMPLE_VO_TYPE 17
-
-#define VOT_VIDEO_ID 1
-#define VOT_STILL_TEXTURE_ID 2
-
-// aspect_ratio_info
-#define EXTENDED_PAR 15
-
-//vol_sprite_usage / sprite_enable
-#define STATIC_SPRITE 1
-#define GMC_SPRITE 2
-
-#define MOTION_MARKER 0x1F001
-#define DC_MARKER 0x6B001
-
-#define VOS_STARTCODE 0x1B0
-#define USER_DATA_STARTCODE 0x1B2
-#define GOP_STARTCODE 0x1B3
-#define VISUAL_OBJ_STARTCODE 0x1B5
-#define VOP_STARTCODE 0x1B6
-#define SLICE_STARTCODE 0x1B7
-#define EXT_STARTCODE 0x1B8
-
-#define QUANT_MATRIX_EXT_ID 0x3
-
-/* smaller packets likely don't contain a real frame */
-#define MAX_NVOP_SIZE 19
-
void ff_mpeg4_clean_buffers(MpegEncContext *s);
int ff_mpeg4_get_video_packet_prefix_length(MpegEncContext *s);
void ff_mpeg4_init_direct_mv(MpegEncContext *s);
diff --git a/libavcodec/mpeg4video_parser.c b/libavcodec/mpeg4video_parser.c
index bbdb2209cf..e32a93d296 100644
--- a/libavcodec/mpeg4video_parser.c
+++ b/libavcodec/mpeg4video_parser.c
@@ -25,8 +25,8 @@
#include "decode.h"
#include "parser.h"
#include "mpegvideo.h"
-#include "mpeg4video.h"
#include "mpeg4videodec.h"
+#include "mpeg4videodefs.h"
#if FF_API_FLAG_TRUNCATED
/* Nuke this header when removing FF_API_FLAG_TRUNCATED */
#include "mpeg4video_parser.h"
diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index d89adf8d63..65f3c89c47 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -38,6 +38,7 @@
#include "mpeg4video.h"
#include "mpeg4videodata.h"
#include "mpeg4videodec.h"
+#include "mpeg4videodefs.h"
#include "h263.h"
#include "h263data.h"
#include "h263dec.h"
diff --git a/libavcodec/mpeg4videodefs.h b/libavcodec/mpeg4videodefs.h
new file mode 100644
index 0000000000..27155eae5c
--- /dev/null
+++ b/libavcodec/mpeg4videodefs.h
@@ -0,0 +1,68 @@
+/*
+ * MPEG-4 definitions.
+ * Copyright (c) 2000,2001 Fabrice Bellard
+ * Copyright (c) 2002-2010 Michael Niedermayer <michaelni at gmx.at>
+ *
+ * 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_MPEG4VIDEODEFS_H
+#define AVCODEC_MPEG4VIDEODEFS_H
+
+// shapes
+#define RECT_SHAPE 0
+#define BIN_SHAPE 1
+#define BIN_ONLY_SHAPE 2
+#define GRAY_SHAPE 3
+
+#define SIMPLE_VO_TYPE 1
+#define CORE_VO_TYPE 3
+#define MAIN_VO_TYPE 4
+#define NBIT_VO_TYPE 5
+#define ARTS_VO_TYPE 10
+#define ACE_VO_TYPE 12
+#define SIMPLE_STUDIO_VO_TYPE 14
+#define CORE_STUDIO_VO_TYPE 15
+#define ADV_SIMPLE_VO_TYPE 17
+
+#define VOT_VIDEO_ID 1
+#define VOT_STILL_TEXTURE_ID 2
+
+// aspect_ratio_info
+#define EXTENDED_PAR 15
+
+//vol_sprite_usage / sprite_enable
+#define STATIC_SPRITE 1
+#define GMC_SPRITE 2
+
+#define MOTION_MARKER 0x1F001
+#define DC_MARKER 0x6B001
+
+#define VOS_STARTCODE 0x1B0
+#define USER_DATA_STARTCODE 0x1B2
+#define GOP_STARTCODE 0x1B3
+#define VISUAL_OBJ_STARTCODE 0x1B5
+#define VOP_STARTCODE 0x1B6
+#define SLICE_STARTCODE 0x1B7
+#define EXT_STARTCODE 0x1B8
+
+#define QUANT_MATRIX_EXT_ID 0x3
+
+/* smaller packets likely don't contain a real frame */
+#define MAX_NVOP_SIZE 19
+
+#endif /* AVCODEC_MPEG4VIDEODEFS_H */
diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c
index 339a3c2152..96c48b2eb2 100644
--- a/libavcodec/mpeg4videoenc.c
+++ b/libavcodec/mpeg4videoenc.c
@@ -31,6 +31,7 @@
#include "h263enc.h"
#include "mpeg4video.h"
#include "mpeg4videodata.h"
+#include "mpeg4videodefs.h"
#include "mpeg4videoenc.h"
#include "mpegvideoenc.h"
#include "profiles.h"
diff --git a/libavcodec/nvdec_mpeg4.c b/libavcodec/nvdec_mpeg4.c
index b7e1821754..eac138cc38 100644
--- a/libavcodec/nvdec_mpeg4.c
+++ b/libavcodec/nvdec_mpeg4.c
@@ -22,8 +22,8 @@
#include "avcodec.h"
#include "internal.h"
-#include "mpeg4video.h"
#include "mpeg4videodec.h"
+#include "mpeg4videodefs.h"
#include "nvdec.h"
#include "decode.h"
--
2.34.1
More information about the ffmpeg-devel
mailing list