24
24
#include < encdec.h> // MEDIASUBTYPE_CPFilters_Processed, FORMATTYPE_CPFilters_Processed
25
25
#include " GUIDString.h"
26
26
27
- #define ENTRYNAME (subtype ) #subtype
28
- static const struct {
29
- WORD wFormatTag;
30
- const CHAR* szName;
31
- }
32
- MPC_g_WaveGuidNames[] = {
27
+ static const WaveStringEntry MPC_g_WaveGuidNames[] = {
33
28
// mmreg.h
34
- {WAVE_FORMAT_ADPCM, " MS_ADPCM" }, //
29
+ {WAVE_FORMAT_ADPCM, " MS_ADPCM" },
35
30
{WAVE_FORMAT_ALAW, " ALAW" },
36
31
{WAVE_FORMAT_MULAW, " MULAW" },
37
- {WAVE_FORMAT_IMA_ADPCM, " IMA_ADPCM" }, //
32
+ {WAVE_FORMAT_IMA_ADPCM, " IMA_ADPCM" },
38
33
{WAVE_FORMAT_WMAVOICE9, " WMSP1" },
39
34
{WAVE_FORMAT_DSPGROUP_TRUESPEECH, " TRUESPEECH" },
40
- {WAVE_FORMAT_GSM610, " GSM610" }, //
35
+ {WAVE_FORMAT_GSM610, " GSM610" },
41
36
{WAVE_FORMAT_SHARP_G726, " G726_ADPCM" },
42
37
{WAVE_FORMAT_MPEGLAYER3, " MP3" },
43
38
{WAVE_FORMAT_VOXWARE_RT29, " VOXWARE_RT29" },
@@ -49,10 +44,10 @@ MPC_g_WaveGuidNames[] = {
49
44
{WAVE_FORMAT_INTEL_MUSIC_CODER, " INTEL_MUSIC" },
50
45
{WAVE_FORMAT_INDEO_AUDIO, " INDEO_AUDIO" },
51
46
{WAVE_FORMAT_DTS2, " DTS2" },
52
- {WAVE_FORMAT_MPEG_ADTS_AAC, " MPEG_ADTS_AAC" }, //
53
- {WAVE_FORMAT_MPEG_RAW_AAC, " MPEG_RAW_AAC" }, //
54
- {WAVE_FORMAT_MPEG_LOAS, " MPEG_LOAS" }, //
55
- {WAVE_FORMAT_MPEG_HEAAC, " MPEG_HEAAC" }, //
47
+ {WAVE_FORMAT_MPEG_ADTS_AAC, " MPEG_ADTS_AAC" },
48
+ {WAVE_FORMAT_MPEG_RAW_AAC, " MPEG_RAW_AAC" },
49
+ {WAVE_FORMAT_MPEG_LOAS, " MPEG_LOAS" },
50
+ {WAVE_FORMAT_MPEG_HEAAC, " MPEG_HEAAC" },
56
51
{WAVE_FORMAT_WAVPACK_AUDIO, " WAVPACK4" },
57
52
{WAVE_FORMAT_OPUS, " OPUS_WAVE" },
58
53
{WAVE_FORMAT_SPEEX_VOICE, " SPEEX" },
@@ -68,8 +63,8 @@ MPC_g_WaveGuidNames[] = {
68
63
{WAVE_FORMAT_PS2_ADPCM, " PS2_ADPCM" }, // 0xF522
69
64
};
70
65
71
- #define ADDENTRY (subtype ) { # subtype, subtype },
72
- static const GUID_STRING_ENTRY MPC_g_GuidNames[] = {
66
+ #define ADDENTRY (subtype ) { subtype, # subtype },
67
+ static const GuidStringEntry MPC_g_GuidNames[] = {
73
68
ADDENTRY (MEDIASUBTYPE_FLAC_FRAMED)
74
69
ADDENTRY (MEDIASUBTYPE_TAK)
75
70
ADDENTRY (MEDIASUBTYPE_WavpackHybrid)
@@ -91,7 +86,6 @@ static const GUID_STRING_ENTRY MPC_g_GuidNames[] = {
91
86
ADDENTRY (MEDIASUBTYPE_Vorbis2)
92
87
ADDENTRY (FORMAT_VorbisFormat2)
93
88
ADDENTRY (MEDIASUBTYPE_Matroska)
94
- ADDENTRY (MEDIATYPE_Subtitle)
95
89
ADDENTRY (MEDIASUBTYPE_UTF8)
96
90
ADDENTRY (MEDIASUBTYPE_SSA)
97
91
ADDENTRY (MEDIASUBTYPE_ASS)
@@ -127,46 +121,13 @@ static const GUID_STRING_ENTRY MPC_g_GuidNames[] = {
127
121
128
122
CStringA GetGUIDName (const GUID& guid)
129
123
{
130
- if (guid == GUID_NULL) {
131
- // to prevent print TIME_FORMAT_NONE for GUID_NULL
132
- return " GUID_NULL" ;
133
- }
134
-
135
- const char * guidStr = GuidNames[guid]; // GUID names from uuids.h
136
- if (strcmp (guidStr, " Unknown GUID Name" ) != 0 ) {
137
- return guidStr;
138
- }
139
-
140
- if (memcmp (&guid.Data2 , &MEDIASUBTYPE_YUY2.Data2 , sizeof (GUID) - sizeof (GUID::Data1)) == 0 ) {
141
- // GUID like {xxxxxxxx-0000-0010-8000-00AA00389B71}
142
- CStringA str = " MEDIASUBTYPE_" ;
143
-
144
- if ((guid.Data1 & 0x0000FFFF ) == guid.Data1 ) {
145
- const WORD wFormatTag = (WORD)guid.Data1 ;
146
- for (const auto & waveGuidName : MPC_g_WaveGuidNames) {
147
- if (waveGuidName.wFormatTag == wFormatTag) {
148
- str.Append (waveGuidName.szName );
149
- return str;
150
- }
151
- }
152
- str.AppendFormat (" 0x%04x" , wFormatTag);
153
- return str;
154
- }
155
-
156
- uint32_t fourcc = guid.Data1 ;
157
- for (unsigned i = 0 ; i < 4 ; i++) {
158
- const uint32_t c = fourcc & 0xff ;
159
- str.AppendFormat (c < 32 ? " [%u]" : " %c" , c);
160
- fourcc >>= 8 ;
161
- }
162
- return str;
163
- }
164
-
165
- for (const auto & guidName : MPC_g_GuidNames) {
166
- if (guidName.guid == guid) {
167
- return guidName.szName ;
168
- }
169
- }
124
+ return GuidNames.GetString (guid).c_str ();
125
+ }
170
126
171
- return " Unknown GUID Name" ;
127
+ void SetExtraGuidStrings ()
128
+ {
129
+ GuidNames.SetExtraGuidStrings (
130
+ &MPC_g_GuidNames[0 ], std::size (MPC_g_GuidNames),
131
+ &MPC_g_WaveGuidNames[0 ], std::size (MPC_g_WaveGuidNames)
132
+ );
172
133
}
0 commit comments