avformat/avlanguage: add the 6 deprecated DVD languages

There are 6 deprecated ISO language codes that are still valid for DVDs.
This patch allows avlanguage to recognize them correctly. The codes are:
(1) "in" - legacy code for Indonesian, mapped to the modern code
(2) "iw" - legacy code for Hebrew, mapped to the modern code
(3) "ji" - legacy code for Yiddish, mapped to the modern code
(4) "jw" - legacy code for Javanese, published and used as a typoed version of "jv"
(5) "mo" - legacy code for Moldavian, mapped to the inclusive code
(6) "sh" - legacy code for Serbo-Croatian, no modern inclusive code so it is left alone

All of this can be verified from several sources including:
https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes

Signed-off-by: Marth64 <marth64@proxyid.net>
This commit is contained in:
Marth64 2024-01-23 20:03:19 -06:00 committed by Stefano Sabatini
parent 344ec7a3f7
commit 01388936a8
1 changed files with 8 additions and 2 deletions

View File

@ -29,7 +29,7 @@ typedef struct LangEntry {
uint16_t next_equivalent;
} LangEntry;
static const uint16_t lang_table_counts[] = { 484, 20, 184 };
static const uint16_t lang_table_counts[] = { 484, 20, 190 };
static const uint16_t lang_table_offsets[] = { 0, 484, 504 };
static const LangEntry lang_table[] = {
@ -539,7 +539,7 @@ static const LangEntry lang_table[] = {
/*0501*/ { "slk", 647 },
/*0502*/ { "sqi", 652 },
/*0503*/ { "zho", 686 },
/*----- AV_LANG_ISO639_1 entries (184) -----*/
/*----- AV_LANG_ISO639_1 entries (190) -----*/
/*0504*/ { "aa" , 0 },
/*0505*/ { "ab" , 1 },
/*0506*/ { "ae" , 33 },
@ -724,6 +724,12 @@ static const LangEntry lang_table[] = {
/*0685*/ { "za" , 478 },
/*0686*/ { "zh" , 78 },
/*0687*/ { "zu" , 480 },
/*0688*/ { "in" , 195 }, /* deprecated */
/*0689*/ { "iw" , 172 }, /* deprecated */
/*0690*/ { "ji" , 472 }, /* deprecated */
/*0691*/ { "jw" , 202 }, /* deprecated */
/*0692*/ { "mo" , 358 }, /* deprecated */
/*0693*/ { "sh" , 693 }, /* deprecated (no equivalent) */
{ "", 0 }
};