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