Commit 539da4e3d7 for ffmpeg

commit 539da4e3d70675cdf06cd7cc33eb8fecf53cc0f2
Author: Romain Beauxis <romain.beauxis@gmail.com>
Date:   Thu Nov 5 10:19:17 2026 -0600

    avformat/ogg: move to ogg/

    The demuxer moves to ogg/demuxer.c, the muxer to ogg/muxer.c and the per-codec mappings to ogg/mapping/, following the source tree layout rules.

    The header shared by the demuxer and its mappings moves to ogg/mapping.h, next to the mapping directory.

diff --git a/MAINTAINERS b/MAINTAINERS
index d78dcca97f..1269d5833e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -470,9 +470,9 @@ Muxers/Demuxers:
   nsvdec.c                              Francois Revol
   nut*                                  Michael Niedermayer
   nuv.c                                 Reimar Doeffinger
-  oggdec.c, oggdec.h                    David Conrad, Romain Beauxis
-  oggenc.c                              Baptiste Coudurier, Romain Beauxis
-  oggparse*.c                           David Conrad, Romain Beauxis
+  ogg/demuxer.c, ogg/mapping.h          David Conrad, Romain Beauxis
+  ogg/muxer.c                           Baptiste Coudurier, Romain Beauxis
+  ogg/mapping/*                         David Conrad, Romain Beauxis
   oma.c                                 Maxim Poliakovski
   pp_bnk.c                              Zane van Iperen
   psxstr.c                              Mike Melanson
diff --git a/libavformat/Makefile b/libavformat/Makefile
index edcc29db2c..891d7f82d9 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -43,6 +43,7 @@ OBJS-$(HAVE_LIBC_MSVCRT)                 += file_open.o

 # subsystems
 include $(SRC_PATH)/libavformat/id3v2/Makefile
+include $(SRC_PATH)/libavformat/ogg/Makefile
 include $(SRC_PATH)/libavformat/vorbis/comment/Makefile
 OBJS-$(CONFIG_CBS_APV_LAVF)              += cbs_apv.o cbs.o
 OBJS-$(CONFIG_CBS_AV1_LAVF)              += cbs_av1.o cbs.o
@@ -447,30 +448,16 @@ OBJS-$(CONFIG_NUV_DEMUXER)               += nuv.o
 OBJS-$(CONFIG_AV1_DEMUXER)               += av1dec.o
 OBJS-$(CONFIG_OBU_DEMUXER)               += av1dec.o
 OBJS-$(CONFIG_OBU_MUXER)                 += rawenc.o
-OBJS-$(CONFIG_OGG_DEMUXER)               += oggdec.o         \
-                                            oggparsedirac.o  \
-                                            oggparseflac.o   \
-                                            oggparseogm.o    \
-                                            oggparseopus.o   \
-                                            oggparseskeleton.o \
-                                            oggparsespeex.o  \
-                                            oggparsetheora.o \
-                                            oggparsevorbis.o \
-                                            oggparsevp8.o    \
-                                            replaygain.o     \
+OBJS-$(CONFIG_OGG_DEMUXER)               += replaygain.o     \
                                             vorbis/comment/reader.o \
                                             vorbis/comment/writer.o \
                                             flac_picture.o
-OBJS-$(CONFIG_OGA_MUXER)                 += oggenc.o \
-                                            vorbis/comment/writer.o
-OBJS-$(CONFIG_OGG_MUXER)                 += oggenc.o \
-                                            vorbis/comment/writer.o
-OBJS-$(CONFIG_OGV_MUXER)                 += oggenc.o \
-                                            vorbis/comment/writer.o
+OBJS-$(CONFIG_OGA_MUXER)                 += vorbis/comment/writer.o
+OBJS-$(CONFIG_OGG_MUXER)                 += vorbis/comment/writer.o
+OBJS-$(CONFIG_OGV_MUXER)                 += vorbis/comment/writer.o
 OBJS-$(CONFIG_OMA_DEMUXER)               += omadec.o pcm.o oma.o
 OBJS-$(CONFIG_OMA_MUXER)                 += omaenc.o rawenc.o oma.o id3v2/writer.o
-OBJS-$(CONFIG_OPUS_MUXER)                += oggenc.o \
-                                            vorbis/comment/writer.o
+OBJS-$(CONFIG_OPUS_MUXER)                += vorbis/comment/writer.o
 OBJS-$(CONFIG_OSQ_DEMUXER)               += osq.o rawdec.o
 OBJS-$(CONFIG_PAF_DEMUXER)               += paf.o
 OBJS-$(CONFIG_PCM_ALAW_DEMUXER)          += pcmdec.o pcm.o
@@ -595,8 +582,7 @@ OBJS-$(CONFIG_SOX_DEMUXER)               += soxdec.o pcm.o
 OBJS-$(CONFIG_SOX_MUXER)                 += soxenc.o rawenc.o
 OBJS-$(CONFIG_SPDIF_DEMUXER)             += spdif.o spdifdec.o
 OBJS-$(CONFIG_SPDIF_MUXER)               += spdif.o spdifenc.o
-OBJS-$(CONFIG_SPEEX_MUXER)               += oggenc.o \
-                                            vorbis/comment/writer.o
+OBJS-$(CONFIG_SPEEX_MUXER)               += vorbis/comment/writer.o
 OBJS-$(CONFIG_SRT_DEMUXER)               += srtdec.o subtitles.o
 OBJS-$(CONFIG_SRT_MUXER)                 += srtenc.o
 OBJS-$(CONFIG_STL_DEMUXER)               += stldec.o subtitles.o
diff --git a/libavformat/ogg/Makefile b/libavformat/ogg/Makefile
new file mode 100644
index 0000000000..5d75953a79
--- /dev/null
+++ b/libavformat/ogg/Makefile
@@ -0,0 +1,23 @@
+HEADER_DIRS += ogg
+
+clean::
+	$(RM) $(CLEANSUFFIXES:%=libavformat/ogg/%)
+	$(RM) $(CLEANSUFFIXES:%=libavformat/ogg/mapping/%)
+
+OBJS-$(CONFIG_OGG_DEMUXER) +=  \
+    ogg/demuxer.o              \
+    ogg/mapping/dirac.o        \
+    ogg/mapping/flac.o         \
+    ogg/mapping/ogm.o          \
+    ogg/mapping/opus.o         \
+    ogg/mapping/skeleton.o     \
+    ogg/mapping/speex.o        \
+    ogg/mapping/theora.o       \
+    ogg/mapping/vorbis.o       \
+    ogg/mapping/vp8.o          \
+
+OBJS-$(CONFIG_OGA_MUXER)   += ogg/muxer.o
+OBJS-$(CONFIG_OGG_MUXER)   += ogg/muxer.o
+OBJS-$(CONFIG_OGV_MUXER)   += ogg/muxer.o
+OBJS-$(CONFIG_OPUS_MUXER)  += ogg/muxer.o
+OBJS-$(CONFIG_SPEEX_MUXER) += ogg/muxer.o
diff --git a/libavformat/oggdec.c b/libavformat/ogg/demuxer.c
similarity index 99%
rename from libavformat/oggdec.c
rename to libavformat/ogg/demuxer.c
index 1c3e7eec6c..015f0e1b9c 100644
--- a/libavformat/oggdec.c
+++ b/libavformat/ogg/demuxer.c
@@ -32,11 +32,11 @@
 #include "libavutil/avassert.h"
 #include "libavutil/intreadwrite.h"
 #include "libavutil/mem.h"
-#include "avio_internal.h"
-#include "demux.h"
-#include "oggdec.h"
-#include "avformat.h"
-#include "internal.h"
+#include "libavformat/avio_internal.h"
+#include "libavformat/demux.h"
+#include "mapping.h"
+#include "libavformat/avformat.h"
+#include "libavformat/internal.h"

 #define MAX_PAGE_SIZE 65307
 #define DECODER_BUFFER_SIZE MAX_PAGE_SIZE
diff --git a/libavformat/oggdec.h b/libavformat/ogg/mapping.h
similarity index 97%
rename from libavformat/oggdec.h
rename to libavformat/ogg/mapping.h
index 107ba12f02..eed10aaa98 100644
--- a/libavformat/oggdec.h
+++ b/libavformat/ogg/mapping.h
@@ -22,10 +22,10 @@
     DEALINGS IN THE SOFTWARE.
 **/

