[FFmpeg-devel] [PATCH 37/44] avformat/asf: Move ASF GUIDs to a new file

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sat May 7 14:28:23 EEST 2022


They are also needed by the MMSH and MMST protocols and therefore
the file they are in is pulled in when these protocols are enabled
and used. By moving them to a separate file, linking statically to
libavformat while only using AVIO no longer pulls in all the
muxers/demuxers (and also no longer any AVCodecs when linking
statically to libavcodec).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
Getting rid of the rest for avio-only users was my actual aim with this
patchset. After this patchset only two parts of lavc will be pulled in
for an avio-only user of lavf: avpacket.c because of
av_get/append_packet and ff_toupper4 because of ff_codec_get_id().
The former functions are declared in avformat.h, but are actually avio
functions (they even use internals of avio), but they could be moved to
a file of their own so that only users that actually use them get them.
The latter could be solved by moving the AVCodecTag functions in utils.c
into a file of their own. Yet I didn't do this, because ff_codec_get_tag
is only used by muxers (whereas ff_codec_get_id is nearly only used by
demuxers), so I am unsure if it should not actually be moved to
mux_utils.c.

 libavformat/Makefile |   8 +--
 libavformat/asf.c    | 129 -------------------------------------------
 libavformat/mmsh.c   |   1 -
 3 files changed, 4 insertions(+), 134 deletions(-)

diff --git a/libavformat/Makefile b/libavformat/Makefile
index 7fd6d099b9..3b9995a9d3 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -117,9 +117,9 @@ OBJS-$(CONFIG_ARGO_BRP_DEMUXER)          += argo_brp.o argo_asf.o
 OBJS-$(CONFIG_ARGO_CVG_DEMUXER)          += argo_cvg.o
 OBJS-$(CONFIG_ARGO_CVG_MUXER)            += argo_cvg.o
 OBJS-$(CONFIG_ASF_DEMUXER)               += asfdec_f.o asf.o asfcrypt.o \
-                                            avlanguage.o
+                                            asf_tags.o avlanguage.o
 OBJS-$(CONFIG_ASF_O_DEMUXER)             += asfdec_o.o asf.o asfcrypt.o \
-                                            avlanguage.o
+                                            asf_tags.o avlanguage.o
 OBJS-$(CONFIG_ASF_MUXER)                 += asfenc.o asf.o avlanguage.o
 OBJS-$(CONFIG_ASS_DEMUXER)               += assdec.o subtitles.o
 OBJS-$(CONFIG_ASS_MUXER)                 += assenc.o
@@ -649,8 +649,8 @@ OBJS-$(CONFIG_HTTPPROXY_PROTOCOL)        += http.o httpauth.o urldecode.o
 OBJS-$(CONFIG_HTTPS_PROTOCOL)            += http.o httpauth.o urldecode.o
 OBJS-$(CONFIG_ICECAST_PROTOCOL)          += icecast.o
 OBJS-$(CONFIG_MD5_PROTOCOL)              += md5proto.o
-OBJS-$(CONFIG_MMSH_PROTOCOL)             += mmsh.o mms.o asf.o
-OBJS-$(CONFIG_MMST_PROTOCOL)             += mmst.o mms.o asf.o
+OBJS-$(CONFIG_MMSH_PROTOCOL)             += mmsh.o mms.o asf_tags.o
+OBJS-$(CONFIG_MMST_PROTOCOL)             += mmst.o mms.o asf_tags.o
 OBJS-$(CONFIG_PIPE_PROTOCOL)             += file.o
 OBJS-$(CONFIG_PROMPEG_PROTOCOL)          += prompeg.o
 OBJS-$(CONFIG_RTMP_PROTOCOL)             += rtmpproto.o rtmpdigest.o rtmppkt.o
diff --git a/libavformat/asf.c b/libavformat/asf.c
index 6e3854eceb..1285062220 100644
--- a/libavformat/asf.c
+++ b/libavformat/asf.c
@@ -23,135 +23,6 @@
 #include "id3v2.h"
 #include "internal.h"
 
