Browse code

move PRI_GUID, ARG_GUID, AVCodecGuid, ff_codec_guid_get_id, MEDIASUBTYPE_BASE_GUID and audio_guids[] to riff.c/h (add FF_ prefix to PRI_GUID, ARG_GUID, and MEDIASUBTYPE_BASE_GUID; rename audio_guids to ff_codec_wav_guids)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Peter Ross authored on 2011/04/05 19:36:55
Showing 3 changed files
... ...
@@ -320,6 +320,13 @@ const AVCodecTag ff_codec_wav_tags[] = {
320 320
     { CODEC_ID_NONE,      0 },
321 321
 };
322 322
 
323
+const AVCodecGuid ff_codec_wav_guids[] = {
324
+    {CODEC_ID_AC3,        {0x2C,0x80,0x6D,0xE0,0x46,0xDB,0xCF,0x11,0xB4,0xD1,0x00,0x80,0x5F,0x6C,0xBB,0xEA}},
325
+    {CODEC_ID_EAC3,       {0xAF,0x87,0xFB,0xA7,0x02,0x2D,0xFB,0x42,0xA4,0xD4,0x05,0xCD,0x93,0x84,0x3B,0xDD}},
326
+    {CODEC_ID_MP2,        {0x2B,0x80,0x6D,0xE0,0x46,0xDB,0xCF,0x11,0xB4,0xD1,0x00,0x80,0x5F,0x6C,0xBB,0xEA}},
327
+    {CODEC_ID_NONE}
328
+};
329
+
323 330
 #if CONFIG_MUXERS
324 331
 int64_t ff_start_tag(AVIOContext *pb, const char *tag)
325 332
 {
... ...
@@ -590,3 +597,13 @@ void ff_get_guid(AVIOContext *s, ff_asf_guid *g)
590 590
     assert(sizeof(*g) == 16);
591 591
     avio_read(s, *g, sizeof(*g));
592 592
 }
593
+
594
+enum CodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid)
595
+{
596
+    int i;
597
+    for (i = 0; guids[i].id != CODEC_ID_NONE; i++) {
598
+        if (!ff_guidcmp(guids[i].guid, guid))
599
+            return guids[i].id;
600
+    }
601
+    return CODEC_ID_NONE;
602
+}
... ...
@@ -56,6 +56,11 @@ void ff_parse_specific_params(AVCodecContext *stream, int *au_rate, int *au_ssiz
56 56
 
57 57
 typedef uint8_t ff_asf_guid[16];
58 58
 
59
+#define FF_PRI_GUID \
60
+    "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x"
61
+#define FF_ARG_GUID(g) \
62
+    g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]
63
+
59 64
 static av_always_inline int ff_guidcmp(const void *g1, const void *g2)
60 65
 {
61 66
     return memcmp(g1, g2, sizeof(ff_asf_guid));
... ...
@@ -63,4 +68,16 @@ static av_always_inline int ff_guidcmp(const void *g1, const void *g2)
63 63
 
64 64
 void ff_get_guid(AVIOContext *s, ff_asf_guid *g);
65 65
 
66
+typedef struct {
67
+    enum CodecID id;
68
+    ff_asf_guid guid;
69
+} AVCodecGuid;
70
+
71
+enum CodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid);
72
+
73
+extern const AVCodecGuid ff_codec_wav_guids[];
74
+
75
+#define FF_MEDIASUBTYPE_BASE_GUID \
76
+    0x00,0x00,0x10,0x00,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71
77
+
66 78
 #endif /* AVFORMAT_RIFF_H */
... ...
@@ -35,11 +35,6 @@
35 35
 #include <strings.h>
36 36
 
37 37
 /* Macros for formating GUIDs */
38
-#define PRI_GUID \
39
-    "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x"
40
-#define ARG_GUID(g) \
41
-    g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]
42
-
43 38
 #define PRI_PRETTY_GUID \
44 39
     "%08x-%04x-%04x-%02x%02x%02x%02x%02x%02x%02x%02x"
45 40
 #define ARG_PRETTY_GUID(g) \
