yading@11: /* yading@11: * Cyril Comparon, Larbi Joubala, Resonate-MP4 2009 yading@11: * yading@11: * This file is part of FFmpeg. yading@11: * yading@11: * FFmpeg is free software; you can redistribute it and/or yading@11: * modify it under the terms of the GNU Lesser General Public yading@11: * License as published by the Free Software Foundation; either yading@11: * version 2.1 of the License, or (at your option) any later version. yading@11: * yading@11: * FFmpeg is distributed in the hope that it will be useful, yading@11: * but WITHOUT ANY WARRANTY; without even the implied warranty of yading@11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU yading@11: * Lesser General Public License for more details. yading@11: * yading@11: * You should have received a copy of the GNU Lesser General Public yading@11: * License along with FFmpeg; if not, write to the Free Software yading@11: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA yading@11: */ yading@11: yading@11: #include "avlanguage.h" yading@11: #include "libavutil/avstring.h" yading@11: #include "libavutil/common.h" yading@11: #include yading@11: #include yading@11: #include yading@11: yading@11: typedef struct LangEntry { yading@11: const char str[4]; yading@11: uint16_t next_equivalent; yading@11: } LangEntry; yading@11: yading@11: static const uint16_t lang_table_counts[] = { 484, 20, 184 }; yading@11: static const uint16_t lang_table_offsets[] = { 0, 484, 504 }; yading@11: yading@11: static const LangEntry lang_table[] = { yading@11: /*----- AV_LANG_ISO639_2_BIBL entries (484) -----*/ yading@11: /*0000*/ { "aar", 504 }, yading@11: /*0001*/ { "abk", 505 }, yading@11: /*0002*/ { "ace", 2 }, yading@11: /*0003*/ { "ach", 3 }, yading@11: /*0004*/ { "ada", 4 }, yading@11: /*0005*/ { "ady", 5 }, yading@11: /*0006*/ { "afa", 6 }, yading@11: /*0007*/ { "afh", 7 }, yading@11: /*0008*/ { "afr", 507 }, yading@11: /*0009*/ { "ain", 9 }, yading@11: /*0010*/ { "aka", 508 }, yading@11: /*0011*/ { "akk", 11 }, yading@11: /*0012*/ { "alb", 502 }, yading@11: /*0013*/ { "ale", 13 }, yading@11: /*0014*/ { "alg", 14 }, yading@11: /*0015*/ { "alt", 15 }, yading@11: /*0016*/ { "amh", 509 }, yading@11: /*0017*/ { "ang", 17 }, yading@11: /*0018*/ { "anp", 18 }, yading@11: /*0019*/ { "apa", 19 }, yading@11: /*0020*/ { "ara", 511 }, yading@11: /*0021*/ { "arc", 21 }, yading@11: /*0022*/ { "arg", 510 }, yading@11: /*0023*/ { "arm", 492 }, yading@11: /*0024*/ { "arn", 24 }, yading@11: /*0025*/ { "arp", 25 }, yading@11: /*0026*/ { "art", 26 }, yading@11: /*0027*/ { "arw", 27 }, yading@11: /*0028*/ { "asm", 512 }, yading@11: /*0029*/ { "ast", 29 }, yading@11: /*0030*/ { "ath", 30 }, yading@11: /*0031*/ { "aus", 31 }, yading@11: /*0032*/ { "ava", 513 }, yading@11: /*0033*/ { "ave", 506 }, yading@11: /*0034*/ { "awa", 34 }, yading@11: /*0035*/ { "aym", 514 }, yading@11: /*0036*/ { "aze", 515 }, yading@11: /*0037*/ { "bad", 37 }, yading@11: /*0038*/ { "bai", 38 }, yading@11: /*0039*/ { "bak", 516 }, yading@11: /*0040*/ { "bal", 40 }, yading@11: /*0041*/ { "bam", 521 }, yading@11: /*0042*/ { "ban", 42 }, yading@11: /*0043*/ { "baq", 489 }, yading@11: /*0044*/ { "bas", 44 }, yading@11: /*0045*/ { "bat", 45 }, yading@11: /*0046*/ { "bej", 46 }, yading@11: /*0047*/ { "bel", 517 }, yading@11: /*0048*/ { "bem", 48 }, yading@11: /*0049*/ { "ben", 522 }, yading@11: /*0050*/ { "ber", 50 }, yading@11: /*0051*/ { "bho", 51 }, yading@11: /*0052*/ { "bih", 519 }, yading@11: /*0053*/ { "bik", 53 }, yading@11: /*0054*/ { "bin", 54 }, yading@11: /*0055*/ { "bis", 520 }, yading@11: /*0056*/ { "bla", 56 }, yading@11: /*0057*/ { "bnt", 57 }, yading@11: /*0058*/ { "bos", 525 }, yading@11: /*0059*/ { "bra", 59 }, yading@11: /*0060*/ { "bre", 524 }, yading@11: /*0061*/ { "btk", 61 }, yading@11: /*0062*/ { "bua", 62 }, yading@11: /*0063*/ { "bug", 63 }, yading@11: /*0064*/ { "bul", 518 }, yading@11: /*0065*/ { "bur", 498 }, yading@11: /*0066*/ { "byn", 66 }, yading@11: /*0067*/ { "cad", 67 }, yading@11: /*0068*/ { "cai", 68 }, yading@11: /*0069*/ { "car", 69 }, yading@11: /*0070*/ { "cat", 526 }, yading@11: /*0071*/ { "cau", 71 }, yading@11: /*0072*/ { "ceb", 72 }, yading@11: /*0073*/ { "cel", 73 }, yading@11: /*0074*/ { "cha", 528 }, yading@11: /*0075*/ { "chb", 75 }, yading@11: /*0076*/ { "che", 527 }, yading@11: /*0077*/ { "chg", 77 }, yading@11: /*0078*/ { "chi", 503 }, yading@11: /*0079*/ { "chk", 79 }, yading@11: /*0080*/ { "chm", 80 }, yading@11: /*0081*/ { "chn", 81 }, yading@11: /*0082*/ { "cho", 82 }, yading@11: /*0083*/ { "chp", 83 }, yading@11: /*0084*/ { "chr", 84 }, yading@11: /*0085*/ { "chu", 532 }, yading@11: /*0086*/ { "chv", 533 }, yading@11: /*0087*/ { "chy", 87 }, yading@11: /*0088*/ { "cmc", 88 }, yading@11: /*0089*/ { "cop", 89 }, yading@11: /*0090*/ { "cor", 593 }, yading@11: /*0091*/ { "cos", 529 }, yading@11: /*0092*/ { "cpe", 92 }, yading@11: /*0093*/ { "cpf", 93 }, yading@11: /*0094*/ { "cpp", 94 }, yading@11: /*0095*/ { "cre", 530 }, yading@11: /*0096*/ { "crh", 96 }, yading@11: /*0097*/ { "crp", 97 }, yading@11: /*0098*/ { "csb", 98 }, yading@11: /*0099*/ { "cus", 99 }, yading@11: /*0100*/ { "cze", 485 }, yading@11: /*0101*/ { "dak", 101 }, yading@11: /*0102*/ { "dan", 535 }, yading@11: /*0103*/ { "dar", 103 }, yading@11: /*0104*/ { "day", 104 }, yading@11: /*0105*/ { "del", 105 }, yading@11: /*0106*/ { "den", 106 }, yading@11: /*0107*/ { "dgr", 107 }, yading@11: /*0108*/ { "din", 108 }, yading@11: /*0109*/ { "div", 537 }, yading@11: /*0110*/ { "doi", 110 }, yading@11: /*0111*/ { "dra", 111 }, yading@11: /*0112*/ { "dsb", 112 }, yading@11: /*0113*/ { "dua", 113 }, yading@11: /*0114*/ { "dum", 114 }, yading@11: /*0115*/ { "dut", 499 }, yading@11: /*0116*/ { "dyu", 116 }, yading@11: /*0117*/ { "dzo", 538 }, yading@11: /*0118*/ { "efi", 118 }, yading@11: /*0119*/ { "egy", 119 }, yading@11: /*0120*/ { "eka", 120 }, yading@11: /*0121*/ { "elx", 121 }, yading@11: /*0122*/ { "eng", 541 }, yading@11: /*0123*/ { "enm", 123 }, yading@11: /*0124*/ { "epo", 542 }, yading@11: /*0125*/ { "est", 544 }, yading@11: /*0126*/ { "ewe", 539 }, yading@11: /*0127*/ { "ewo", 127 }, yading@11: /*0128*/ { "fan", 128 }, yading@11: /*0129*/ { "fao", 550 }, yading@11: /*0130*/ { "fat", 130 }, yading@11: /*0131*/ { "fij", 549 }, yading@11: /*0132*/ { "fil", 132 }, yading@11: /*0133*/ { "fin", 548 }, yading@11: /*0134*/ { "fiu", 134 }, yading@11: /*0135*/ { "fon", 135 }, yading@11: /*0136*/ { "fre", 491 }, yading@11: /*0137*/ { "frm", 137 }, yading@11: /*0138*/ { "fro", 138 }, yading@11: /*0139*/ { "frr", 139 }, yading@11: /*0140*/ { "frs", 140 }, yading@11: /*0141*/ { "fry", 552 }, yading@11: /*0142*/ { "ful", 547 }, yading@11: /*0143*/ { "fur", 143 }, yading@11: /*0144*/ { "gaa", 144 }, yading@11: /*0145*/ { "gay", 145 }, yading@11: /*0146*/ { "gba", 146 }, yading@11: /*0147*/ { "gem", 147 }, yading@11: /*0148*/ { "geo", 494 }, yading@11: /*0149*/ { "ger", 487 }, yading@11: /*0150*/ { "gez", 150 }, yading@11: /*0151*/ { "gil", 151 }, yading@11: /*0152*/ { "gla", 554 }, yading@11: /*0153*/ { "gle", 553 }, yading@11: /*0154*/ { "glg", 555 }, yading@11: /*0155*/ { "glv", 558 }, yading@11: /*0156*/ { "gmh", 156 }, yading@11: /*0157*/ { "goh", 157 }, yading@11: /*0158*/ { "gon", 158 }, yading@11: /*0159*/ { "gor", 159 }, yading@11: /*0160*/ { "got", 160 }, yading@11: /*0161*/ { "grb", 161 }, yading@11: /*0162*/ { "grc", 162 }, yading@11: /*0163*/ { "gre", 488 }, yading@11: /*0164*/ { "grn", 556 }, yading@11: /*0165*/ { "gsw", 165 }, yading@11: /*0166*/ { "guj", 557 }, yading@11: /*0167*/ { "gwi", 167 }, yading@11: /*0168*/ { "hai", 168 }, yading@11: /*0169*/ { "hat", 564 }, yading@11: /*0170*/ { "hau", 559 }, yading@11: /*0171*/ { "haw", 171 }, yading@11: /*0172*/ { "heb", 560 }, yading@11: /*0173*/ { "her", 567 }, yading@11: /*0174*/ { "hil", 174 }, yading@11: /*0175*/ { "him", 175 }, yading@11: /*0176*/ { "hin", 561 }, yading@11: /*0177*/ { "hit", 177 }, yading@11: /*0178*/ { "hmn", 178 }, yading@11: /*0179*/ { "hmo", 562 }, yading@11: /*0180*/ { "hrv", 563 }, yading@11: /*0181*/ { "hsb", 181 }, yading@11: /*0182*/ { "hun", 565 }, yading@11: /*0183*/ { "hup", 183 }, yading@11: /*0184*/ { "iba", 184 }, yading@11: /*0185*/ { "ibo", 571 }, yading@11: /*0186*/ { "ice", 493 }, yading@11: /*0187*/ { "ido", 574 }, yading@11: /*0188*/ { "iii", 572 }, yading@11: /*0189*/ { "ijo", 189 }, yading@11: /*0190*/ { "iku", 577 }, yading@11: /*0191*/ { "ile", 570 }, yading@11: /*0192*/ { "ilo", 192 }, yading@11: /*0193*/ { "ina", 568 }, yading@11: /*0194*/ { "inc", 194 }, yading@11: /*0195*/ { "ind", 569 }, yading@11: /*0196*/ { "ine", 196 }, yading@11: /*0197*/ { "inh", 197 }, yading@11: /*0198*/ { "ipk", 573 }, yading@11: /*0199*/ { "ira", 199 }, yading@11: /*0200*/ { "iro", 200 }, yading@11: /*0201*/ { "ita", 576 }, yading@11: /*0202*/ { "jav", 579 }, yading@11: /*0203*/ { "jbo", 203 }, yading@11: /*0204*/ { "jpn", 578 }, yading@11: /*0205*/ { "jpr", 205 }, yading@11: /*0206*/ { "jrb", 206 }, yading@11: /*0207*/ { "kaa", 207 }, yading@11: /*0208*/ { "kab", 208 }, yading@11: /*0209*/ { "kac", 209 }, yading@11: /*0210*/ { "kal", 585 }, yading@11: /*0211*/ { "kam", 211 }, yading@11: /*0212*/ { "kan", 587 }, yading@11: /*0213*/ { "kar", 213 }, yading@11: /*0214*/ { "kas", 590 }, yading@11: /*0215*/ { "kau", 589 }, yading@11: /*0216*/ { "kaw", 216 }, yading@11: /*0217*/ { "kaz", 584 }, yading@11: /*0218*/ { "kbd", 218 }, yading@11: /*0219*/ { "kha", 219 }, yading@11: /*0220*/ { "khi", 220 }, yading@11: /*0221*/ { "khm", 586 }, yading@11: /*0222*/ { "kho", 222 }, yading@11: /*0223*/ { "kik", 582 }, yading@11: /*0224*/ { "kin", 640 }, yading@11: /*0225*/ { "kir", 594 }, yading@11: /*0226*/ { "kmb", 226 }, yading@11: /*0227*/ { "kok", 227 }, yading@11: /*0228*/ { "kom", 592 }, yading@11: /*0229*/ { "kon", 581 }, yading@11: /*0230*/ { "kor", 588 }, yading@11: /*0231*/ { "kos", 231 }, yading@11: /*0232*/ { "kpe", 232 }, yading@11: /*0233*/ { "krc", 233 }, yading@11: /*0234*/ { "krl", 234 }, yading@11: /*0235*/ { "kro", 235 }, yading@11: /*0236*/ { "kru", 236 }, yading@11: /*0237*/ { "kua", 583 }, yading@11: /*0238*/ { "kum", 238 }, yading@11: /*0239*/ { "kur", 591 }, yading@11: /*0240*/ { "kut", 240 }, yading@11: /*0241*/ { "lad", 241 }, yading@11: /*0242*/ { "lah", 242 }, yading@11: /*0243*/ { "lam", 243 }, yading@11: /*0244*/ { "lao", 600 }, yading@11: /*0245*/ { "lat", 595 }, yading@11: /*0246*/ { "lav", 603 }, yading@11: /*0247*/ { "lez", 247 }, yading@11: /*0248*/ { "lim", 598 }, yading@11: /*0249*/ { "lin", 599 }, yading@11: /*0250*/ { "lit", 601 }, yading@11: /*0251*/ { "lol", 251 }, yading@11: /*0252*/ { "loz", 252 }, yading@11: /*0253*/ { "ltz", 596 }, yading@11: /*0254*/ { "lua", 254 }, yading@11: /*0255*/ { "lub", 602 }, yading@11: /*0256*/ { "lug", 597 }, yading@11: /*0257*/ { "lui", 257 }, yading@11: /*0258*/ { "lun", 258 }, yading@11: /*0259*/ { "luo", 259 }, yading@11: /*0260*/ { "lus", 260 }, yading@11: /*0261*/ { "mac", 495 }, yading@11: /*0262*/ { "mad", 262 }, yading@11: /*0263*/ { "mag", 263 }, yading@11: /*0264*/ { "mah", 605 }, yading@11: /*0265*/ { "mai", 265 }, yading@11: /*0266*/ { "mak", 266 }, yading@11: /*0267*/ { "mal", 608 }, yading@11: /*0268*/ { "man", 268 }, yading@11: /*0269*/ { "mao", 496 }, yading@11: /*0270*/ { "map", 270 }, yading@11: /*0271*/ { "mar", 610 }, yading@11: /*0272*/ { "mas", 272 }, yading@11: /*0273*/ { "may", 497 }, yading@11: /*0274*/ { "mdf", 274 }, yading@11: /*0275*/ { "mdr", 275 }, yading@11: /*0276*/ { "men", 276 }, yading@11: /*0277*/ { "mga", 277 }, yading@11: /*0278*/ { "mic", 278 }, yading@11: /*0279*/ { "min", 279 }, yading@11: /*0280*/ { "mis", 280 }, yading@11: /*0281*/ { "mkh", 281 }, yading@11: /*0282*/ { "mlg", 604 }, yading@11: /*0283*/ { "mlt", 612 }, yading@11: /*0284*/ { "mnc", 284 }, yading@11: /*0285*/ { "mni", 285 }, yading@11: /*0286*/ { "mno", 286 }, yading@11: /*0287*/ { "moh", 287 }, yading@11: /*0288*/ { "mon", 609 }, yading@11: /*0289*/ { "mos", 289 }, yading@11: /*0290*/ { "mul", 290 }, yading@11: /*0291*/ { "mun", 291 }, yading@11: /*0292*/ { "mus", 292 }, yading@11: /*0293*/ { "mwl", 293 }, yading@11: /*0294*/ { "mwr", 294 }, yading@11: /*0295*/ { "myn", 295 }, yading@11: /*0296*/ { "myv", 296 }, yading@11: /*0297*/ { "nah", 297 }, yading@11: /*0298*/ { "nai", 298 }, yading@11: /*0299*/ { "nap", 299 }, yading@11: /*0300*/ { "nau", 614 }, yading@11: /*0301*/ { "nav", 623 }, yading@11: /*0302*/ { "nbl", 622 }, yading@11: /*0303*/ { "nde", 616 }, yading@11: /*0304*/ { "ndo", 618 }, yading@11: /*0305*/ { "nds", 305 }, yading@11: /*0306*/ { "nep", 617 }, yading@11: /*0307*/ { "new", 307 }, yading@11: /*0308*/ { "nia", 308 }, yading@11: /*0309*/ { "nic", 309 }, yading@11: /*0310*/ { "niu", 310 }, yading@11: /*0311*/ { "nno", 620 }, yading@11: /*0312*/ { "nob", 615 }, yading@11: /*0313*/ { "nog", 313 }, yading@11: /*0314*/ { "non", 314 }, yading@11: /*0315*/ { "nor", 621 }, yading@11: /*0316*/ { "nqo", 316 }, yading@11: /*0317*/ { "nso", 317 }, yading@11: /*0318*/ { "nub", 318 }, yading@11: /*0319*/ { "nwc", 319 }, yading@11: /*0320*/ { "nya", 624 }, yading@11: /*0321*/ { "nym", 321 }, yading@11: /*0322*/ { "nyn", 322 }, yading@11: /*0323*/ { "nyo", 323 }, yading@11: /*0324*/ { "nzi", 324 }, yading@11: /*0325*/ { "oci", 625 }, yading@11: /*0326*/ { "oji", 626 }, yading@11: /*0327*/ { "ori", 628 }, yading@11: /*0328*/ { "orm", 627 }, yading@11: /*0329*/ { "osa", 329 }, yading@11: /*0330*/ { "oss", 629 }, yading@11: /*0331*/ { "ota", 331 }, yading@11: /*0332*/ { "oto", 332 }, yading@11: /*0333*/ { "paa", 333 }, yading@11: /*0334*/ { "pag", 334 }, yading@11: /*0335*/ { "pal", 335 }, yading@11: /*0336*/ { "pam", 336 }, yading@11: /*0337*/ { "pan", 630 }, yading@11: /*0338*/ { "pap", 338 }, yading@11: /*0339*/ { "pau", 339 }, yading@11: /*0340*/ { "peo", 340 }, yading@11: /*0341*/ { "per", 490 }, yading@11: /*0342*/ { "phi", 342 }, yading@11: /*0343*/ { "phn", 343 }, yading@11: /*0344*/ { "pli", 631 }, yading@11: /*0345*/ { "pol", 632 }, yading@11: /*0346*/ { "pon", 346 }, yading@11: /*0347*/ { "por", 634 }, yading@11: /*0348*/ { "pra", 348 }, yading@11: /*0349*/ { "pro", 349 }, yading@11: /*0350*/ { "pus", 633 }, yading@11: /*0351*/ { "que", 635 }, yading@11: /*0352*/ { "raj", 352 }, yading@11: /*0353*/ { "rap", 353 }, yading@11: /*0354*/ { "rar", 354 }, yading@11: /*0355*/ { "roa", 355 }, yading@11: /*0356*/ { "roh", 636 }, yading@11: /*0357*/ { "rom", 357 }, yading@11: /*0358*/ { "rum", 500 }, yading@11: /*0359*/ { "run", 637 }, yading@11: /*0360*/ { "rup", 360 }, yading@11: /*0361*/ { "rus", 639 }, yading@11: /*0362*/ { "sad", 362 }, yading@11: /*0363*/ { "sag", 645 }, yading@11: /*0364*/ { "sah", 364 }, yading@11: /*0365*/ { "sai", 365 }, yading@11: /*0366*/ { "sal", 366 }, yading@11: /*0367*/ { "sam", 367 }, yading@11: /*0368*/ { "san", 641 }, yading@11: /*0369*/ { "sas", 369 }, yading@11: /*0370*/ { "sat", 370 }, yading@11: /*0371*/ { "scn", 371 }, yading@11: /*0372*/ { "sco", 372 }, yading@11: /*0373*/ { "sel", 373 }, yading@11: /*0374*/ { "sem", 374 }, yading@11: /*0375*/ { "sga", 375 }, yading@11: /*0376*/ { "sgn", 376 }, yading@11: /*0377*/ { "shn", 377 }, yading@11: /*0378*/ { "sid", 378 }, yading@11: /*0379*/ { "sin", 646 }, yading@11: /*0380*/ { "sio", 380 }, yading@11: /*0381*/ { "sit", 381 }, yading@11: /*0382*/ { "sla", 382 }, yading@11: /*0383*/ { "slo", 501 }, yading@11: /*0384*/ { "slv", 648 }, yading@11: /*0385*/ { "sma", 385 }, yading@11: /*0386*/ { "sme", 644 }, yading@11: /*0387*/ { "smi", 387 }, yading@11: /*0388*/ { "smj", 388 }, yading@11: /*0389*/ { "smn", 389 }, yading@11: /*0390*/ { "smo", 649 }, yading@11: /*0391*/ { "sms", 391 }, yading@11: /*0392*/ { "sna", 650 }, yading@11: /*0393*/ { "snd", 643 }, yading@11: /*0394*/ { "snk", 394 }, yading@11: /*0395*/ { "sog", 395 }, yading@11: /*0396*/ { "som", 651 }, yading@11: /*0397*/ { "son", 397 }, yading@11: /*0398*/ { "sot", 655 }, yading@11: /*0399*/ { "spa", 543 }, yading@11: /*0400*/ { "srd", 642 }, yading@11: /*0401*/ { "srn", 401 }, yading@11: /*0402*/ { "srp", 653 }, yading@11: /*0403*/ { "srr", 403 }, yading@11: /*0404*/ { "ssa", 404 }, yading@11: /*0405*/ { "ssw", 654 }, yading@11: /*0406*/ { "suk", 406 }, yading@11: /*0407*/ { "sun", 656 }, yading@11: /*0408*/ { "sus", 408 }, yading@11: /*0409*/ { "sux", 409 }, yading@11: /*0410*/ { "swa", 658 }, yading@11: /*0411*/ { "swe", 657 }, yading@11: /*0412*/ { "syc", 412 }, yading@11: /*0413*/ { "syr", 413 }, yading@11: /*0414*/ { "tah", 672 }, yading@11: /*0415*/ { "tai", 415 }, yading@11: /*0416*/ { "tam", 659 }, yading@11: /*0417*/ { "tat", 670 }, yading@11: /*0418*/ { "tel", 660 }, yading@11: /*0419*/ { "tem", 419 }, yading@11: /*0420*/ { "ter", 420 }, yading@11: /*0421*/ { "tet", 421 }, yading@11: /*0422*/ { "tgk", 661 }, yading@11: /*0423*/ { "tgl", 665 }, yading@11: /*0424*/ { "tha", 662 }, yading@11: /*0425*/ { "tib", 484 }, yading@11: /*0426*/ { "tig", 426 }, yading@11: /*0427*/ { "tir", 663 }, yading@11: /*0428*/ { "tiv", 428 }, yading@11: /*0429*/ { "tkl", 429 }, yading@11: /*0430*/ { "tlh", 430 }, yading@11: /*0431*/ { "tli", 431 }, yading@11: /*0432*/ { "tmh", 432 }, yading@11: /*0433*/ { "tog", 433 }, yading@11: /*0434*/ { "ton", 667 }, yading@11: /*0435*/ { "tpi", 435 }, yading@11: /*0436*/ { "tsi", 436 }, yading@11: /*0437*/ { "tsn", 666 }, yading@11: /*0438*/ { "tso", 669 }, yading@11: /*0439*/ { "tuk", 664 }, yading@11: /*0440*/ { "tum", 440 }, yading@11: /*0441*/ { "tup", 441 }, yading@11: /*0442*/ { "tur", 668 }, yading@11: /*0443*/ { "tut", 443 }, yading@11: /*0444*/ { "tvl", 444 }, yading@11: /*0445*/ { "twi", 671 }, yading@11: /*0446*/ { "tyv", 446 }, yading@11: /*0447*/ { "udm", 447 }, yading@11: /*0448*/ { "uga", 448 }, yading@11: /*0449*/ { "uig", 673 }, yading@11: /*0450*/ { "ukr", 674 }, yading@11: /*0451*/ { "umb", 451 }, yading@11: /*0452*/ { "und", 452 }, yading@11: /*0453*/ { "urd", 675 }, yading@11: /*0454*/ { "uzb", 676 }, yading@11: /*0455*/ { "vai", 455 }, yading@11: /*0456*/ { "ven", 677 }, yading@11: /*0457*/ { "vie", 678 }, yading@11: /*0458*/ { "vol", 679 }, yading@11: /*0459*/ { "vot", 459 }, yading@11: /*0460*/ { "wak", 460 }, yading@11: /*0461*/ { "wal", 461 }, yading@11: /*0462*/ { "war", 462 }, yading@11: /*0463*/ { "was", 463 }, yading@11: /*0464*/ { "wel", 486 }, yading@11: /*0465*/ { "wen", 465 }, yading@11: /*0466*/ { "wln", 680 }, yading@11: /*0467*/ { "wol", 681 }, yading@11: /*0468*/ { "xal", 468 }, yading@11: /*0469*/ { "xho", 682 }, yading@11: /*0470*/ { "yao", 470 }, yading@11: /*0471*/ { "yap", 471 }, yading@11: /*0472*/ { "yid", 683 }, yading@11: /*0473*/ { "yor", 684 }, yading@11: /*0474*/ { "ypk", 474 }, yading@11: /*0475*/ { "zap", 475 }, yading@11: /*0476*/ { "zbl", 476 }, yading@11: /*0477*/ { "zen", 477 }, yading@11: /*0478*/ { "zha", 685 }, yading@11: /*0479*/ { "znd", 479 }, yading@11: /*0480*/ { "zul", 687 }, yading@11: /*0481*/ { "zun", 481 }, yading@11: /*0482*/ { "zxx", 482 }, yading@11: /*0483*/ { "zza", 483 }, yading@11: /*----- AV_LANG_ISO639_2_TERM entries (20) -----*/ yading@11: /*0484*/ { "bod", 523 }, yading@11: /*0485*/ { "ces", 531 }, yading@11: /*0486*/ { "cym", 534 }, yading@11: /*0487*/ { "deu", 536 }, yading@11: /*0488*/ { "ell", 540 }, yading@11: /*0489*/ { "eus", 545 }, yading@11: /*0490*/ { "fas", 546 }, yading@11: /*0491*/ { "fra", 551 }, yading@11: /*0492*/ { "hye", 566 }, yading@11: /*0493*/ { "isl", 575 }, yading@11: /*0494*/ { "kat", 580 }, yading@11: /*0495*/ { "mkd", 607 }, yading@11: /*0496*/ { "mri", 606 }, yading@11: /*0497*/ { "msa", 611 }, yading@11: /*0498*/ { "mya", 613 }, yading@11: /*0499*/ { "nld", 619 }, yading@11: /*0500*/ { "ron", 638 }, yading@11: /*0501*/ { "slk", 647 }, yading@11: /*0502*/ { "sqi", 652 }, yading@11: /*0503*/ { "zho", 686 }, yading@11: /*----- AV_LANG_ISO639_1 entries (184) -----*/ yading@11: /*0504*/ { "aa" , 0 }, yading@11: /*0505*/ { "ab" , 1 }, yading@11: /*0506*/ { "ae" , 33 }, yading@11: /*0507*/ { "af" , 8 }, yading@11: /*0508*/ { "ak" , 10 }, yading@11: /*0509*/ { "am" , 16 }, yading@11: /*0510*/ { "an" , 22 }, yading@11: /*0511*/ { "ar" , 20 }, yading@11: /*0512*/ { "as" , 28 }, yading@11: /*0513*/ { "av" , 32 }, yading@11: /*0514*/ { "ay" , 35 }, yading@11: /*0515*/ { "az" , 36 }, yading@11: /*0516*/ { "ba" , 39 }, yading@11: /*0517*/ { "be" , 47 }, yading@11: /*0518*/ { "bg" , 64 }, yading@11: /*0519*/ { "bh" , 52 }, yading@11: /*0520*/ { "bi" , 55 }, yading@11: /*0521*/ { "bm" , 41 }, yading@11: /*0522*/ { "bn" , 49 }, yading@11: /*0523*/ { "bo" , 425 }, yading@11: /*0524*/ { "br" , 60 }, yading@11: /*0525*/ { "bs" , 58 }, yading@11: /*0526*/ { "ca" , 70 }, yading@11: /*0527*/ { "ce" , 76 }, yading@11: /*0528*/ { "ch" , 74 }, yading@11: /*0529*/ { "co" , 91 }, yading@11: /*0530*/ { "cr" , 95 }, yading@11: /*0531*/ { "cs" , 100 }, yading@11: /*0532*/ { "cu" , 85 }, yading@11: /*0533*/ { "cv" , 86 }, yading@11: /*0534*/ { "cy" , 464 }, yading@11: /*0535*/ { "da" , 102 }, yading@11: /*0536*/ { "de" , 149 }, yading@11: /*0537*/ { "dv" , 109 }, yading@11: /*0538*/ { "dz" , 117 }, yading@11: /*0539*/ { "ee" , 126 }, yading@11: /*0540*/ { "el" , 163 }, yading@11: /*0541*/ { "en" , 122 }, yading@11: /*0542*/ { "eo" , 124 }, yading@11: /*0543*/ { "es" , 399 }, yading@11: /*0544*/ { "et" , 125 }, yading@11: /*0545*/ { "eu" , 43 }, yading@11: /*0546*/ { "fa" , 341 }, yading@11: /*0547*/ { "ff" , 142 }, yading@11: /*0548*/ { "fi" , 133 }, yading@11: /*0549*/ { "fj" , 131 }, yading@11: /*0550*/ { "fo" , 129 }, yading@11: /*0551*/ { "fr" , 136 }, yading@11: /*0552*/ { "fy" , 141 }, yading@11: /*0553*/ { "ga" , 153 }, yading@11: /*0554*/ { "gd" , 152 }, yading@11: /*0555*/ { "gl" , 154 }, yading@11: /*0556*/ { "gn" , 164 }, yading@11: /*0557*/ { "gu" , 166 }, yading@11: /*0558*/ { "gv" , 155 }, yading@11: /*0559*/ { "ha" , 170 }, yading@11: /*0560*/ { "he" , 172 }, yading@11: /*0561*/ { "hi" , 176 }, yading@11: /*0562*/ { "ho" , 179 }, yading@11: /*0563*/ { "hr" , 180 }, yading@11: /*0564*/ { "ht" , 169 }, yading@11: /*0565*/ { "hu" , 182 }, yading@11: /*0566*/ { "hy" , 23 }, yading@11: /*0567*/ { "hz" , 173 }, yading@11: /*0568*/ { "ia" , 193 }, yading@11: /*0569*/ { "id" , 195 }, yading@11: /*0570*/ { "ie" , 191 }, yading@11: /*0571*/ { "ig" , 185 }, yading@11: /*0572*/ { "ii" , 188 }, yading@11: /*0573*/ { "ik" , 198 }, yading@11: /*0574*/ { "io" , 187 }, yading@11: /*0575*/ { "is" , 186 }, yading@11: /*0576*/ { "it" , 201 }, yading@11: /*0577*/ { "iu" , 190 }, yading@11: /*0578*/ { "ja" , 204 }, yading@11: /*0579*/ { "jv" , 202 }, yading@11: /*0580*/ { "ka" , 148 }, yading@11: /*0581*/ { "kg" , 229 }, yading@11: /*0582*/ { "ki" , 223 }, yading@11: /*0583*/ { "kj" , 237 }, yading@11: /*0584*/ { "kk" , 217 }, yading@11: /*0585*/ { "kl" , 210 }, yading@11: /*0586*/ { "km" , 221 }, yading@11: /*0587*/ { "kn" , 212 }, yading@11: /*0588*/ { "ko" , 230 }, yading@11: /*0589*/ { "kr" , 215 }, yading@11: /*0590*/ { "ks" , 214 }, yading@11: /*0591*/ { "ku" , 239 }, yading@11: /*0592*/ { "kv" , 228 }, yading@11: /*0593*/ { "kw" , 90 }, yading@11: /*0594*/ { "ky" , 225 }, yading@11: /*0595*/ { "la" , 245 }, yading@11: /*0596*/ { "lb" , 253 }, yading@11: /*0597*/ { "lg" , 256 }, yading@11: /*0598*/ { "li" , 248 }, yading@11: /*0599*/ { "ln" , 249 }, yading@11: /*0600*/ { "lo" , 244 }, yading@11: /*0601*/ { "lt" , 250 }, yading@11: /*0602*/ { "lu" , 255 }, yading@11: /*0603*/ { "lv" , 246 }, yading@11: /*0604*/ { "mg" , 282 }, yading@11: /*0605*/ { "mh" , 264 }, yading@11: /*0606*/ { "mi" , 269 }, yading@11: /*0607*/ { "mk" , 261 }, yading@11: /*0608*/ { "ml" , 267 }, yading@11: /*0609*/ { "mn" , 288 }, yading@11: /*0610*/ { "mr" , 271 }, yading@11: /*0611*/ { "ms" , 273 }, yading@11: /*0612*/ { "mt" , 283 }, yading@11: /*0613*/ { "my" , 65 }, yading@11: /*0614*/ { "na" , 300 }, yading@11: /*0615*/ { "nb" , 312 }, yading@11: /*0616*/ { "nd" , 303 }, yading@11: /*0617*/ { "ne" , 306 }, yading@11: /*0618*/ { "ng" , 304 }, yading@11: /*0619*/ { "nl" , 115 }, yading@11: /*0620*/ { "nn" , 311 }, yading@11: /*0621*/ { "no" , 315 }, yading@11: /*0622*/ { "nr" , 302 }, yading@11: /*0623*/ { "nv" , 301 }, yading@11: /*0624*/ { "ny" , 320 }, yading@11: /*0625*/ { "oc" , 325 }, yading@11: /*0626*/ { "oj" , 326 }, yading@11: /*0627*/ { "om" , 328 }, yading@11: /*0628*/ { "or" , 327 }, yading@11: /*0629*/ { "os" , 330 }, yading@11: /*0630*/ { "pa" , 337 }, yading@11: /*0631*/ { "pi" , 344 }, yading@11: /*0632*/ { "pl" , 345 }, yading@11: /*0633*/ { "ps" , 350 }, yading@11: /*0634*/ { "pt" , 347 }, yading@11: /*0635*/ { "qu" , 351 }, yading@11: /*0636*/ { "rm" , 356 }, yading@11: /*0637*/ { "rn" , 359 }, yading@11: /*0638*/ { "ro" , 358 }, yading@11: /*0639*/ { "ru" , 361 }, yading@11: /*0640*/ { "rw" , 224 }, yading@11: /*0641*/ { "sa" , 368 }, yading@11: /*0642*/ { "sc" , 400 }, yading@11: /*0643*/ { "sd" , 393 }, yading@11: /*0644*/ { "se" , 386 }, yading@11: /*0645*/ { "sg" , 363 }, yading@11: /*0646*/ { "si" , 379 }, yading@11: /*0647*/ { "sk" , 383 }, yading@11: /*0648*/ { "sl" , 384 }, yading@11: /*0649*/ { "sm" , 390 }, yading@11: /*0650*/ { "sn" , 392 }, yading@11: /*0651*/ { "so" , 396 }, yading@11: /*0652*/ { "sq" , 12 }, yading@11: /*0653*/ { "sr" , 402 }, yading@11: /*0654*/ { "ss" , 405 }, yading@11: /*0655*/ { "st" , 398 }, yading@11: /*0656*/ { "su" , 407 }, yading@11: /*0657*/ { "sv" , 411 }, yading@11: /*0658*/ { "sw" , 410 }, yading@11: /*0659*/ { "ta" , 416 }, yading@11: /*0660*/ { "te" , 418 }, yading@11: /*0661*/ { "tg" , 422 }, yading@11: /*0662*/ { "th" , 424 }, yading@11: /*0663*/ { "ti" , 427 }, yading@11: /*0664*/ { "tk" , 439 }, yading@11: /*0665*/ { "tl" , 423 }, yading@11: /*0666*/ { "tn" , 437 }, yading@11: /*0667*/ { "to" , 434 }, yading@11: /*0668*/ { "tr" , 442 }, yading@11: /*0669*/ { "ts" , 438 }, yading@11: /*0670*/ { "tt" , 417 }, yading@11: /*0671*/ { "tw" , 445 }, yading@11: /*0672*/ { "ty" , 414 }, yading@11: /*0673*/ { "ug" , 449 }, yading@11: /*0674*/ { "uk" , 450 }, yading@11: /*0675*/ { "ur" , 453 }, yading@11: /*0676*/ { "uz" , 454 }, yading@11: /*0677*/ { "ve" , 456 }, yading@11: /*0678*/ { "vi" , 457 }, yading@11: /*0679*/ { "vo" , 458 }, yading@11: /*0680*/ { "wa" , 466 }, yading@11: /*0681*/ { "wo" , 467 }, yading@11: /*0682*/ { "xh" , 469 }, yading@11: /*0683*/ { "yi" , 472 }, yading@11: /*0684*/ { "yo" , 473 }, yading@11: /*0685*/ { "za" , 478 }, yading@11: /*0686*/ { "zh" , 78 }, yading@11: /*0687*/ { "zu" , 480 }, yading@11: { "", 0 } yading@11: }; yading@11: yading@11: static int lang_table_compare(const void *lhs, const void *rhs) yading@11: { yading@11: return strcmp(lhs, ((const LangEntry *)rhs)->str); yading@11: } yading@11: yading@11: const char *av_convert_lang_to(const char *lang, enum AVLangCodespace target_codespace) yading@11: { yading@11: int i; yading@11: const LangEntry *entry = NULL; yading@11: const int NB_CODESPACES = FF_ARRAY_ELEMS(lang_table_counts); yading@11: yading@11: if (target_codespace >= NB_CODESPACES) yading@11: return NULL; yading@11: yading@11: for (i=0; !entry && i= lang_table + lang_table_offsets[target_codespace] && yading@11: entry < lang_table + lang_table_offsets[target_codespace] + lang_table_counts[target_codespace]) yading@11: return entry->str; yading@11: else yading@11: entry = lang_table + entry->next_equivalent; yading@11: yading@11: if (target_codespace == AV_LANG_ISO639_2_TERM) yading@11: return av_convert_lang_to(lang, AV_LANG_ISO639_2_BIBL); yading@11: yading@11: return NULL; yading@11: }