-#ifndef AVFORMAT_OGGDEC_H
-#define AVFORMAT_OGGDEC_H
+#ifndef AVFORMAT_OGG_MAPPING_H
+#define AVFORMAT_OGG_MAPPING_H

-#include "avformat.h"
+#include "libavformat/avformat.h"

 struct ogg_codec {
     const int8_t *magic;
@@ -188,4 +188,4 @@ ogg_gptopts (AVFormatContext * s, int i, uint64_t gp, int64_t *dts)
     return pts;
 }

-#endif /* AVFORMAT_OGGDEC_H */
+#endif /* AVFORMAT_OGG_MAPPING_H */
diff --git a/libavformat/oggparsedirac.c b/libavformat/ogg/mapping/dirac.c
similarity index 97%
rename from libavformat/oggparsedirac.c
rename to libavformat/ogg/mapping/dirac.c
index c5bd43a757..7b6523ac05 100644
--- a/libavformat/oggparsedirac.c
+++ b/libavformat/ogg/mapping/dirac.c
@@ -22,9 +22,9 @@
 #include "libavutil/intreadwrite.h"
 #include "libavutil/mem.h"
 #include "libavcodec/dirac.h"
-#include "avformat.h"
-#include "internal.h"
-#include "oggdec.h"
+#include "libavformat/avformat.h"
+#include "libavformat/internal.h"
+#include "libavformat/ogg/mapping.h"

 static int dirac_header(AVFormatContext *s, int idx)
 {
diff --git a/libavformat/oggparseflac.c b/libavformat/ogg/mapping/flac.c
similarity index 98%
rename from libavformat/oggparseflac.c
rename to libavformat/ogg/mapping/flac.c
index 0a8f965188..a9c0317a9b 100644
--- a/libavformat/oggparseflac.c
+++ b/libavformat/ogg/mapping/flac.c
@@ -23,9 +23,9 @@
 #include "libavcodec/avcodec.h"
 #include "libavcodec/bytestream.h"
 #include "libavcodec/flac.h"
-#include "avformat.h"
-#include "internal.h"
-#include "oggdec.h"
+#include "libavformat/avformat.h"
+#include "libavformat/internal.h"
+#include "libavformat/ogg/mapping.h"
 #include "libavformat/vorbis/comment.h"

 #define OGG_FLAC_METADATA_TYPE_STREAMINFO 0x7F
diff --git a/libavformat/oggparseogm.c b/libavformat/ogg/mapping/ogm.c
similarity index 98%
rename from libavformat/oggparseogm.c
rename to libavformat/ogg/mapping/ogm.c
index d0106203b4..1db2268ea0 100644
--- a/libavformat/oggparseogm.c
+++ b/libavformat/ogg/mapping/ogm.c
@@ -28,11 +28,11 @@

 #include "libavcodec/bytestream.h"

-#include "avformat.h"
-#include "internal.h"
-#include "oggdec.h"
+#include "libavformat/avformat.h"
+#include "libavformat/internal.h"
+#include "libavformat/ogg/mapping.h"
 #include "libavformat/vorbis/comment.h"
-#include "riff.h"
+#include "libavformat/riff.h"

 static int
 ogm_header(AVFormatContext *s, int idx)
diff --git a/libavformat/oggparseopus.c b/libavformat/ogg/mapping/opus.c
similarity index 98%
rename from libavformat/oggparseopus.c
rename to libavformat/ogg/mapping/opus.c
index 4323dba958..c9fca87993 100644
--- a/libavformat/oggparseopus.c
+++ b/libavformat/ogg/mapping/opus.c
@@ -23,9 +23,9 @@

 #include "libavutil/intreadwrite.h"
 #include "libavutil/mem.h"
-#include "avformat.h"
-#include "internal.h"
-#include "oggdec.h"
+#include "libavformat/avformat.h"
+#include "libavformat/internal.h"
+#include "libavformat/ogg/mapping.h"
 #include "libavformat/vorbis/comment.h"

 struct oggopus_private {
diff --git a/libavformat/oggparseskeleton.c b/libavformat/ogg/mapping/skeleton.c
similarity index 96%
rename from libavformat/oggparseskeleton.c
rename to libavformat/ogg/mapping/skeleton.c
index 2016b16c95..53eb176f98 100644
--- a/libavformat/oggparseskeleton.c
+++ b/libavformat/ogg/mapping/skeleton.c
@@ -19,9 +19,9 @@
  */

 #include "libavutil/intreadwrite.h"
-#include "avformat.h"
-#include "internal.h"
-#include "oggdec.h"
+#include "libavformat/avformat.h"
+#include "libavformat/internal.h"
+#include "libavformat/ogg/mapping.h"

 static int skeleton_header(AVFormatContext *s, int idx)
 {
diff --git a/libavformat/oggparsespeex.c b/libavformat/ogg/mapping/speex.c
similarity index 97%
rename from libavformat/oggparsespeex.c
rename to libavformat/ogg/mapping/speex.c
index e0953cc8d0..f15d3e50d0 100644
--- a/libavformat/oggparsespeex.c
+++ b/libavformat/ogg/mapping/speex.c
@@ -26,9 +26,9 @@
 #include "libavutil/intreadwrite.h"
 #include "libavutil/mem.h"

-#include "avformat.h"
-#include "internal.h"
-#include "oggdec.h"
+#include "libavformat/avformat.h"
+#include "libavformat/internal.h"
+#include "libavformat/ogg/mapping.h"
 #include "libavformat/vorbis/comment.h"

 struct speex_params {
diff --git a/libavformat/oggparsetheora.c b/libavformat/ogg/mapping/theora.c
similarity index 98%
rename from libavformat/oggparsetheora.c
rename to libavformat/ogg/mapping/theora.c
index 1f39489a9e..66905823f7 100644
--- a/libavformat/oggparsetheora.c
+++ b/libavformat/ogg/mapping/theora.c
@@ -26,9 +26,9 @@
 #include "libavutil/attributes.h"
 #include "libavutil/mem.h"
 #include "libavcodec/get_bits.h"
-#include "avformat.h"
-#include "internal.h"
-#include "oggdec.h"
+#include "libavformat/avformat.h"
+#include "libavformat/internal.h"
+#include "libavformat/ogg/mapping.h"
 #include "libavformat/vorbis/comment.h"

 typedef struct TheoraParams {
diff --git a/libavformat/oggparsevorbis.c b/libavformat/ogg/mapping/vorbis.c
similarity index 99%
rename from libavformat/oggparsevorbis.c
rename to libavformat/ogg/mapping/vorbis.c
index 6bfec70c13..e3380d665a 100644
--- a/libavformat/oggparsevorbis.c
+++ b/libavformat/ogg/mapping/vorbis.c
@@ -30,12 +30,12 @@
 #include "libavcodec/bytestream.h"
 #include "libavcodec/vorbis_parser.h"

-#include "avformat.h"
-#include "demux.h"
-#include "internal.h"
-#include "oggdec.h"
+#include "libavformat/avformat.h"
+#include "libavformat/demux.h"
+#include "libavformat/internal.h"
+#include "libavformat/ogg/mapping.h"
 #include "libavformat/vorbis/comment.h"
-#include "replaygain.h"
+#include "libavformat/replaygain.h"

 /*
  * Parse the vorbis header
diff --git a/libavformat/oggparsevp8.c b/libavformat/ogg/mapping/vp8.c
similarity index 97%
rename from libavformat/oggparsevp8.c
rename to libavformat/ogg/mapping/vp8.c
index b6fdf6c775..0bf22bb03d 100644
--- a/libavformat/oggparsevp8.c
+++ b/libavformat/ogg/mapping/vp8.c
@@ -21,9 +21,9 @@

 #include "libavutil/intreadwrite.h"

-#include "avformat.h"
-#include "internal.h"
-#include "oggdec.h"
+#include "libavformat/avformat.h"
+#include "libavformat/internal.h"
+#include "libavformat/ogg/mapping.h"
 #include "libavformat/vorbis/comment.h"

 #define VP8_HEADER_SIZE 26
diff --git a/libavformat/oggenc.c b/libavformat/ogg/muxer.c
similarity index 99%
rename from libavformat/oggenc.c
rename to libavformat/ogg/muxer.c
index da57c7bafc..e21f91bb56 100644
--- a/libavformat/oggenc.c
+++ b/libavformat/ogg/muxer.c
@@ -31,11 +31,11 @@
 #include "libavcodec/xiph.h"
 #include "libavcodec/bytestream.h"
 #include "libavcodec/flac.h"
-#include "avformat.h"
-#include "avio_internal.h"
-#include "internal.h"
-#include "mux.h"
-#include "version.h"
+#include "libavformat/avformat.h"
+#include "libavformat/avio_internal.h"
+#include "libavformat/internal.h"
+#include "libavformat/mux.h"
+#include "libavformat/version.h"
 #include "libavformat/vorbis/comment.h"

 #define MAX_PAGE_SIZE 65025