... ...
@@ -266,8 +261,8 @@ static AVIOContext * wtvfile_open2(AVFormatContext *s, const uint8_t *buf, int b
266 266
         uint64_t file_length;
267 267
         const uint8_t *name;
268 268
         if (ff_guidcmp(buf, dir_entry_guid)) {
269
-            av_log(s, AV_LOG_ERROR, "unknown guid "PRI_GUID", expected dir_entry_guid; "
270
-                   "remaining directory entries ignored\n", ARG_GUID(buf));
269
+            av_log(s, AV_LOG_ERROR, "unknown guid "FF_PRI_GUID", expected dir_entry_guid; "
270
+                   "remaining directory entries ignored\n", FF_ARG_GUID(buf));
271 271
             break;
272 272
         }
273 273
         dir_length  = AV_RL16(buf + 16);
... ...
@@ -328,21 +323,6 @@ typedef struct {
328 328
     unsigned int index_entries_allocated_size;
329 329
 } WtvContext;
330 330
 
331
-typedef struct {
332
-    enum CodecID id;
333
-    ff_asf_guid guid;
334
-} AVCodecGuid;
335
-
336
-static enum CodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid)
337
-{
338
-    int i;
339
-    for (i = 0; guids[i].id != CODEC_ID_NONE; i++) {
340
-        if (!ff_guidcmp(guids[i].guid, guid))
341
-            return guids[i].id;
342
-    }
343
-    return CODEC_ID_NONE;
344
-}
345
-
346 331
 /* WTV GUIDs */
347 332
 static const ff_asf_guid wtv_guid =
348 333
     {0xB7,0xD8,0x00,0x20,0x37,0x49,0xDA,0x11,0xA6,0x4E,0x00,0x07,0xE9,0x5E,0xAD,0x8D};
... ...
@@ -377,14 +357,11 @@ static const ff_asf_guid EVENTID_AudioTypeSpanningEvent =
377 377
 
378 378
 /* Windows media GUIDs */
379 379
 
380
-#define MEDIASUBTYPE_BASE_GUID \
381
-    0x00,0x00,0x10,0x00,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71
382
-
383 380
 /* Media types */
384 381
 static const ff_asf_guid mediatype_audio =
385
-    {'a','u','d','s',MEDIASUBTYPE_BASE_GUID};
382
+    {'a','u','d','s',FF_MEDIASUBTYPE_BASE_GUID};
386 383
 static const ff_asf_guid mediatype_video =
387
-    {'v','i','d','s',MEDIASUBTYPE_BASE_GUID};
384
+    {'v','i','d','s',FF_MEDIASUBTYPE_BASE_GUID};
388 385
 static const ff_asf_guid mediasubtype_mpeg1payload =
389 386
     {0x81,0xEB,0x36,0xE4,0x4F,0x52,0xCE,0x11,0x9F,0x53,0x00,0x20,0xAF,0x0B,0xA7,0x70};
390 387
 static const ff_asf_guid mediatype_mpeg2_sections =
... ...
@@ -423,13 +400,6 @@ static const AVCodecGuid video_guids[] = {
423 423
     {CODEC_ID_NONE}
424 424
 };
425 425
 
426
-static const AVCodecGuid audio_guids[] = {
427
-    {CODEC_ID_AC3,        {0x2C,0x80,0x6D,0xE0,0x46,0xDB,0xCF,0x11,0xB4,0xD1,0x00,0x80,0x5F,0x6C,0xBB,0xEA}},
428
-    {CODEC_ID_EAC3,       {0xAF,0x87,0xFB,0xA7,0x02,0x2D,0xFB,0x42,0xA4,0xD4,0x05,0xCD,0x93,0x84,0x3B,0xDD}},
429
-    {CODEC_ID_MP2,        {0x2B,0x80,0x6D,0xE0,0x46,0xDB,0xCF,0x11,0xB4,0xD1,0x00,0x80,0x5F,0x6C,0xBB,0xEA}},
430
-    {CODEC_ID_NONE}
431
-};
432
-
433 426
 static int read_probe(AVProbeData *p)
