[FFmpeg-devel] [PATCH v2 2/3] avformat/isom: update mov_mdhd_language_map

Marton Balint cus at passwd.hu
Fri Jul 3 21:29:00 EEST 2020



On Sat, 27 Jun 2020, Zhao Zhili wrote:

> This is a map from 'Macintosh Language Codes' to 'ISO639-2/T'. Some items
> in the map were ISO639-2/B, some were ISO639-1.

FFMpeg is using ISO639-2/B for language metadata according to docs. So if 
you change these tables, some functions relying on that these tables 
contain ISO639-2/B entires will break.

You should check which functions are using these tables, and update them 
accordingly. Or maybe you need to update the code which is calling 
those functions. There is also some infrastructure in place for 
converting between languages, see libavformat/avlanguage.h.

Regards,
Marton

> ---
> libavformat/isom.c | 50 +++++++++++++++++++++++-----------------------
> 1 file changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/libavformat/isom.c b/libavformat/isom.c
> index 209bbac5d1..e6b9506f67 100644
> --- a/libavformat/isom.c
> +++ b/libavformat/isom.c
> @@ -397,10 +397,10 @@ const AVCodecTag ff_codec_movdata_tags[] = {
> static const char mov_mdhd_language_map[][4] = {
>     "eng",    /*   0 English */
>     "fra",    /*   1 French */
> -    "ger",    /*   2 German */
> +    "deu",    /*   2 German */
>     "ita",    /*   3 Italian */
> -    "dut",    /*   4 Dutch */
> -    "sve",    /*   5 Swedish */
> +    "nld",    /*   4 Dutch */
> +    "swe",    /*   5 Swedish */
>     "spa",    /*   6 Spanish */
>     "dan",    /*   7 Danish */
>     "por",    /*   8 Portuguese */
> @@ -410,11 +410,11 @@ static const char mov_mdhd_language_map[][4] = {
>     "ara",    /*  12 Arabic */
>     "fin",    /*  13 Finnish */
>     "gre",    /*  14 Greek */
> -    "ice",    /*  15 Icelandic */
> +    "isl",    /*  15 Icelandic */
>     "mlt",    /*  16 Maltese */
>     "tur",    /*  17 Turkish */
> -    "hr ",    /*  18 Croatian */
> -    "chi",    /*  19 Traditional Chinese */
> +    "hrv",    /*  18 Croatian */
> +    "zho",    /*  19 Traditional Chinese */
>     "urd",    /*  20 Urdu */
>     "hin",    /*  21 Hindi */
>     "tha",    /*  22 Thai */
> @@ -425,20 +425,20 @@ static const char mov_mdhd_language_map[][4] = {
>     "est",    /*  27 Estonian */
>     "lav",    /*  28 Latvian */
>        "",    /*  29 Sami */
> -    "fo ",    /*  30 Faroese */
> -       "",    /*  31 Farsi */
> +    "fao",    /*  30 Faroese */
> +    "fas",    /*  31 Farsi */
>     "rus",    /*  32 Russian */
> -    "chi",    /*  33 Simplified Chinese */
> -       "",    /*  34 Flemish */
> -    "iri",    /*  35 Irish */
> -    "alb",    /*  36 Albanian */
> +    "zho",    /*  33 Simplified Chinese */
> +    "nld",    /*  34 Flemish */
> +    "gle",    /*  35 Irish */
> +    "sqi",    /*  36 Albanian */
>     "ron",    /*  37 Romanian */
>     "ces",    /*  38 Czech */
>     "slk",    /*  39 Slovak */
>     "slv",    /*  40 Slovenian */
>     "yid",    /*  41 Yiddish */
> -    "sr ",    /*  42 Serbian */
> -    "mac",    /*  43 Macedonian */
> +    "srp",    /*  42 Serbian */
> +    "mkd",    /*  43 Macedonian */
>     "bul",    /*  44 Bulgarian */
>     "ukr",    /*  45 Ukrainian */
>     "bel",    /*  46 Belarusian */
> @@ -446,33 +446,33 @@ static const char mov_mdhd_language_map[][4] = {
>     "kaz",    /*  48 Kazakh */
>     "aze",    /*  49 Azerbaijani */
>     "aze",    /*  50 AzerbaijanAr */
> -    "arm",    /*  51 Armenian */
> -    "geo",    /*  52 Georgian */
> +    "hye",    /*  51 Armenian */
> +    "kat",    /*  52 Georgian */
>     "mol",    /*  53 Moldavian */
>     "kir",    /*  54 Kirghiz */
>     "tgk",    /*  55 Tajiki */
>     "tuk",    /*  56 Turkmen */
>     "mon",    /*  57 Mongolian */
> -       "",    /*  58 MongolianCyr */
> +    "mon",    /*  58 MongolianCyr */
>     "pus",    /*  59 Pashto */
>     "kur",    /*  60 Kurdish */
>     "kas",    /*  61 Kashmiri */
>     "snd",    /*  62 Sindhi */
> -    "tib",    /*  63 Tibetan */
> +    "bod",    /*  63 Tibetan */
>     "nep",    /*  64 Nepali */
>     "san",    /*  65 Sanskrit */
>     "mar",    /*  66 Marathi */
>     "ben",    /*  67 Bengali */
>     "asm",    /*  68 Assamese */
>     "guj",    /*  69 Gujarati */
> -    "pa ",    /*  70 Punjabi */
> +    "pan",    /*  70 Punjabi */
>     "ori",    /*  71 Oriya */
>     "mal",    /*  72 Malayalam */
>     "kan",    /*  73 Kannada */
>     "tam",    /*  74 Tamil */
>     "tel",    /*  75 Telugu */
> -       "",    /*  76 Sinhala */
> -    "bur",    /*  77 Burmese */
> +    "sin",    /*  76 Sinhala */
> +    "mya",    /*  77 Burmese */
>     "khm",    /*  78 Khmer */
>     "lao",    /*  79 Lao */
>     "vie",    /*  80 Vietnamese */
> @@ -485,9 +485,9 @@ static const char mov_mdhd_language_map[][4] = {
>     "orm",    /*  87 Oromo */
>     "som",    /*  88 Somali */
>     "swa",    /*  89 Swahili */
> -       "",    /*  90 Kinyarwanda */
> +    "kin",    /*  90 Kinyarwanda */
>     "run",    /*  91 Rundi */
> -       "",    /*  92 Nyanja */
> +    "nya",    /*  92 Nyanja */
>     "mlg",    /*  93 Malagasy */
>     "epo",    /*  94 Esperanto */
>        "",    /*  95  */
> @@ -523,8 +523,8 @@ static const char mov_mdhd_language_map[][4] = {
>        "",    /* 125  */
>        "",    /* 126  */
>        "",    /* 127  */
> -    "wel",    /* 128 Welsh */
> -    "baq",    /* 129 Basque */
> +    "cym",    /* 128 Welsh */
> +    "eus",    /* 129 Basque */
>     "cat",    /* 130 Catalan */
>     "lat",    /* 131 Latin */
>     "que",    /* 132 Quechua */
> -- 
> 2.25.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list