-const ff_asf_guid ff_asf_header = {
-    0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C
-};
-
-const ff_asf_guid ff_asf_file_header = {
-    0xA1, 0xDC, 0xAB, 0x8C, 0x47, 0xA9, 0xCF, 0x11, 0x8E, 0xE4, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
-};
-
-const ff_asf_guid ff_asf_stream_header = {
-    0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
-};
-
-const ff_asf_guid ff_asf_ext_stream_header = {
-    0xCB, 0xA5, 0xE6, 0x14, 0x72, 0xC6, 0x32, 0x43, 0x83, 0x99, 0xA9, 0x69, 0x52, 0x06, 0x5B, 0x5A
-};
-
-const ff_asf_guid ff_asf_audio_stream = {
-    0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
-};
-
-const ff_asf_guid ff_asf_audio_conceal_spread = {
-    0x50, 0xCD, 0xC3, 0xBF, 0x8F, 0x61, 0xCF, 0x11, 0x8B, 0xB2, 0x00, 0xAA, 0x00, 0xB4, 0xE2, 0x20
-};
-
-const ff_asf_guid ff_asf_video_stream = {
-    0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
-};
-
-const ff_asf_guid ff_asf_jfif_media = {
-    0x00, 0xE1, 0x1B, 0xB6, 0x4E, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
-};
-
-const ff_asf_guid ff_asf_video_conceal_none = {
-    0x00, 0x57, 0xFB, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
-};
-
-const ff_asf_guid ff_asf_command_stream = {
-    0xC0, 0xCF, 0xDA, 0x59, 0xE6, 0x59, 0xD0, 0x11, 0xA3, 0xAC, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
-};
-
-const ff_asf_guid ff_asf_comment_header = {
-    0x33, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
-};
-
-const ff_asf_guid ff_asf_codec_comment_header = {
-    0x40, 0x52, 0xD1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xA3, 0xA4, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
-};
-const ff_asf_guid ff_asf_codec_comment1_header = {
-    0x41, 0x52, 0xd1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xa3, 0xa4, 0x00, 0xa0, 0xc9, 0x03, 0x48, 0xf6
-};
-
-const ff_asf_guid ff_asf_data_header = {
-    0x36, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
-};
-
-const ff_asf_guid ff_asf_head1_guid = {
-    0xb5, 0x03, 0xbf, 0x5f, 0x2E, 0xA9, 0xCF, 0x11, 0x8e, 0xe3, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
-};
-
-const ff_asf_guid ff_asf_head2_guid = {
-    0x11, 0xd2, 0xd3, 0xab, 0xBA, 0xA9, 0xCF, 0x11, 0x8e, 0xe6, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
-};
-
-const ff_asf_guid ff_asf_extended_content_header = {
-    0x40, 0xA4, 0xD0, 0xD2, 0x07, 0xE3, 0xD2, 0x11, 0x97, 0xF0, 0x00, 0xA0, 0xC9, 0x5E, 0xA8, 0x50
-};
-
-const ff_asf_guid ff_asf_simple_index_header = {
-    0x90, 0x08, 0x00, 0x33, 0xB1, 0xE5, 0xCF, 0x11, 0x89, 0xF4, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xCB
-};
-
-const ff_asf_guid ff_asf_ext_stream_embed_stream_header = {
-    0xe2, 0x65, 0xfb, 0x3a, 0xEF, 0x47, 0xF2, 0x40, 0xac, 0x2c, 0x70, 0xa9, 0x0d, 0x71, 0xd3, 0x43
-};
-
-const ff_asf_guid ff_asf_ext_stream_audio_stream = {
-    0x9d, 0x8c, 0x17, 0x31, 0xE1, 0x03, 0x28, 0x45, 0xb5, 0x82, 0x3d, 0xf9, 0xdb, 0x22, 0xf5, 0x03
-};
-
-const ff_asf_guid ff_asf_metadata_header = {
-    0xea, 0xcb, 0xf8, 0xc5, 0xaf, 0x5b, 0x77, 0x48, 0x84, 0x67, 0xaa, 0x8c, 0x44, 0xfa, 0x4c, 0xca
-};
-
-const ff_asf_guid ff_asf_metadata_library_header = {
-    0x94, 0x1c, 0x23, 0x44, 0x98, 0x94, 0xd1, 0x49, 0xa1, 0x41, 0x1d, 0x13, 0x4e, 0x45, 0x70, 0x54
-};
-
-const ff_asf_guid ff_asf_marker_header = {
-    0x01, 0xCD, 0x87, 0xF4, 0x51, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
-};
-
-const ff_asf_guid ff_asf_reserved_4 = {
-        0x20, 0xdb, 0xfe, 0x4c, 0xf6, 0x75, 0xCF, 0x11, 0x9c, 0x0f, 0x00, 0xa0, 0xc9, 0x03, 0x49, 0xcb
-};
-
-/* I am not a number !!! This GUID is the one found on the PC used to
- * generate the stream */
-const ff_asf_guid ff_asf_my_guid = {
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-const ff_asf_guid ff_asf_language_guid = {
-    0xa9, 0x46, 0x43, 0x7c, 0xe0, 0xef, 0xfc, 0x4b, 0xb2, 0x29, 0x39, 0x3e, 0xde, 0x41, 0x5c, 0x85
-};
-
-const ff_asf_guid ff_asf_content_encryption = {
-    0xfb, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e
-};
-
-const ff_asf_guid ff_asf_ext_content_encryption = {
-    0x14, 0xe6, 0x8a, 0x29, 0x22, 0x26, 0x17, 0x4c, 0xb9, 0x35, 0xda, 0xe0, 0x7e, 0xe9, 0x28, 0x9c
-};
-
-const ff_asf_guid ff_asf_digital_signature = {
-    0xfc, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e
-};
-
-const ff_asf_guid ff_asf_extended_stream_properties_object = {
-    0xcb, 0xa5, 0xe6, 0x14, 0x72, 0xc6, 0x32, 0x43, 0x83, 0x99, 0xa9, 0x69, 0x52, 0x06, 0x5b, 0x5a
-};
-
-const ff_asf_guid ff_asf_group_mutual_exclusion_object = {
-    0x40, 0x5a, 0x46, 0xd1, 0x79, 0x5a, 0x38, 0x43, 0xb7, 0x1b, 0xe3, 0x6b, 0x8f, 0xd6, 0xc2, 0x49
-};
-
-const ff_asf_guid ff_asf_mutex_language = {
-    0x00, 0x2a, 0xe2, 0xd6, 0xda, 0x35, 0xd1, 0x11, 0x90, 0x34, 0x00, 0xa0, 0xc9, 0x03, 0x49, 0xbe
-};
-
 /* List of official tags at http://msdn.microsoft.com/en-us/library/dd743066(VS.85).aspx */
 const AVMetadataConv ff_asf_metadata_conv[] = {
     { "WM/AlbumArtist",          "album_artist"     },
diff --git a/libavformat/mmsh.c b/libavformat/mmsh.c
index 495d7fb73b..672f4b3788 100644
--- a/libavformat/mmsh.c
+++ b/libavformat/mmsh.c
@@ -31,7 +31,6 @@
 #include "libavutil/opt.h"
 #include "internal.h"
 #include "mms.h"
-#include "asf.h"
 #include "http.h"
 #include "url.h"
 
-- 
2.32.0



More information about the ffmpeg-devel mailing list