libavformat: fix spelling in ID3v1 genres and extend the list of Winamp extensions.
authorUlrich Spörlein <uspoerlein@gmail.com>
Thu, 19 Dec 2019 15:12:46 +0000 (16:12 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 5 Jan 2020 19:31:42 +0000 (20:31 +0100)
Sources include various lists on the Internet, as well as the current
Wikipedia page at
https://en.wikipedia.org/w/index.php?title=List_of_ID3v1_Genres&oldid=896774343
but most importantly the list as used by taglib at
https://github.com/taglib/taglib/commit/3e60e339a4bc46e2a1a7aea782502480561a8acf#diff-f86455366624350770f41b4940925dde

Further patches to harmonize the spelling have been sent to taglib and
libid3tag. See also https://github.com/taglib/taglib/pull/942/

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/id3v1.c
libavformat/id3v1.h

index 19be421..eb66098 100644 (file)
@@ -92,7 +92,7 @@ const char * const ff_id3v1_genre_str[ID3v1_GENRE_MAX + 1] = {
      [64] = "Native American",
      [65] = "Cabaret",
      [66] = "New Wave",
-     [67] = "Psychadelic", /* sic, the misspelling is used in the specification */
+     [67] = "Psychedelic",
      [68] = "Rave",
      [69] = "Showtunes",
      [70] = "Trailer",
@@ -110,7 +110,7 @@ const char * const ff_id3v1_genre_str[ID3v1_GENRE_MAX + 1] = {
      [82] = "National Folk",
      [83] = "Swing",
      [84] = "Fast Fusion",
-     [85] = "Bebob",
+     [85] = "Bebop",
      [86] = "Latin",
      [87] = "Revival",
      [88] = "Celtic",
@@ -148,20 +148,20 @@ const char * const ff_id3v1_genre_str[ID3v1_GENRE_MAX + 1] = {
     [120] = "Duet",
     [121] = "Punk Rock",
     [122] = "Drum Solo",
-    [123] = "A capella",
+    [123] = "A Cappella",
     [124] = "Euro-House",
     [125] = "Dance Hall",
     [126] = "Goa",
     [127] = "Drum & Bass",
     [128] = "Club-House",
-    [129] = "Hardcore",
+    [129] = "Hardcore Techno",
     [130] = "Terror",
     [131] = "Indie",
     [132] = "BritPop",
     [133] = "Negerpunk",
     [134] = "Polsk Punk",
     [135] = "Beat",
-    [136] = "Christian Gangsta",
+    [136] = "Christian Gangsta Rap",
     [137] = "Heavy Metal",
     [138] = "Black Metal",
     [139] = "Crossover",
@@ -171,8 +171,52 @@ const char * const ff_id3v1_genre_str[ID3v1_GENRE_MAX + 1] = {
     [143] = "Salsa",
     [144] = "Thrash Metal",
     [145] = "Anime",
-    [146] = "JPop",
-    [147] = "SynthPop",
+    [146] = "Jpop",
+    [147] = "Synthpop",
+    [148] = "Abstract",
+    [149] = "Art Rock",
+    [150] = "Baroque",
+    [151] = "Bhangra",
+    [152] = "Big Beat",
+    [153] = "Breakbeat",
+    [154] = "Chillout",
+    [155] = "Downtempo",
+    [156] = "Dub",
+    [157] = "EBM",
+    [158] = "Eclectic",
+    [159] = "Electro",
+    [160] = "Electroclash",
+    [161] = "Emo",
+    [162] = "Experimental",
+    [163] = "Garage",
+    [164] = "Global",
+    [165] = "IDM",
+    [166] = "Illbient",
+    [167] = "Industro-Goth",
+    [168] = "Jam Band",
+    [169] = "Krautrock",
+    [170] = "Leftfield",
+    [171] = "Lounge",
+    [172] = "Math Rock",
+    [173] = "New Romantic",
+    [174] = "Nu-Breakz",
+    [175] = "Post-Punk",
+    [176] = "Post-Rock",
+    [177] = "Psytrance",
+    [178] = "Shoegaze",
+    [179] = "Space Rock",
+    [180] = "Trop Rock",
+    [181] = "World Music",
+    [182] = "Neoclassical",
+    [183] = "Audiobook",
+    [184] = "Audio Theatre",
+    [185] = "Neue Deutsche Welle",
+    [186] = "Podcast",
+    [187] = "Indie Rock",
+    [188] = "G-Funk",
+    [189] = "Dubstep",
+    [190] = "Garage Rock",
+    [191] = "Psybient"
 };
 
 static void get_string(AVFormatContext *s, const char *key,
index d5dca35..b3ad16d 100644 (file)
@@ -26,7 +26,7 @@
 
 #define ID3v1_TAG_SIZE 128
 
-#define ID3v1_GENRE_MAX 147
+#define ID3v1_GENRE_MAX 191
 
 /**
  * ID3v1 genres