]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/asf.h
riff: Factor out WAVEFORMATEX parsing
[ffmpeg] / libavformat / asf.h
index b56345993d82480d69b620ef29080e11ad2b466a..6d418e834dd430e67c6bc93f5dff4ee155bc4971 100644 (file)
 #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 */