434 427
 {
435 428
     return ff_guidcmp(p->buf, wtv_guid) ? 0 : AVPROBE_SCORE_MAX;
... ...
@@ -562,8 +532,8 @@ static void parse_legacy_attrib(AVFormatContext *s, AVIOContext *pb)
562 562
         if (!length)
563 563
             break;
564 564
         if (ff_guidcmp(&guid, metadata_guid)) {
565
-            av_log(s, AV_LOG_WARNING, "unknown guid "PRI_GUID", expected metadata_guid; "
566
-                   "remaining metadata entries ignored\n", ARG_GUID(guid));
565
+            av_log(s, AV_LOG_WARNING, "unknown guid "FF_PRI_GUID", expected metadata_guid; "
566
+                   "remaining metadata entries ignored\n", FF_ARG_GUID(guid));
567 567
             break;
568 568
         }
569 569
         avio_get_str16le(pb, INT_MAX, key, sizeof(key));
... ...
@@ -678,11 +648,11 @@ static AVStream * parse_media_type(AVFormatContext *s, AVStream *st, int sid,
678 678
             ff_get_wav_header(pb, st->codec, size);
679 679
         } else {
680 680
             if (ff_guidcmp(formattype, format_none))
681
-                av_log(s, AV_LOG_WARNING, "unknown formattype:"PRI_GUID"\n", ARG_GUID(formattype));
681
+                av_log(s, AV_LOG_WARNING, "unknown formattype:"FF_PRI_GUID"\n", FF_ARG_GUID(formattype));
682 682
             avio_skip(pb, size);
683 683
         }
684 684
 
685
-        if (!memcmp(subtype + 4, (const uint8_t[]){MEDIASUBTYPE_BASE_GUID}, 12)) {
685
+        if (!memcmp(subtype + 4, (const uint8_t[]){FF_MEDIASUBTYPE_BASE_GUID}, 12)) {
686 686
             st->codec->codec_id = ff_wav_codec_get_id(AV_RL32(subtype), st->codec->bits_per_coded_sample);
687 687
         } else if (!ff_guidcmp(subtype, mediasubtype_mpeg1payload)) {
688 688
             if (st->codec->extradata && st->codec->extradata_size >= 22)
... ...
@@ -690,9 +660,9 @@ static AVStream * parse_media_type(AVFormatContext *s, AVStream *st, int sid,
690 690
             else
691 691
                 av_log(s, AV_LOG_WARNING, "MPEG1WAVEFORMATEX underflow\n");
692 692
         } else {
693
-            st->codec->codec_id = ff_codec_guid_get_id(audio_guids, subtype);
693
+            st->codec->codec_id = ff_codec_guid_get_id(ff_codec_wav_guids, subtype);
694 694
             if (st->codec->codec_id == CODEC_ID_NONE)
695
-                av_log(s, AV_LOG_WARNING, "unknown subtype:"PRI_GUID"\n", ARG_GUID(subtype));
695
+                av_log(s, AV_LOG_WARNING, "unknown subtype:"FF_PRI_GUID"\n", FF_ARG_GUID(subtype));
696 696
         }
697 697
         return st;
698 698
     } else if (!ff_guidcmp(mediatype, mediatype_video)) {
... ...
@@ -707,17 +677,17 @@ static AVStream * parse_media_type(AVFormatContext *s, AVStream *st, int sid,
707 707
             avio_skip(pb, FFMAX(size - consumed, 0));
708 708
         } else {
709 709
             if (ff_guidcmp(formattype, format_none))
710
-                av_log(s, AV_LOG_WARNING, "unknown formattype:"PRI_GUID"\n", ARG_GUID(formattype));
710
+                av_log(s, AV_LOG_WARNING, "unknown formattype:"FF_PRI_GUID"\n", FF_ARG_GUID(formattype));
711 711
             avio_skip(pb, size);
712 712
         }
713 713
 
714
-        if (!memcmp(subtype + 4, (const uint8_t[]){MEDIASUBTYPE_BASE_GUID}, 12)) {
714
+        if (!memcmp(subtype + 4, (const uint8_t[]){FF_MEDIASUBTYPE_BASE_GUID}, 12)) {
715 715
             st->codec->codec_id = ff_codec_get_id(ff_codec_bmp_tags, AV_RL32(subtype));
716 716
         } else {
717 717
             st->codec->codec_id = ff_codec_guid_get_id(video_guids, subtype);
718 718
         }
719 719
         if (st->codec->codec_id == CODEC_ID_NONE)
720
-            av_log(s, AV_LOG_WARNING, "unknown subtype:"PRI_GUID"\n", ARG_GUID(subtype));
720
+            av_log(s, AV_LOG_WARNING, "unknown subtype:"FF_PRI_GUID"\n", FF_ARG_GUID(subtype));
721 721
         return st;
722 722
     } else if (!ff_guidcmp(mediatype, mediatype_mpeg2_pes) &&
723 723
                !ff_guidcmp(subtype, mediasubtype_dvb_subtitle)) {
... ...
@@ -725,7 +695,7 @@ static AVStream * parse_media_type(AVFormatContext *s, AVStream *st, int sid,
725 725
         if (!st)
726 726
             return NULL;
727 727
         if (ff_guidcmp(formattype, format_none))
728
-            av_log(s, AV_LOG_WARNING, "unknown formattype:"PRI_GUID"\n", ARG_GUID(formattype));
728
+            av_log(s, AV_LOG_WARNING, "unknown formattype:"FF_PRI_GUID"\n", FF_ARG_GUID(formattype));
729 729
         avio_skip(pb, size);
730 730
         st->codec->codec_id = CODEC_ID_DVB_SUBTITLE;
731 731
         return st;
... ...
@@ -735,21 +705,21 @@ static AVStream * parse_media_type(AVFormatContext *s, AVStream *st, int sid,
735 735
         if (!st)
736 736
             return NULL;
737 737
         if (ff_guidcmp(formattype, format_none))
738
-            av_log(s, AV_LOG_WARNING, "unknown formattype:"PRI_GUID"\n", ARG_GUID(formattype));
738
+            av_log(s, AV_LOG_WARNING, "unknown formattype:"FF_PRI_GUID"\n", FF_ARG_GUID(formattype));
739 739
         avio_skip(pb, size);
740 740
         st->codec->codec_id   = CODEC_ID_DVB_TELETEXT;
741 741
         return st;
742 742
     } else if (!ff_guidcmp(mediatype, mediatype_mpeg2_sections) &&
743 743
                !ff_guidcmp(subtype, mediasubtype_mpeg2_sections)) {
744 744
         if (ff_guidcmp(formattype, format_none))
745
-            av_log(s, AV_LOG_WARNING, "unknown formattype:"PRI_GUID"\n", ARG_GUID(formattype));
745
+            av_log(s, AV_LOG_WARNING, "unknown formattype:"FF_PRI_GUID"\n", FF_ARG_GUID(formattype));
746 746
         avio_skip(pb, size);
747 747
         return NULL;
748 748
     }
749 749
 
750
-    av_log(s, AV_LOG_WARNING, "unknown media type, mediatype:"PRI_GUID
751
-                              ", subtype:"PRI_GUID", formattype:"PRI_GUID"\n",
752
-                              ARG_GUID(mediatype), ARG_GUID(subtype), ARG_GUID(formattype));
750
+    av_log(s, AV_LOG_WARNING, "unknown media type, mediatype:"FF_PRI_GUID
751
+                              ", subtype:"FF_PRI_GUID", formattype:"FF_PRI_GUID"\n",
752
+                              FF_ARG_GUID(mediatype), FF_ARG_GUID(subtype), FF_ARG_GUID(formattype));
753 753
     avio_skip(pb, size);
754 754
     return NULL;
755 755
 }
... ...
@@ -921,7 +891,7 @@ static int parse_chunks(AVFormatContext *s, int mode, int64_t seekts, int *len_p
921 921
             !ff_guidcmp(g, (const ff_asf_guid){0xA1,0xC3,0xD2,0xC2,0x7E,0x9A,0xDA,0x11,0x8B,0xF7,0x00,0x07,0xE9,0x5E,0xAD,0x8D})) {
922 922
             //ignore known guids
923 923
         } else
924
-            av_log(s, AV_LOG_WARNING, "unsupported chunk:"PRI_GUID"\n", ARG_GUID(g));
924
+            av_log(s, AV_LOG_WARNING, "unsupported chunk:"FF_PRI_GUID"\n", FF_ARG_GUID(g));
925 925
 
926 926
         avio_skip(pb, WTV_PAD8(len) - consumed);
927 927
     }