changeset 4593:0d8b36d98ce2 libavformat

move static tables from asf.h to non-static tables in asf.c this avoid getting those tables duplicated in asfenc.o and asfdec.o
author aurel
date Thu, 26 Feb 2009 16:17:17 +0000
parents 3cd44adef5e8
children ac9bab4919a2
files Makefile asf.c asf.h asfdec.c asfenc.c
diffstat 5 files changed, 192 insertions(+), 147 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Thu Feb 26 15:44:19 2009 +0000
+++ b/Makefile	Thu Feb 26 16:17:17 2009 +0000
@@ -18,9 +18,9 @@
 OBJS-$(CONFIG_AMR_MUXER)                 += amr.o
 OBJS-$(CONFIG_APC_DEMUXER)               += apc.o
 OBJS-$(CONFIG_APE_DEMUXER)               += ape.o
-OBJS-$(CONFIG_ASF_DEMUXER)               += asfdec.o asfcrypt.o riff.o
-OBJS-$(CONFIG_ASF_MUXER)                 += asfenc.o riff.o
-OBJS-$(CONFIG_ASF_STREAM_MUXER)          += asfenc.o riff.o
+OBJS-$(CONFIG_ASF_DEMUXER)               += asfdec.o asf.o asfcrypt.o riff.o
+OBJS-$(CONFIG_ASF_MUXER)                 += asfenc.o asf.o riff.o
+OBJS-$(CONFIG_ASF_STREAM_MUXER)          += asfenc.o asf.o riff.o
 OBJS-$(CONFIG_ASS_DEMUXER)               += assdec.o
 OBJS-$(CONFIG_ASS_MUXER)                 += assenc.o
 OBJS-$(CONFIG_AU_DEMUXER)                += au.o raw.o
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/asf.c	Thu Feb 26 16:17:17 2009 +0000
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2000, 2001 Fabrice Bellard
+ *
+ * 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
+ */
+
+#include "asf.h"
+
+
+const GUID ff_asf_header = {
+    0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C
+};
+
+const GUID ff_asf_file_header = {
+    0xA1, 0xDC, 0xAB, 0x8C, 0x47, 0xA9, 0xCF, 0x11, 0x8E, 0xE4, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
+};
+
+const GUID ff_asf_stream_header = {
+    0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
+};
+
+const GUID ff_asf_ext_stream_header = {
+    0xCB, 0xA5, 0xE6, 0x14, 0x72, 0xC6, 0x32, 0x43, 0x83, 0x99, 0xA9, 0x69, 0x52, 0x06, 0x5B, 0x5A
+};
+
+const GUID ff_asf_audio_stream = {
+    0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
+};
+
+const GUID ff_asf_audio_conceal_none = {
+    // 0x40, 0xa4, 0xf1, 0x49, 0x4ece, 0x11d0, 0xa3, 0xac, 0x00, 0xa0, 0xc9, 0x03, 0x48, 0xf6
+    // New value lifted from avifile
+    0x00, 0x57, 0xfb, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xa8, 0xfd, 0x00, 0x80, 0x5f, 0x5c, 0x44, 0x2b
+};
+
+const GUID ff_asf_audio_conceal_spread = {
+     0x50, 0xCD, 0xC3, 0xBF, 0x8F, 0x61, 0xCF, 0x11, 0x8B, 0xB2, 0x00, 0xAA, 0x00, 0xB4, 0xE2, 0x20
+};
+
+const GUID ff_asf_video_stream = {
+    0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
+};
+
+const GUID ff_asf_video_conceal_none = {
+    0x00, 0x57, 0xFB, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
+};
+
+const GUID ff_asf_command_stream = {
+    0xC0, 0xCF, 0xDA, 0x59, 0xE6, 0x59, 0xD0, 0x11, 0xA3, 0xAC, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
+};
+
+const GUID ff_asf_comment_header = {
+    0x33, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
+};
+
+const GUID ff_asf_codec_comment_header = {
+    0x40, 0x52, 0xD1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xA3, 0xA4, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
+};
+const GUID ff_asf_codec_comment1_header = {
+    0x41, 0x52, 0xd1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xa3, 0xa4, 0x00, 0xa0, 0xc9, 0x03, 0x48, 0xf6
+};
+
+const GUID ff_asf_data_header = {
+    0x36, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
+};
+
+const GUID ff_asf_head1_guid = {
+    0xb5, 0x03, 0xbf, 0x5f, 0x2E, 0xA9, 0xCF, 0x11, 0x8e, 0xe3, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
+};
+
+const GUID ff_asf_head2_guid = {
+    0x11, 0xd2, 0xd3, 0xab, 0xBA, 0xA9, 0xCF, 0x11, 0x8e, 0xe6, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
+};
+
+const GUID ff_asf_extended_content_header = {
+        0x40, 0xA4, 0xD0, 0xD2, 0x07, 0xE3, 0xD2, 0x11, 0x97, 0xF0, 0x00, 0xA0, 0xC9, 0x5E, 0xA8, 0x50
+};
+
+const GUID ff_asf_simple_index_header = {
+        0x90, 0x08, 0x00, 0x33, 0xB1, 0xE5, 0xCF, 0x11, 0x89, 0xF4, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xCB
+};
+
+const 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 GUID ff_asf_ext_stream_audio_stream = {
+        0x9d, 0x8c, 0x17, 0x31, 0xE1, 0x03, 0x28, 0x45, 0xb5, 0x82, 0x3d, 0xf9, 0xdb, 0x22, 0xf5, 0x03
+};
+
+const GUID ff_asf_metadata_header = {
+        0xea, 0xcb, 0xf8, 0xc5, 0xaf, 0x5b, 0x77, 0x48, 0x84, 0x67, 0xaa, 0x8c, 0x44, 0xfa, 0x4c, 0xca
+};
+
+/* I am not a number !!! This GUID is the one found on the PC used to
+   generate the stream */
+const GUID ff_asf_my_guid = {
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
--- a/asf.h	Thu Feb 26 15:44:19 2009 +0000
+++ b/asf.h	Thu Feb 26 16:17:17 2009 +0000
@@ -134,96 +134,28 @@
     ASFStream* asf_st;                   ///< currently decoded stream
 } ASFContext;
 
