[FFmpeg-devel] [PATCH v22 03/10] avformat/evc_muxer: Added muxer to handle writing EVC encoded data into file or output bytestream
Dawid Kozinski
d.kozinski at samsung.com
Thu Apr 27 15:03:06 EEST 2023
- Provided AVOutputFormat structure describing EVC output format (ff_evc_muxer)
- Added documentation for EVC muxer
Signed-off-by: Dawid Kozinski <d.kozinski at samsung.com>
---
doc/muxers.texi | 6 ++++++
libavformat/Makefile | 1 +
libavformat/allformats.c | 1 +
libavformat/rawenc.c | 13 +++++++++++++
4 files changed, 21 insertions(+)
diff --git a/doc/muxers.texi b/doc/muxers.texi
index d1e825eec5..7078375926 100644
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@ -2122,6 +2122,12 @@ DTS Coherent Acoustics (DCA) audio.
Dolby Digital Plus, also known as Enhanced AC-3, audio.
+ at subsection evc
+
+MPEG-5 Essential Video Coding (EVC) / EVC / MPEG-5 Part 1 EVC video.
+
+Extensions: evc
+
@subsection g722
ITU-T G.722 audio.
diff --git a/libavformat/Makefile b/libavformat/Makefile
index f8ad7c6a11..a734ad64ca 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -251,6 +251,7 @@ OBJS-$(CONFIG_HCOM_DEMUXER) += hcom.o pcm.o
OBJS-$(CONFIG_HDS_MUXER) += hdsenc.o
OBJS-$(CONFIG_HEVC_DEMUXER) += hevcdec.o rawdec.o
OBJS-$(CONFIG_HEVC_MUXER) += rawenc.o
+OBJS-$(CONFIG_EVC_MUXER) += rawenc.o
OBJS-$(CONFIG_HLS_DEMUXER) += hls.o hls_sample_encryption.o
OBJS-$(CONFIG_HLS_MUXER) += hlsenc.o hlsplaylist.o avc.o
OBJS-$(CONFIG_HNM_DEMUXER) += hnm.o
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index efdb34e29d..2ad142d8f7 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -154,6 +154,7 @@ extern const AVInputFormat ff_ea_cdata_demuxer;
extern const AVInputFormat ff_eac3_demuxer;
extern const FFOutputFormat ff_eac3_muxer;
extern const AVInputFormat ff_epaf_demuxer;
+extern const FFOutputFormat ff_evc_muxer;
extern const FFOutputFormat ff_f4v_muxer;
extern const AVInputFormat ff_ffmetadata_demuxer;
extern const FFOutputFormat ff_ffmetadata_muxer;
diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c
index 78fadda967..70d6322c53 100644
--- a/libavformat/rawenc.c
+++ b/libavformat/rawenc.c
@@ -401,6 +401,19 @@ const FFOutputFormat ff_hevc_muxer = {
};
#endif
+#if CONFIG_EVC_MUXER
+const FFOutputFormat ff_evc_muxer = {
+ .p.name = "evc",
+ .p.long_name = NULL_IF_CONFIG_SMALL("raw EVC video"),
+ .p.extensions = "evc",
+ .p.audio_codec = AV_CODEC_ID_NONE,
+ .p.video_codec = AV_CODEC_ID_EVC,
+ .init = force_one_stream,
+ .write_packet = ff_raw_write_packet,
+ .p.flags = AVFMT_NOTIMESTAMPS,
+};
+#endif
+
#if CONFIG_M4V_MUXER
const FFOutputFormat ff_m4v_muxer = {
.p.name = "m4v",
--
2.25.1
More information about the ffmpeg-devel
mailing list