]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/asf.h
matroskaenc: support muxing WavPack
[ffmpeg] / libavformat / asf.h
index 94c93d2c0f991c1b42c306ffdd706c43dc5fd8ba..6d418e834dd430e67c6bc93f5dff4ee155bc4971 100644 (file)
@@ -1,20 +1,20 @@
 /*
  * Copyright (c) 2000, 2001 Fabrice Bellard
  *
- * This file is part of FFmpeg.
+ * This file is part of Libav.
  *
- * FFmpeg is free software; you can redistribute it and/or
+ * Libav 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,
+ * Libav 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
+ * License along with Libav; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 #include <stdint.h>
 #include "avformat.h"
 #include "metadata.h"
+#include "riff.h"
 
 #define PACKET_SIZE 3200
 
-typedef struct {
+typedef struct ASFStream {
     int num;
     unsigned char seq;
     /* use for reading */
@@ -44,11 +45,11 @@ typedef struct {
 
     uint16_t stream_language_index;
 
+    int      palette_changed;
+    uint32_t palette[256];
 } ASFStream;
 
-typedef uint8_t ff_asf_guid[16];
-
-typedef struct {
+typedef struct ASFMainHeader {
     ff_asf_guid guid;                  ///< generated by client computer
     uint64_t file_size;         /**< in bytes
                                  *   invalid if broadcasting */
@@ -74,7 +75,7 @@ typedef struct {
 } ASFMainHeader;
 
 
-typedef struct {
+typedef struct ASFIndex {
     uint32_t packet_number;
     uint16_t packet_count;
 } ASFIndex;
@@ -101,6 +102,7 @@ extern const ff_asf_guid ff_asf_simple_index_header;
 extern const ff_asf_guid ff_asf_ext_stream_embed_stream_header;
 extern const ff_asf_guid ff_asf_ext_stream_audio_stream;
 extern const ff_asf_guid ff_asf_metadata_header;
+extern const ff_asf_guid ff_asf_metadata_library_header;
 extern const ff_asf_guid ff_asf_marker_header;
 extern const ff_asf_guid ff_asf_my_guid;
 extern const ff_asf_guid ff_asf_language_guid;
@@ -173,11 +175,4 @@ extern const AVMetadataConv ff_asf_metadata_conv[];
 
 extern AVInputFormat ff_asf_demuxer;
 
-static av_always_inline int ff_guidcmp(const void *g1, const void *g2)
-{
-    return memcmp(g1, g2, sizeof(ff_asf_guid));
-}
-
-void ff_get_guid(AVIOContext *s, ff_asf_guid *g);
-
 #endif /* AVFORMAT_ASF_H */