-static const GUID asf_header = {
-    0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C
-};
-
-static const GUID file_header = {
-    0xA1, 0xDC, 0xAB, 0x8C, 0x47, 0xA9, 0xCF, 0x11, 0x8E, 0xE4, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
-};
-
-static const GUID stream_header = {
-    0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
-};
-
-static const GUID ext_stream_header = {
-    0xCB, 0xA5, 0xE6, 0x14, 0x72, 0xC6, 0x32, 0x43, 0x83, 0x99, 0xA9, 0x69, 0x52, 0x06, 0x5B, 0x5A
-};
-
-static const GUID audio_stream = {
-    0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
-};
-
-static const GUID audio_conceal_none = {
-    // 0x40, 0xa4, 0xf1, 0x49, 0x4ece, 0x11d0, 0xa3, 0xac, 0x00, 0xa0, 0xc9, 0x03, 0x48, 0xf6
-    // New value lifted from avifile
-    0x00, 0x57, 0xfb, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xa8, 0xfd, 0x00, 0x80, 0x5f, 0x5c, 0x44, 0x2b
-};
-
-static const GUID audio_conceal_spread = {
-     0x50, 0xCD, 0xC3, 0xBF, 0x8F, 0x61, 0xCF, 0x11, 0x8B, 0xB2, 0x00, 0xAA, 0x00, 0xB4, 0xE2, 0x20
-};
-
-static const GUID video_stream = {
-    0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
-};
-
-static const GUID video_conceal_none = {
-    0x00, 0x57, 0xFB, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
-};
-
-static const GUID command_stream = {
-    0xC0, 0xCF, 0xDA, 0x59, 0xE6, 0x59, 0xD0, 0x11, 0xA3, 0xAC, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
-};
-
-static const GUID comment_header = {
-    0x33, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
-};
-
-static const GUID codec_comment_header = {
-    0x40, 0x52, 0xD1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xA3, 0xA4, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
-};
-static const GUID codec_comment1_header = {
-    0x41, 0x52, 0xd1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xa3, 0xa4, 0x00, 0xa0, 0xc9, 0x03, 0x48, 0xf6
-};
-
-static const GUID data_header = {
-    0x36, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
-};
-
-static const GUID head1_guid = {
-    0xb5, 0x03, 0xbf, 0x5f, 0x2E, 0xA9, 0xCF, 0x11, 0x8e, 0xe3, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
-};
-
-static const GUID head2_guid = {
-    0x11, 0xd2, 0xd3, 0xab, 0xBA, 0xA9, 0xCF, 0x11, 0x8e, 0xe6, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
-};
-
-static const GUID extended_content_header = {
-        0x40, 0xA4, 0xD0, 0xD2, 0x07, 0xE3, 0xD2, 0x11, 0x97, 0xF0, 0x00, 0xA0, 0xC9, 0x5E, 0xA8, 0x50
-};
-
-static const GUID simple_index_header = {
-        0x90, 0x08, 0x00, 0x33, 0xB1, 0xE5, 0xCF, 0x11, 0x89, 0xF4, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xCB
-};
-
-static const GUID ext_stream_embed_stream_header = {
-        0xe2, 0x65, 0xfb, 0x3a, 0xEF, 0x47, 0xF2, 0x40, 0xac, 0x2c, 0x70, 0xa9, 0x0d, 0x71, 0xd3, 0x43
-};
-
-static const GUID ext_stream_audio_stream = {
-        0x9d, 0x8c, 0x17, 0x31, 0xE1, 0x03, 0x28, 0x45, 0xb5, 0x82, 0x3d, 0xf9, 0xdb, 0x22, 0xf5, 0x03
-};
-
-static const GUID metadata_header = {
-        0xea, 0xcb, 0xf8, 0xc5, 0xaf, 0x5b, 0x77, 0x48, 0x84, 0x67, 0xaa, 0x8c, 0x44, 0xfa, 0x4c, 0xca
-};
-
-/* I am not a number !!! This GUID is the one found on the PC used to
-   generate the stream */
-static const GUID my_guid = {
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
+extern const GUID ff_asf_header;
+extern const GUID ff_asf_file_header;
+extern const GUID ff_asf_stream_header;
+extern const GUID ff_asf_ext_stream_header;
+extern const GUID ff_asf_audio_stream;
+extern const GUID ff_asf_audio_conceal_none;
+extern const GUID ff_asf_audio_conceal_spread;
+extern const GUID ff_asf_video_stream;
+extern const GUID ff_asf_video_conceal_none;
+extern const GUID ff_asf_command_stream;
+extern const GUID ff_asf_comment_header;
+extern const GUID ff_asf_codec_comment_header;
+extern const GUID ff_asf_codec_comment1_header;
+extern const GUID ff_asf_data_header;
+extern const GUID ff_asf_head1_guid;
+extern const GUID ff_asf_head2_guid;
+extern const GUID ff_asf_extended_content_header;
+extern const GUID ff_asf_simple_index_header;
+extern const GUID ff_asf_ext_stream_embed_stream_header;
+extern const GUID ff_asf_ext_stream_audio_stream;
+extern const GUID ff_asf_metadata_header;
+extern const GUID ff_asf_my_guid;
 
 #define ASF_PACKET_FLAG_ERROR_CORRECTION_PRESENT 0x80 //1000 0000
 
--- a/asfdec.c	Thu Feb 26 15:44:19 2009 +0000
+++ b/asfdec.c	Thu Feb 26 16:17:17 2009 +0000
@@ -54,27 +54,27 @@
 static void print_guid(const GUID *g)
 {
     int i;
-    PRINT_IF_GUID(g, asf_header);
-    else PRINT_IF_GUID(g, file_header);
-    else PRINT_IF_GUID(g, stream_header);
-    else PRINT_IF_GUID(g, audio_stream);
-    else PRINT_IF_GUID(g, audio_conceal_none);
-    else PRINT_IF_GUID(g, video_stream);
-    else PRINT_IF_GUID(g, video_conceal_none);
-    else PRINT_IF_GUID(g, command_stream);
-    else PRINT_IF_GUID(g, comment_header);
-    else PRINT_IF_GUID(g, codec_comment_header);
-    else PRINT_IF_GUID(g, codec_comment1_header);
-    else PRINT_IF_GUID(g, data_header);
+    PRINT_IF_GUID(g, ff_asf_header);
+    else PRINT_IF_GUID(g, ff_asf_file_header);
+    else PRINT_IF_GUID(g, ff_asf_stream_header);
+    else PRINT_IF_GUID(g, ff_asf_audio_stream);
+    else PRINT_IF_GUID(g, ff_asf_audio_conceal_none);
+    else PRINT_IF_GUID(g, ff_asf_video_stream);
+    else PRINT_IF_GUID(g, ff_asf_video_conceal_none);
+    else PRINT_IF_GUID(g, ff_asf_command_stream);
+    else PRINT_IF_GUID(g, ff_asf_comment_header);
+    else PRINT_IF_GUID(g, ff_asf_codec_comment_header);
+    else PRINT_IF_GUID(g, ff_asf_codec_comment1_header);
+    else PRINT_IF_GUID(g, ff_asf_data_header);
     else PRINT_IF_GUID(g, index_guid);
-    else PRINT_IF_GUID(g, head1_guid);
-    else PRINT_IF_GUID(g, head2_guid);
-    else PRINT_IF_GUID(g, my_guid);
-    else PRINT_IF_GUID(g, ext_stream_header);
-    else PRINT_IF_GUID(g, extended_content_header);
-    else PRINT_IF_GUID(g, ext_stream_embed_stream_header);
-    else PRINT_IF_GUID(g, ext_stream_audio_stream);
-    else PRINT_IF_GUID(g, metadata_header);
+    else PRINT_IF_GUID(g, ff_asf_head1_guid);
+    else PRINT_IF_GUID(g, ff_asf_head2_guid);
+    else PRINT_IF_GUID(g, ff_asf_my_guid);
+    else PRINT_IF_GUID(g, ff_asf_ext_stream_header);
+    else PRINT_IF_GUID(g, ff_asf_extended_content_header);
+    else PRINT_IF_GUID(g, ff_asf_ext_stream_embed_stream_header);
+    else PRINT_IF_GUID(g, ff_asf_ext_stream_audio_stream);
+    else PRINT_IF_GUID(g, ff_asf_metadata_header);
     else PRINT_IF_GUID(g, stream_bitrate_guid);
     else
         dprintf(NULL, "(GUID: unknown) ");
@@ -125,7 +125,7 @@
 static int asf_probe(AVProbeData *pd)
 {
     /* check file header */
-    if (!memcmp(pd->buf, &asf_header, sizeof(GUID)))
+    if (!memcmp(pd->buf, &ff_asf_header, sizeof(GUID)))
         return AVPROBE_SCORE_MAX;
     else
         return 0;
@@ -174,7 +174,7 @@
     memset(bitrate, 0, sizeof(bitrate));
 
     get_guid(pb, &g);
-    if (memcmp(&g, &asf_header, sizeof(GUID)))
+    if (memcmp(&g, &ff_asf_header, sizeof(GUID)))
         return -1;
     get_le64(pb);
     get_le32(pb);
@@ -187,7 +187,7 @@
         dprintf(s, "%08"PRIx64": ", url_ftell(pb) - 24);
         print_guid(&g);
         dprintf(s, "  size=0x%"PRIx64"\n", gsize);
-        if (!memcmp(&g, &data_header, sizeof(GUID))) {
+        if (!memcmp(&g, &ff_asf_data_header, sizeof(GUID))) {
             asf->data_object_offset = url_ftell(pb);
             // if not streaming, gsize is not unlimited (how?), and there is enough space in the file..
             if (!(asf->hdr.flags & 0x01) && gsize >= 100) {
@@ -199,7 +199,7 @@
         }
         if (gsize < 24)
             return -1;
-        if (!memcmp(&g, &file_header, sizeof(GUID))) {
+        if (!memcmp(&g, &ff_asf_file_header, sizeof(GUID))) {
             get_guid(pb, &asf->hdr.guid);
             asf->hdr.file_size          = get_le64(pb);
             asf->hdr.create_time        = get_le64(pb);
@@ -213,7 +213,7 @@
             asf->hdr.max_pktsize        = get_le32(pb);
             asf->hdr.max_bitrate        = get_le32(pb);
             asf->packet_size = asf->hdr.max_pktsize;
-        } else if (!memcmp(&g, &stream_header, sizeof(GUID))) {
+        } else if (!memcmp(&g, &ff_asf_stream_header, sizeof(GUID))) {
             enum CodecType type;
             int type_specific_size, sizeX;
             uint64_t total_size;
@@ -240,13 +240,13 @@
             get_guid(pb, &g);
 
             test_for_ext_stream_audio = 0;
-            if (!memcmp(&g, &audio_stream, sizeof(GUID))) {
+            if (!memcmp(&g, &ff_asf_audio_stream, sizeof(GUID))) {
                 type = CODEC_TYPE_AUDIO;
-            } else if (!memcmp(&g, &video_stream, sizeof(GUID))) {
+            } else if (!memcmp(&g, &ff_asf_video_stream, sizeof(GUID))) {
                 type = CODEC_TYPE_VIDEO;
-            } else if (!memcmp(&g, &command_stream, sizeof(GUID))) {
+            } else if (!memcmp(&g, &ff_asf_command_stream, sizeof(GUID))) {
                 type = CODEC_TYPE_DATA;
-            } else if (!memcmp(&g, &ext_stream_embed_stream_header, sizeof(GUID))) {
+            } else if (!memcmp(&g, &ff_asf_ext_stream_embed_stream_header, sizeof(GUID))) {
                 test_for_ext_stream_audio = 1;
                 type = CODEC_TYPE_UNKNOWN;
             } else {
@@ -264,7 +264,7 @@
 
             if (test_for_ext_stream_audio) {
                 get_guid(pb, &g);
-                if (!memcmp(&g, &ext_stream_audio_stream, sizeof(GUID))) {
+                if (!memcmp(&g, &ff_asf_ext_stream_audio_stream, sizeof(GUID))) {
                     type = CODEC_TYPE_AUDIO;
                     is_dvr_ms_audio=1;
                     get_guid(pb, &g);
@@ -370,7 +370,7 @@
             }
             pos2 = url_ftell(pb);
             url_fskip(pb, gsize - (pos2 - pos1 + 24));
-        } else if (!memcmp(&g, &comment_header, sizeof(GUID))) {
+        } else if (!memcmp(&g, &ff_asf_comment_header, sizeof(GUID))) {
             int len1, len2, len3, len4, len5;
 
             len1 = get_le16(pb);
@@ -398,7 +398,7 @@
 //                av_log(s, AV_LOG_ERROR, "flags: 0x%x stream id %d, bitrate %d\n", flags, stream_id, bitrate);
                 asf->stream_bitrates[stream_id]= bitrate;
             }
-       } else if (!memcmp(&g, &extended_content_header, sizeof(GUID))) {
+       } else if (!memcmp(&g, &ff_asf_extended_content_header, sizeof(GUID))) {
                 int desc_count, i;
 
                 desc_count = get_le16(pb);
@@ -413,7 +413,7 @@
                         value_len = get_le16(pb);
                         get_tag(s, name, value_type, value_len);
                 }
-        } else if (!memcmp(&g, &metadata_header, sizeof(GUID))) {
+        } else if (!memcmp(&g, &ff_asf_metadata_header, sizeof(GUID))) {
             int n, stream_num, name_len, value_len, value_type, value_num;
             n = get_le16(pb);
 
@@ -436,7 +436,7 @@
                     else if(!strcmp(name, "AspectRatioY")) dar[stream_num].den= value_num;
                 }
             }
-        } else if (!memcmp(&g, &ext_stream_header, sizeof(GUID))) {
+        } else if (!memcmp(&g, &ff_asf_ext_stream_header, sizeof(GUID))) {
             int ext_len, payload_ext_ct, stream_ct;
             uint32_t ext_d, leak_rate, stream_num;
             int64_t pos_ex_st;
@@ -476,13 +476,13 @@
 
             // there could be a optional stream properties object to follow
             // if so the next iteration will pick it up
-        } else if (!memcmp(&g, &head1_guid, sizeof(GUID))) {
+        } else if (!memcmp(&g, &ff_asf_head1_guid, sizeof(GUID))) {
             int v1, v2;
             get_guid(pb, &g);
             v1 = get_le32(pb);
             v2 = get_le16(pb);
 #if 0
-        } else if (!memcmp(&g, &codec_comment_header, sizeof(GUID))) {
+        } else if (!memcmp(&g, &ff_asf_codec_comment_header, sizeof(GUID))) {
             int len, v1, n, num;
             char str[256], *q;
             char tag[16];
--- a/asfenc.c	Thu Feb 26 15:44:19 2009 +0000
+++ b/asfenc.c	Thu Feb 26 16:17:17 2009 +0000
@@ -303,7 +303,7 @@
         put_chunk(s, 0x4824, 0, 0xc00); /* start of stream (length will be patched later) */
     }
 
-    put_guid(pb, &asf_header);
+    put_guid(pb, &ff_asf_header);
     put_le64(pb, -1); /* header length, will be patched after */
     put_le32(pb, 3 + has_title + !!metadata_count + s->nb_streams); /* number of chunks in header */
     put_byte(pb, 1); /* ??? */
@@ -311,8 +311,8 @@
 
     /* file header */
     header_offset = url_ftell(pb);
-    hpos = put_header(pb, &file_header);
-    put_guid(pb, &my_guid);
+    hpos = put_header(pb, &ff_asf_file_header);
+    put_guid(pb, &ff_asf_my_guid);
     put_le64(pb, file_size);
     file_time = 0;
     put_le64(pb, unix_to_file_time(file_time));
@@ -327,15 +327,15 @@
     end_header(pb, hpos);
 
     /* unknown headers */
-    hpos = put_header(pb, &head1_guid);
-    put_guid(pb, &head2_guid);
+    hpos = put_header(pb, &ff_asf_head1_guid);
+    put_guid(pb, &ff_asf_head2_guid);
     put_le32(pb, 6);
     put_le16(pb, 0);
     end_header(pb, hpos);
 
     /* title and other infos */
     if (has_title) {
-        hpos = put_header(pb, &comment_header);
+        hpos = put_header(pb, &ff_asf_comment_header);
         put_le16(pb, title     ? 2 * (strlen(title->value    ) + 1) : 0);
         put_le16(pb, author    ? 2 * (strlen(author->value   ) + 1) : 0);
         put_le16(pb, copyright ? 2 * (strlen(copyright->value) + 1) : 0);
@@ -349,7 +349,7 @@
     }
     if (metadata_count) {
         AVMetadataTag *tag = NULL;
-        hpos = put_header(pb, &extended_content_header);
+        hpos = put_header(pb, &ff_asf_extended_content_header);
         put_le16(pb, metadata_count);
         while ((tag = av_metadata_get(s->metadata, "", tag, AV_METADATA_IGNORE_SUFFIX))) {
             put_le16(pb, 2*(strlen(tag->key) + 3) + 1);
@@ -388,13 +388,13 @@
             break;
         }
 
-        hpos = put_header(pb, &stream_header);
+        hpos = put_header(pb, &ff_asf_stream_header);
         if (enc->codec_type == CODEC_TYPE_AUDIO) {
-            put_guid(pb, &audio_stream);
-            put_guid(pb, &audio_conceal_spread);
+            put_guid(pb, &ff_asf_audio_stream);
+            put_guid(pb, &ff_asf_audio_conceal_spread);
         } else {
-            put_guid(pb, &video_stream);
-            put_guid(pb, &video_conceal_none);
+            put_guid(pb, &ff_asf_video_stream);
+            put_guid(pb, &ff_asf_video_conceal_none);
         }
         put_le64(pb, 0); /* ??? */
         es_pos = url_ftell(pb);
@@ -444,8 +444,8 @@
 
     /* media comments */
 
-    hpos = put_header(pb, &codec_comment_header);
-    put_guid(pb, &codec_comment1_header);
+    hpos = put_header(pb, &ff_asf_codec_comment_header);
+    put_guid(pb, &ff_asf_codec_comment1_header);
     put_le32(pb, s->nb_streams);
     for(n=0;n<s->nb_streams;n++) {
         AVCodec *p;
@@ -501,9 +501,9 @@
 
     /* movie chunk, followed by packets of packet_size */
     asf->data_offset = cur_pos;
-    put_guid(pb, &data_header);
+    put_guid(pb, &ff_asf_data_header);
     put_le64(pb, data_chunk_size);
-    put_guid(pb, &my_guid);
+    put_guid(pb, &ff_asf_my_guid);
     put_le64(pb, asf->nb_packets); /* nb packets */
     put_byte(pb, 1); /* ??? */
     put_byte(pb, 1); /* ??? */
@@ -793,9 +793,9 @@
     ByteIOContext *pb = s->pb;
     int i;
 
-    put_guid(pb, &simple_index_header);
+    put_guid(pb, &ff_asf_simple_index_header);
     put_le64(pb, 24 + 16 + 8 + 4 + 4 + (4 + 2)*count);
-    put_guid(pb, &my_guid);
+    put_guid(pb, &ff_asf_my_guid);
     put_le64(pb, ASF_INDEXED_INTERVAL);
     put_le32(pb, max);
     put_le32(pb, count);