diff options
author | jstebbins <[email protected]> | 2014-08-18 17:22:30 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2014-08-18 17:22:30 +0000 |
commit | c548eb0cb8c86031541afaad848023fc8f4ff55a (patch) | |
tree | 95a2293b59a8289fa179fb19f52699aee024aae1 /contrib | |
parent | 748126d08ba751d866f2d0140d04d4d08346cdf3 (diff) |
build: remove mp4v2 and libmkv dependencies
...and enable x265 by default
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6309 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/ffmpeg/module.defs | 2 | ||||
-rw-r--r-- | contrib/libmkv/A00-private-data-offset.patch | 12 | ||||
-rw-r--r-- | contrib/libmkv/A01-hbmv-pgs.patch | 12 | ||||
-rw-r--r-- | contrib/libmkv/A02-audio-out-sampling-freq.patch | 28 | ||||
-rw-r--r-- | contrib/libmkv/P00-mingw-large-file.patch | 24 | ||||
-rw-r--r-- | contrib/libmkv/module.defs | 14 | ||||
-rw-r--r-- | contrib/libmkv/module.rules | 2 | ||||
-rw-r--r-- | contrib/mp4v2/A00-nero-vobsub.patch | 142 | ||||
-rw-r--r-- | contrib/mp4v2/A01-divide-zero.patch | 22 | ||||
-rw-r--r-- | contrib/mp4v2/A02-meaningful-4gb-warning.patch | 14 | ||||
-rw-r--r-- | contrib/mp4v2/A03-clang.patch | 1472 | ||||
-rw-r--r-- | contrib/mp4v2/P00-mingw-dllimport.patch | 11 | ||||
-rw-r--r-- | contrib/mp4v2/module.defs | 18 | ||||
-rw-r--r-- | contrib/mp4v2/module.rules | 2 |
14 files changed, 0 insertions, 1775 deletions
diff --git a/contrib/ffmpeg/module.defs b/contrib/ffmpeg/module.defs index a86671db3..9956083f4 100644 --- a/contrib/ffmpeg/module.defs +++ b/contrib/ffmpeg/module.defs @@ -47,7 +47,6 @@ FFMPEG.CONFIGURE.extra += \ --enable-encoder=libfdk_aac endif -ifeq (1,$(FEATURE.avformat)) FFMPEG.CONFIGURE.extra += \ --enable-muxer=matroska \ --enable-muxer=webm \ @@ -55,7 +54,6 @@ FFMPEG.CONFIGURE.extra += \ --enable-muxer=mp4 \ --enable-muxer=psp \ --enable-muxer=ipod -endif ## check against tuple: B-SYSTEM where B is { 0 | 1 } for cross-compiling flag ifeq (0-cygwin,$(BUILD.cross)-$(BUILD.system)) diff --git a/contrib/libmkv/A00-private-data-offset.patch b/contrib/libmkv/A00-private-data-offset.patch deleted file mode 100644 index beddda548..000000000 --- a/contrib/libmkv/A00-private-data-offset.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/matroska.c b/src/matroska.c -index 45d5b1e..faa29d2 100644 ---- a/src/matroska.c -+++ b/src/matroska.c -@@ -174,6 +174,7 @@ int mk_writeHeader(mk_Writer *w, const char *writingApp) - w->seek_data.tracks = w->root->d_cur - w->segment_ptr; - - if (w->tracks) { -+ offset = 0; - CHECK(mk_closeContext(w->tracks, &offset)); - for (i = 0; i < w->num_tracks; i++) { - tk = w->tracks_arr[i]; diff --git a/contrib/libmkv/A01-hbmv-pgs.patch b/contrib/libmkv/A01-hbmv-pgs.patch deleted file mode 100644 index 9f863cac4..000000000 --- a/contrib/libmkv/A01-hbmv-pgs.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/include/libmkv.h b/include/libmkv.h -index 146a91f..f03d608 100644 ---- a/include/libmkv.h -+++ b/include/libmkv.h -@@ -94,6 +94,7 @@ extern "C" { - #define MK_SUBTITLE_USF "S_TEXT/USF" - #define MK_SUBTITLE_VOBSUB "S_VOBSUB" - #define MK_SUBTITLE_BMP "S_IMAGE/BMP" -+#define MK_SUBTITLE_PGS "S_HDMV/PGS" - - /* Official Tags */ - #define MK_TAG_TITLE "TITLE" diff --git a/contrib/libmkv/A02-audio-out-sampling-freq.patch b/contrib/libmkv/A02-audio-out-sampling-freq.patch deleted file mode 100644 index ea31957c1..000000000 --- a/contrib/libmkv/A02-audio-out-sampling-freq.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/include/libmkv.h b/include/libmkv.h -index 146a91f..f03d608 100644 ---- a/include/libmkv.h -+++ b/include/libmkv.h -@@ -203,6 +204,7 @@ struct mk_TrackConfig_s { - } video; - struct { - float samplingFreq; /* Sampling Frequency in Hz */ -+ float outputSamplingFreq; /* Playback Sampling Frequency in Hz (e.g. for AAC w/SBR) */ - unsigned channels; /* Number of channels for this track */ - unsigned bitDepth; /* Bits per sample (PCM) */ - } audio; -diff --git a/src/tracks.c b/src/tracks.c -index f9c7e48..a2a60ca 100644 ---- a/src/tracks.c -+++ b/src/tracks.c -@@ -174,6 +174,11 @@ mk_Track *mk_createTrack(mk_Writer *w, mk_TrackConfig *tc) - /* SamplingFrequency */ - if (mk_writeFloat(v, MATROSKA_ID_AUDIOSAMPLINGFREQ, tc->extra.audio.samplingFreq) < 0) - return NULL; -+ if (tc->extra.audio.outputSamplingFreq) { -+ /* Output SamplingFrequency */ -+ if (mk_writeFloat(v, MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, tc->extra.audio.outputSamplingFreq) < 0) -+ return NULL; -+ } - /* Channels */ - if (mk_writeUInt(v, MATROSKA_ID_AUDIOCHANNELS, tc->extra.audio.channels) < 0) - return NULL; diff --git a/contrib/libmkv/P00-mingw-large-file.patch b/contrib/libmkv/P00-mingw-large-file.patch deleted file mode 100644 index 6a83eacca..000000000 --- a/contrib/libmkv/P00-mingw-large-file.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- libmkv.orig/src/matroska.c 2009-01-12 23:14:26.000000000 -0800 -+++ libmkv/src/matroska.c 2009-03-25 15:22:30.000000000 -0700 -@@ -27,6 +27,11 @@ - - #include <sys/time.h> - -+#if defined( __MINGW32__ ) -+#undef fseeko -+#define fseeko fseeko64 -+#endif -+ - #define RESERVED_SEEKHEAD 0x100 - /* 256 bytes should be enough room for our Seek entries. */ - #define RESERVED_CHAPTERS 0x800 -@@ -34,7 +39,7 @@ - - int mk_seekFile(mk_Writer *w, uint64_t pos) - { -- if (fseek(w->fp, pos, SEEK_SET)) -+ if (fseeko(w->fp, pos, SEEK_SET)) - return -1; - - w->f_pos = pos; - diff --git a/contrib/libmkv/module.defs b/contrib/libmkv/module.defs deleted file mode 100644 index 083895e19..000000000 --- a/contrib/libmkv/module.defs +++ /dev/null @@ -1,14 +0,0 @@ -$(eval $(call import.MODULE.defs,LIBMKV,libmkv)) -$(eval $(call import.CONTRIB.defs,LIBMKV)) - -LIBMKV.FETCH.url = http://download.handbrake.fr/handbrake/contrib/libmkv-0.6.5-0-g82075ae.tar.gz - -LIBMKV.CONFIGURE.bootstrap = rm -fr aclocal.m4 autom4te.cache; mkdir m4; autoreconf -fiv; - -ifeq (mingw,$(BUILD.system)) - LIBMKV.GCC.D += random=rand srandom=srand -endif - -## optional static libs need to be marked -LIBMKV.OSL.libs = mkv -LIBMKV.OSL.files = $(foreach i,$(LIBMKV.OSL.libs),$(call fn.ABSOLUTE,$(CONTRIB.build/)lib/lib$(i).a)) diff --git a/contrib/libmkv/module.rules b/contrib/libmkv/module.rules deleted file mode 100644 index 7f443fe04..000000000 --- a/contrib/libmkv/module.rules +++ /dev/null @@ -1,2 +0,0 @@ -$(eval $(call import.MODULE.rules,LIBMKV)) -$(eval $(call import.CONTRIB.rules,LIBMKV)) diff --git a/contrib/mp4v2/A00-nero-vobsub.patch b/contrib/mp4v2/A00-nero-vobsub.patch deleted file mode 100644 index beb8be6d8..000000000 --- a/contrib/mp4v2/A00-nero-vobsub.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff -Naur mp4v2-trunk-r355/include/mp4v2/general.h mp4v2-trunk-r355/include/mp4v2/general.h ---- mp4v2-trunk-r355/include/mp4v2/general.h 2009-05-23 06:09:58.000000000 -0700 -+++ mp4v2-trunk-r355/include/mp4v2/general.h 2010-05-23 14:22:21.949288657 -0700 -@@ -75,6 +75,7 @@ - #define MP4_CNTL_TRACK_TYPE "cntl" /**< Constant: control track. */ - #define MP4_TEXT_TRACK_TYPE "text" /**< Constant: text track. */ - #define MP4_SUBTITLE_TRACK_TYPE "sbtl" /**< Constant: subtitle track. */ -+#define MP4_SUBPIC_TRACK_TYPE "subp" /**< Constant: subtitle track. */ - /* - * This second set of track types should be created - * via MP4AddSystemsTrack(type) -diff -Naur mp4v2-trunk-r355/include/mp4v2/track.h mp4v2-trunk-r355/include/mp4v2/track.h ---- mp4v2-trunk-r355/include/mp4v2/track.h 2009-05-23 06:21:49.000000000 -0700 -+++ mp4v2-trunk-r355/include/mp4v2/track.h 2010-05-23 15:43:47.249286008 -0700 -@@ -310,6 +310,13 @@ - uint16_t height ); - - MP4V2_EXPORT -+MP4TrackId MP4AddSubpicTrack( -+ MP4FileHandle hFile, -+ uint32_t timescale, -+ uint16_t width, -+ uint16_t height ); -+ -+MP4V2_EXPORT - MP4TrackId MP4AddPixelAspectRatio( - MP4FileHandle hFile, - MP4TrackId refTrackId, -diff -Naur mp4v2-trunk-r355/src/descriptors.h mp4v2-trunk-r355/src/descriptors.h ---- mp4v2-trunk-r355/src/descriptors.h 2009-05-20 19:52:32.000000000 -0700 -+++ mp4v2-trunk-r355/src/descriptors.h 2010-05-23 16:29:34.800935677 -0700 -@@ -119,6 +119,7 @@ - // ES objectTypeId - const uint8_t MP4SystemsV1ObjectType = 0x01; - const uint8_t MP4SystemsV2ObjectType = 0x02; -+const uint8_t MP4SubpicObjectType = 0xe0; - - // ES streamType - const uint8_t MP4ObjectDescriptionStreamType = 0x01; -@@ -131,6 +132,7 @@ - const uint8_t MP4OCIStreamType = 0x08; - const uint8_t MP4MPEGJStreamType = 0x09; - const uint8_t MP4UserPrivateStreamType = 0x20; -+const uint8_t MP4NeroSubpicStreamType = 0x38; - - /////////////////////////////////////////////////////////////////////////////// - -diff -Naur mp4v2-trunk-r355/src/mp4.cpp mp4v2-trunk-r355/src/mp4.cpp ---- mp4v2-trunk-r355/src/mp4.cpp 2009-05-23 06:29:37.000000000 -0700 -+++ mp4v2-trunk-r355/src/mp4.cpp 2010-05-23 15:45:28.852222074 -0700 -@@ -1174,6 +1174,23 @@ - return MP4_INVALID_TRACK_ID; - } - -+ MP4TrackId MP4AddSubpicTrack(MP4FileHandle hFile, -+ uint32_t timescale, -+ uint16_t width, -+ uint16_t height) -+ { -+ if (MP4_IS_VALID_FILE_HANDLE(hFile)) { -+ try { -+ return ((MP4File*)hFile)->AddSubpicTrack(timescale, width, height); -+ } -+ catch (MP4Error* e) { -+ PRINT_ERROR(e); -+ delete e; -+ } -+ } -+ return MP4_INVALID_TRACK_ID; -+ } -+ - MP4TrackId MP4AddChapterTextTrack( - MP4FileHandle hFile, MP4TrackId refTrackId, uint32_t timescale) - { -diff -Naur mp4v2-trunk-r355/src/mp4file.cpp mp4v2-trunk-r355/src/mp4file.cpp ---- mp4v2-trunk-r355/src/mp4file.cpp 2009-05-26 19:34:56.000000000 -0700 -+++ mp4v2-trunk-r355/src/mp4file.cpp 2010-05-23 16:32:52.654220633 -0700 -@@ -2095,6 +2095,50 @@ - return trackId; - } - -+MP4TrackId MP4File::AddSubpicTrack(uint32_t timescale, -+ uint16_t width, -+ uint16_t height) -+{ -+ MP4TrackId trackId = -+ AddTrack(MP4_SUBPIC_TRACK_TYPE, timescale); -+ -+ InsertChildAtom(MakeTrackName(trackId, "mdia.minf"), "nmhd", 0); -+ -+ (void)AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd"), "mp4s"); -+ -+ SetTrackFloatProperty(trackId, "tkhd.width", width); -+ SetTrackFloatProperty(trackId, "tkhd.height", height); -+ SetTrackIntegerProperty(trackId, "tkhd.layer", 0); -+ -+ // stsd is a unique beast in that it has a count of the number -+ // of child atoms that needs to be incremented after we add the mp4s atom -+ MP4Integer32Property* pStsdCountProperty; -+ FindIntegerProperty( -+ MakeTrackName(trackId, "mdia.minf.stbl.stsd.entryCount"), -+ (MP4Property**)&pStsdCountProperty); -+ pStsdCountProperty->IncrementValue(); -+ -+ SetTrackIntegerProperty(trackId, -+ "mdia.minf.stbl.stsd.mp4s.esds.ESID", -+#if 0 -+ // note - for a file, these values need to -+ // be 0 - wmay - 04/16/2003 -+ trackId -+#else -+ 0 -+#endif -+ ); -+ -+ SetTrackIntegerProperty(trackId, -+ "mdia.minf.stbl.stsd.mp4s.esds.decConfigDescr.objectTypeId", -+ MP4SubpicObjectType); -+ -+ SetTrackIntegerProperty(trackId, -+ "mdia.minf.stbl.stsd.mp4s.esds.decConfigDescr.streamType", -+ MP4NeroSubpicStreamType); -+ return trackId; -+} -+ - MP4TrackId MP4File::AddChapterTextTrack(MP4TrackId refTrackId, uint32_t timescale) - { - // validate reference track id -diff -Naur mp4v2-trunk-r355/src/mp4file.h mp4v2-trunk-r355/src/mp4file.h ---- mp4v2-trunk-r355/src/mp4file.h 2009-05-23 06:29:37.000000000 -0700 -+++ mp4v2-trunk-r355/src/mp4file.h 2010-05-23 15:44:57.568026299 -0700 -@@ -388,6 +388,10 @@ - uint16_t width, - uint16_t height); - -+ MP4TrackId AddSubpicTrack(uint32_t timescale, -+ uint16_t width, -+ uint16_t height); -+ - MP4TrackId AddPixelAspectRatio(MP4TrackId trackId, uint32_t hSpacing, uint32_t vSpacing); - MP4TrackId AddColr(MP4TrackId trackId, uint16_t pri, uint16_t tran, uint16_t mat); - diff --git a/contrib/mp4v2/A01-divide-zero.patch b/contrib/mp4v2/A01-divide-zero.patch deleted file mode 100644 index 4d6aa4d2a..000000000 --- a/contrib/mp4v2/A01-divide-zero.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- mp4v2-r355/src/mp4track.cpp 2012-01-05 15:44:29.000000000 +0100 -+++ mp4v2-r355/src/mp4track.cpp 2012-01-05 15:47:34.000000000 +0100 -@@ -819,13 +819,14 @@ - (thisSecStart + timeScale) - lastSampleTime; - // calculate the duration of the last sample - MP4Duration lastSampleDur = sampleTime - lastSampleTime; -- uint32_t overflow_bytes; - // now, calculate the number of bytes we overflowed. Round up. -- overflow_bytes = -- ((lastSampleSize * overflow_dur) + (lastSampleDur - 1)) / lastSampleDur; -+ if( lastSampleDur > 0 ) { -+ uint32_t overflow_bytes = 0; -+ overflow_bytes = ((lastSampleSize * overflow_dur) + (lastSampleDur - 1)) / lastSampleDur; - -- if (bytesThisSec - overflow_bytes > maxBytesPerSec) { -- maxBytesPerSec = bytesThisSec - overflow_bytes; -+ if (bytesThisSec - overflow_bytes > maxBytesPerSec) { -+ maxBytesPerSec = bytesThisSec - overflow_bytes; -+ } - } - - // now adjust the values for this sample. Remove the bytes diff --git a/contrib/mp4v2/A02-meaningful-4gb-warning.patch b/contrib/mp4v2/A02-meaningful-4gb-warning.patch deleted file mode 100644 index 987298bd5..000000000 --- a/contrib/mp4v2/A02-meaningful-4gb-warning.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Naur mp4v2-trunk-r355/src/mp4atom.cpp mp4v2-trunk-r355/src/mp4atom.cpp ---- mp4v2-trunk-r355/src/mp4atom.cpp 2012-02-21 19:40:03.000000000 +0100 -+++ mp4v2-trunk-r355/src/mp4atom.cpp 2012-02-21 19:36:38.000000000 +0100 -@@ -543,6 +543,10 @@ - m_pFile->SetPosition(m_start + 8); - m_pFile->WriteUInt64(m_size); - } else { -+ if (!(m_size <= (uint64_t)0xFFFFFFFF)) { -+ // Let the user know what the following assert is all about -+ fprintf(stderr, "MP4ERROR: File size exceeded 4 GB; output unplayable. Enable \"Large file size\" to fix it.\n"); -+ } - ASSERT(m_size <= (uint64_t)0xFFFFFFFF); - m_pFile->SetPosition(m_start); - m_pFile->WriteUInt32(m_size); diff --git a/contrib/mp4v2/A03-clang.patch b/contrib/mp4v2/A03-clang.patch deleted file mode 100644 index 73fec39df..000000000 --- a/contrib/mp4v2/A03-clang.patch +++ /dev/null @@ -1,1472 +0,0 @@ -diff --git mp4v2-trunk-r355/src/bmff/typebmff.cpp mp4v2-trunk-r355/src/bmff/typebmff.cpp -index c34f831..f917069 100644 ---- mp4v2-trunk-r355/src/bmff/typebmff.cpp -+++ mp4v2-trunk-r355/src/bmff/typebmff.cpp -@@ -23,518 +23,507 @@ - - #include "impl.h" - --// VStudio idiocy prevents defining template instanced static data --// in a namespace. Workaround it by defining in global scope. --// Other platforms will continue to put things in the proper namespace. --#if defined( _MSC_VER ) --using namespace mp4v2::impl::bmff; --#else --namespace mp4v2 { namespace impl { namespace bmff { --#endif -+namespace mp4v2 { namespace impl { - - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumLanguageCode::Entry EnumLanguageCode::data[] = { -- { mp4v2::impl::bmff::ILC_AAR, "aar", "Afar" }, -- { mp4v2::impl::bmff::ILC_ABK, "abk", "Abkhazian" }, -- { mp4v2::impl::bmff::ILC_ACE, "ace", "Achinese" }, -- { mp4v2::impl::bmff::ILC_ACH, "ach", "Acoli" }, -- { mp4v2::impl::bmff::ILC_ADA, "ada", "Adangme" }, -- { mp4v2::impl::bmff::ILC_ADY, "ady", "Adyghe; Adygei" }, -- { mp4v2::impl::bmff::ILC_AFA, "afa", "Afro-Asiatic (Other)" }, -- { mp4v2::impl::bmff::ILC_AFH, "afh", "Afrihili" }, -- { mp4v2::impl::bmff::ILC_AFR, "afr", "Afrikaans" }, -- { mp4v2::impl::bmff::ILC_AIN, "ain", "Ainu" }, -- { mp4v2::impl::bmff::ILC_AKA, "aka", "Akan" }, -- { mp4v2::impl::bmff::ILC_AKK, "akk", "Akkadian" }, -- { mp4v2::impl::bmff::ILC_SQI, "sqi", "Albanian" }, -- { mp4v2::impl::bmff::ILC_ALE, "ale", "Aleut" }, -- { mp4v2::impl::bmff::ILC_ALG, "alg", "Algonquian languages" }, -- { mp4v2::impl::bmff::ILC_ALT, "alt", "Southern Altai" }, -- { mp4v2::impl::bmff::ILC_AMH, "amh", "Amharic" }, -- { mp4v2::impl::bmff::ILC_ANG, "ang", "English, Old (ca.450-1100)" }, -- { mp4v2::impl::bmff::ILC_ANP, "anp", "Angika" }, -- { mp4v2::impl::bmff::ILC_APA, "apa", "Apache languages" }, -- { mp4v2::impl::bmff::ILC_ARA, "ara", "Arabic" }, -- { mp4v2::impl::bmff::ILC_ARC, "arc", "Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)" }, -- { mp4v2::impl::bmff::ILC_ARG, "arg", "Aragonese" }, -- { mp4v2::impl::bmff::ILC_HYE, "hye", "Armenian" }, -- { mp4v2::impl::bmff::ILC_ARN, "arn", "Mapudungun; Mapuche" }, -- { mp4v2::impl::bmff::ILC_ARP, "arp", "Arapaho" }, -- { mp4v2::impl::bmff::ILC_ART, "art", "Artificial (Other)" }, -- { mp4v2::impl::bmff::ILC_ARW, "arw", "Arawak" }, -- { mp4v2::impl::bmff::ILC_ASM, "asm", "Assamese" }, -- { mp4v2::impl::bmff::ILC_AST, "ast", "Asturian; Bable; Leonese; Asturleonese" }, -- { mp4v2::impl::bmff::ILC_ATH, "ath", "Athapascan languages" }, -- { mp4v2::impl::bmff::ILC_AUS, "aus", "Australian languages" }, -- { mp4v2::impl::bmff::ILC_AVA, "ava", "Avaric" }, -- { mp4v2::impl::bmff::ILC_AVE, "ave", "Avestan" }, -- { mp4v2::impl::bmff::ILC_AWA, "awa", "Awadhi" }, -- { mp4v2::impl::bmff::ILC_AYM, "aym", "Aymara" }, -- { mp4v2::impl::bmff::ILC_AZE, "aze", "Azerbaijani" }, -- { mp4v2::impl::bmff::ILC_BAD, "bad", "Banda languages" }, -- { mp4v2::impl::bmff::ILC_BAI, "bai", "Bamileke languages" }, -- { mp4v2::impl::bmff::ILC_BAK, "bak", "Bashkir" }, -- { mp4v2::impl::bmff::ILC_BAL, "bal", "Baluchi" }, -- { mp4v2::impl::bmff::ILC_BAM, "bam", "Bambara" }, -- { mp4v2::impl::bmff::ILC_BAN, "ban", "Balinese" }, -- { mp4v2::impl::bmff::ILC_EUS, "eus", "Basque" }, -- { mp4v2::impl::bmff::ILC_BAS, "bas", "Basa" }, -- { mp4v2::impl::bmff::ILC_BAT, "bat", "Baltic (Other)" }, -- { mp4v2::impl::bmff::ILC_BEJ, "bej", "Beja; Bedawiyet" }, -- { mp4v2::impl::bmff::ILC_BEL, "bel", "Belarusian" }, -- { mp4v2::impl::bmff::ILC_BEM, "bem", "Bemba" }, -- { mp4v2::impl::bmff::ILC_BEN, "ben", "Bengali" }, -- { mp4v2::impl::bmff::ILC_BER, "ber", "Berber (Other)" }, -- { mp4v2::impl::bmff::ILC_BHO, "bho", "Bhojpuri" }, -- { mp4v2::impl::bmff::ILC_BIH, "bih", "Bihari" }, -- { mp4v2::impl::bmff::ILC_BIK, "bik", "Bikol" }, -- { mp4v2::impl::bmff::ILC_BIN, "bin", "Bini; Edo" }, -- { mp4v2::impl::bmff::ILC_BIS, "bis", "Bislama" }, -- { mp4v2::impl::bmff::ILC_BLA, "bla", "Siksika" }, -- { mp4v2::impl::bmff::ILC_BNT, "bnt", "Bantu (Other)" }, -- { mp4v2::impl::bmff::ILC_BOS, "bos", "Bosnian" }, -- { mp4v2::impl::bmff::ILC_BRA, "bra", "Braj" }, -- { mp4v2::impl::bmff::ILC_BRE, "bre", "Breton" }, -- { mp4v2::impl::bmff::ILC_BTK, "btk", "Batak languages" }, -- { mp4v2::impl::bmff::ILC_BUA, "bua", "Buriat" }, -- { mp4v2::impl::bmff::ILC_BUG, "bug", "Buginese" }, -- { mp4v2::impl::bmff::ILC_BUL, "bul", "Bulgarian" }, -- { mp4v2::impl::bmff::ILC_MYA, "mya", "Burmese" }, -- { mp4v2::impl::bmff::ILC_BYN, "byn", "Blin; Bilin" }, -- { mp4v2::impl::bmff::ILC_CAD, "cad", "Caddo" }, -- { mp4v2::impl::bmff::ILC_CAI, "cai", "Central American Indian (Other)" }, -- { mp4v2::impl::bmff::ILC_CAR, "car", "Galibi Carib" }, -- { mp4v2::impl::bmff::ILC_CAT, "cat", "Catalan; Valencian" }, -- { mp4v2::impl::bmff::ILC_CAU, "cau", "Caucasian (Other)" }, -- { mp4v2::impl::bmff::ILC_CEB, "ceb", "Cebuano" }, -- { mp4v2::impl::bmff::ILC_CEL, "cel", "Celtic (Other)" }, -- { mp4v2::impl::bmff::ILC_CHA, "cha", "Chamorro" }, -- { mp4v2::impl::bmff::ILC_CHB, "chb", "Chibcha" }, -- { mp4v2::impl::bmff::ILC_CHE, "che", "Chechen" }, -- { mp4v2::impl::bmff::ILC_CHG, "chg", "Chagatai" }, -- { mp4v2::impl::bmff::ILC_ZHO, "zho", "Chinese" }, -- { mp4v2::impl::bmff::ILC_CHK, "chk", "Chuukese" }, -- { mp4v2::impl::bmff::ILC_CHM, "chm", "Mari" }, -- { mp4v2::impl::bmff::ILC_CHN, "chn", "Chinook jargon" }, -- { mp4v2::impl::bmff::ILC_CHO, "cho", "Choctaw" }, -- { mp4v2::impl::bmff::ILC_CHP, "chp", "Chipewyan; Dene Suline" }, -- { mp4v2::impl::bmff::ILC_CHR, "chr", "Cherokee" }, -- { mp4v2::impl::bmff::ILC_CHU, "chu", "Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" }, -- { mp4v2::impl::bmff::ILC_CHV, "chv", "Chuvash" }, -- { mp4v2::impl::bmff::ILC_CHY, "chy", "Cheyenne" }, -- { mp4v2::impl::bmff::ILC_CMC, "cmc", "Chamic languages" }, -- { mp4v2::impl::bmff::ILC_COP, "cop", "Coptic" }, -- { mp4v2::impl::bmff::ILC_COR, "cor", "Cornish" }, -- { mp4v2::impl::bmff::ILC_COS, "cos", "Corsican" }, -- { mp4v2::impl::bmff::ILC_CPE, "cpe", "Creoles and pidgins, English based (Other)" }, -- { mp4v2::impl::bmff::ILC_CPF, "cpf", "Creoles and pidgins, French-based (Other)" }, -- { mp4v2::impl::bmff::ILC_CPP, "cpp", "Creoles and pidgins, Portuguese-based (Other)" }, -- { mp4v2::impl::bmff::ILC_CRE, "cre", "Cree" }, -- { mp4v2::impl::bmff::ILC_CRH, "crh", "Crimean Tatar; Crimean Turkish" }, -- { mp4v2::impl::bmff::ILC_CRP, "crp", "Creoles and pidgins (Other)" }, -- { mp4v2::impl::bmff::ILC_CSB, "csb", "Kashubian" }, -- { mp4v2::impl::bmff::ILC_CUS, "cus", "Cushitic (Other)" }, -- { mp4v2::impl::bmff::ILC_CES, "ces", "Czech" }, -- { mp4v2::impl::bmff::ILC_DAK, "dak", "Dakota" }, -- { mp4v2::impl::bmff::ILC_DAN, "dan", "Danish" }, -- { mp4v2::impl::bmff::ILC_DAR, "dar", "Dargwa" }, -- { mp4v2::impl::bmff::ILC_DAY, "day", "Land Dayak languages" }, -- { mp4v2::impl::bmff::ILC_DEL, "del", "Delaware" }, -- { mp4v2::impl::bmff::ILC_DEN, "den", "Slave (Athapascan)" }, -- { mp4v2::impl::bmff::ILC_DGR, "dgr", "Dogrib" }, -- { mp4v2::impl::bmff::ILC_DIN, "din", "Dinka" }, -- { mp4v2::impl::bmff::ILC_DIV, "div", "Divehi; Dhivehi; Maldivian" }, -- { mp4v2::impl::bmff::ILC_DOI, "doi", "Dogri" }, -- { mp4v2::impl::bmff::ILC_DRA, "dra", "Dravidian (Other)" }, -- { mp4v2::impl::bmff::ILC_DSB, "dsb", "Lower Sorbian" }, -- { mp4v2::impl::bmff::ILC_DUA, "dua", "Duala" }, -- { mp4v2::impl::bmff::ILC_DUM, "dum", "Dutch, Middle (ca.1050-1350)" }, -- { mp4v2::impl::bmff::ILC_NLD, "nld", "Dutch; Flemish" }, -- { mp4v2::impl::bmff::ILC_DYU, "dyu", "Dyula" }, -- { mp4v2::impl::bmff::ILC_DZO, "dzo", "Dzongkha" }, -- { mp4v2::impl::bmff::ILC_EFI, "efi", "Efik" }, -- { mp4v2::impl::bmff::ILC_EGY, "egy", "Egyptian (Ancient)" }, -- { mp4v2::impl::bmff::ILC_EKA, "eka", "Ekajuk" }, -- { mp4v2::impl::bmff::ILC_ELX, "elx", "Elamite" }, -- { mp4v2::impl::bmff::ILC_ENG, "eng", "English" }, -- { mp4v2::impl::bmff::ILC_ENM, "enm", "English, Middle (1100-1500)" }, -- { mp4v2::impl::bmff::ILC_EPO, "epo", "Esperanto" }, -- { mp4v2::impl::bmff::ILC_EST, "est", "Estonian" }, -- { mp4v2::impl::bmff::ILC_EWE, "ewe", "Ewe" }, -- { mp4v2::impl::bmff::ILC_EWO, "ewo", "Ewondo" }, -- { mp4v2::impl::bmff::ILC_FAN, "fan", "Fang" }, -- { mp4v2::impl::bmff::ILC_FAO, "fao", "Faroese" }, -- { mp4v2::impl::bmff::ILC_FAT, "fat", "Fanti" }, -- { mp4v2::impl::bmff::ILC_FIJ, "fij", "Fijian" }, -- { mp4v2::impl::bmff::ILC_FIL, "fil", "Filipino; Pilipino" }, -- { mp4v2::impl::bmff::ILC_FIN, "fin", "Finnish" }, -- { mp4v2::impl::bmff::ILC_FIU, "fiu", "Finno-Ugrian (Other)" }, -- { mp4v2::impl::bmff::ILC_FON, "fon", "Fon" }, -- { mp4v2::impl::bmff::ILC_FRA, "fra", "French" }, -- { mp4v2::impl::bmff::ILC_FRM, "frm", "French, Middle (ca.1400-1600)" }, -- { mp4v2::impl::bmff::ILC_FRO, "fro", "French, Old (842-ca.1400)" }, -- { mp4v2::impl::bmff::ILC_FRR, "frr", "Northern Frisian" }, -- { mp4v2::impl::bmff::ILC_FRS, "frs", "Eastern Frisian" }, -- { mp4v2::impl::bmff::ILC_FRY, "fry", "Western Frisian" }, -- { mp4v2::impl::bmff::ILC_FUL, "ful", "Fulah" }, -- { mp4v2::impl::bmff::ILC_FUR, "fur", "Friulian" }, -- { mp4v2::impl::bmff::ILC_GAA, "gaa", "Ga" }, -- { mp4v2::impl::bmff::ILC_GAY, "gay", "Gayo" }, -- { mp4v2::impl::bmff::ILC_GBA, "gba", "Gbaya" }, -- { mp4v2::impl::bmff::ILC_GEM, "gem", "Germanic (Other)" }, -- { mp4v2::impl::bmff::ILC_KAT, "kat", "Georgian" }, -- { mp4v2::impl::bmff::ILC_DEU, "deu", "German" }, -- { mp4v2::impl::bmff::ILC_GEZ, "gez", "Geez" }, -- { mp4v2::impl::bmff::ILC_GIL, "gil", "Gilbertese" }, -- { mp4v2::impl::bmff::ILC_GLA, "gla", "Gaelic; Scottish Gaelic" }, -- { mp4v2::impl::bmff::ILC_GLE, "gle", "Irish" }, -- { mp4v2::impl::bmff::ILC_GLG, "glg", "Galician" }, -- { mp4v2::impl::bmff::ILC_GLV, "glv", "Manx" }, -- { mp4v2::impl::bmff::ILC_GMH, "gmh", "German, Middle High (ca.1050-1500)" }, -- { mp4v2::impl::bmff::ILC_GOH, "goh", "German, Old High (ca.750-1050)" }, -- { mp4v2::impl::bmff::ILC_GON, "gon", "Gondi" }, -- { mp4v2::impl::bmff::ILC_GOR, "gor", "Gorontalo" }, -- { mp4v2::impl::bmff::ILC_GOT, "got", "Gothic" }, -- { mp4v2::impl::bmff::ILC_GRB, "grb", "Grebo" }, -- { mp4v2::impl::bmff::ILC_GRC, "grc", "Greek, Ancient (to 1453)" }, -- { mp4v2::impl::bmff::ILC_ELL, "ell", "Greek, Modern (1453-)" }, -- { mp4v2::impl::bmff::ILC_GRN, "grn", "Guarani" }, -- { mp4v2::impl::bmff::ILC_GSW, "gsw", "Swiss German; Alemannic; Alsatian" }, -- { mp4v2::impl::bmff::ILC_GUJ, "guj", "Gujarati" }, -- { mp4v2::impl::bmff::ILC_GWI, "gwi", "Gwich'in" }, -- { mp4v2::impl::bmff::ILC_HAI, "hai", "Haida" }, -- { mp4v2::impl::bmff::ILC_HAT, "hat", "Haitian; Haitian Creole" }, -- { mp4v2::impl::bmff::ILC_HAU, "hau", "Hausa" }, -- { mp4v2::impl::bmff::ILC_HAW, "haw", "Hawaiian" }, -- { mp4v2::impl::bmff::ILC_HEB, "heb", "Hebrew" }, -- { mp4v2::impl::bmff::ILC_HER, "her", "Herero" }, -- { mp4v2::impl::bmff::ILC_HIL, "hil", "Hiligaynon" }, -- { mp4v2::impl::bmff::ILC_HIM, "him", "Himachali" }, -- { mp4v2::impl::bmff::ILC_HIN, "hin", "Hindi" }, -- { mp4v2::impl::bmff::ILC_HIT, "hit", "Hittite" }, -- { mp4v2::impl::bmff::ILC_HMN, "hmn", "Hmong" }, -- { mp4v2::impl::bmff::ILC_HMO, "hmo", "Hiri Motu" }, -- { mp4v2::impl::bmff::ILC_HRV, "hrv", "Croatian" }, -- { mp4v2::impl::bmff::ILC_HSB, "hsb", "Upper Sorbian" }, -- { mp4v2::impl::bmff::ILC_HUN, "hun", "Hungarian" }, -- { mp4v2::impl::bmff::ILC_HUP, "hup", "Hupa" }, -- { mp4v2::impl::bmff::ILC_IBA, "iba", "Iban" }, -- { mp4v2::impl::bmff::ILC_IBO, "ibo", "Igbo" }, -- { mp4v2::impl::bmff::ILC_ISL, "isl", "Icelandic" }, -- { mp4v2::impl::bmff::ILC_IDO, "ido", "Ido" }, -- { mp4v2::impl::bmff::ILC_III, "iii", "Sichuan Yi; Nuosu" }, -- { mp4v2::impl::bmff::ILC_IJO, "ijo", "Ijo languages" }, -- { mp4v2::impl::bmff::ILC_IKU, "iku", "Inuktitut" }, -- { mp4v2::impl::bmff::ILC_ILE, "ile", "Interlingue; Occidental" }, -- { mp4v2::impl::bmff::ILC_ILO, "ilo", "Iloko" }, -- { mp4v2::impl::bmff::ILC_INA, "ina", "Interlingua (International Auxiliary Language Association)" }, -- { mp4v2::impl::bmff::ILC_INC, "inc", "Indic (Other)" }, -- { mp4v2::impl::bmff::ILC_IND, "ind", "Indonesian" }, -- { mp4v2::impl::bmff::ILC_INE, "ine", "Indo-European (Other)" }, -- { mp4v2::impl::bmff::ILC_INH, "inh", "Ingush" }, -- { mp4v2::impl::bmff::ILC_IPK, "ipk", "Inupiaq" }, -- { mp4v2::impl::bmff::ILC_IRA, "ira", "Iranian (Other)" }, -- { mp4v2::impl::bmff::ILC_IRO, "iro", "Iroquoian languages" }, -- { mp4v2::impl::bmff::ILC_ITA, "ita", "Italian" }, -- { mp4v2::impl::bmff::ILC_JAV, "jav", "Javanese" }, -- { mp4v2::impl::bmff::ILC_JBO, "jbo", "Lojban" }, -- { mp4v2::impl::bmff::ILC_JPN, "jpn", "Japanese" }, -- { mp4v2::impl::bmff::ILC_JPR, "jpr", "Judeo-Persian" }, -- { mp4v2::impl::bmff::ILC_JRB, "jrb", "Judeo-Arabic" }, -- { mp4v2::impl::bmff::ILC_KAA, "kaa", "Kara-Kalpak" }, -- { mp4v2::impl::bmff::ILC_KAB, "kab", "Kabyle" }, -- { mp4v2::impl::bmff::ILC_KAC, "kac", "Kachin; Jingpho" }, -- { mp4v2::impl::bmff::ILC_KAL, "kal", "Kalaallisut; Greenlandic" }, -- { mp4v2::impl::bmff::ILC_KAM, "kam", "Kamba" }, -- { mp4v2::impl::bmff::ILC_KAN, "kan", "Kannada" }, -- { mp4v2::impl::bmff::ILC_KAR, "kar", "Karen languages" }, -- { mp4v2::impl::bmff::ILC_KAS, "kas", "Kashmiri" }, -- { mp4v2::impl::bmff::ILC_KAU, "kau", "Kanuri" }, -- { mp4v2::impl::bmff::ILC_KAW, "kaw", "Kawi" }, -- { mp4v2::impl::bmff::ILC_KAZ, "kaz", "Kazakh" }, -- { mp4v2::impl::bmff::ILC_KBD, "kbd", "Kabardian" }, -- { mp4v2::impl::bmff::ILC_KHA, "kha", "Khasi" }, -- { mp4v2::impl::bmff::ILC_KHI, "khi", "Khoisan (Other)" }, -- { mp4v2::impl::bmff::ILC_KHM, "khm", "Central Khmer" }, -- { mp4v2::impl::bmff::ILC_KHO, "kho", "Khotanese; Sakan" }, -- { mp4v2::impl::bmff::ILC_KIK, "kik", "Kikuyu; Gikuyu" }, -- { mp4v2::impl::bmff::ILC_KIN, "kin", "Kinyarwanda" }, -- { mp4v2::impl::bmff::ILC_KIR, "kir", "Kirghiz; Kyrgyz" }, -- { mp4v2::impl::bmff::ILC_KMB, "kmb", "Kimbundu" }, -- { mp4v2::impl::bmff::ILC_KOK, "kok", "Konkani" }, -- { mp4v2::impl::bmff::ILC_KOM, "kom", "Komi" }, -- { mp4v2::impl::bmff::ILC_KON, "kon", "Kongo" }, -- { mp4v2::impl::bmff::ILC_KOR, "kor", "Korean" }, -- { mp4v2::impl::bmff::ILC_KOS, "kos", "Kosraean" }, -- { mp4v2::impl::bmff::ILC_KPE, "kpe", "Kpelle" }, -- { mp4v2::impl::bmff::ILC_KRC, "krc", "Karachay-Balkar" }, -- { mp4v2::impl::bmff::ILC_KRL, "krl", "Karelian" }, -- { mp4v2::impl::bmff::ILC_KRO, "kro", "Kru languages" }, -- { mp4v2::impl::bmff::ILC_KRU, "kru", "Kurukh" }, -- { mp4v2::impl::bmff::ILC_KUA, "kua", "Kuanyama; Kwanyama" }, -- { mp4v2::impl::bmff::ILC_KUM, "kum", "Kumyk" }, -- { mp4v2::impl::bmff::ILC_KUR, "kur", "Kurdish" }, -- { mp4v2::impl::bmff::ILC_KUT, "kut", "Kutenai" }, -- { mp4v2::impl::bmff::ILC_LAD, "lad", "Ladino" }, -- { mp4v2::impl::bmff::ILC_LAH, "lah", "Lahnda" }, -- { mp4v2::impl::bmff::ILC_LAM, "lam", "Lamba" }, -- { mp4v2::impl::bmff::ILC_LAO, "lao", "Lao" }, -- { mp4v2::impl::bmff::ILC_LAT, "lat", "Latin" }, -- { mp4v2::impl::bmff::ILC_LAV, "lav", "Latvian" }, -- { mp4v2::impl::bmff::ILC_LEZ, "lez", "Lezghian" }, -- { mp4v2::impl::bmff::ILC_LIM, "lim", "Limburgan; Limburger; Limburgish" }, -- { mp4v2::impl::bmff::ILC_LIN, "lin", "Lingala" }, -- { mp4v2::impl::bmff::ILC_LIT, "lit", "Lithuanian" }, -- { mp4v2::impl::bmff::ILC_LOL, "lol", "Mongo" }, -- { mp4v2::impl::bmff::ILC_LOZ, "loz", "Lozi" }, -- { mp4v2::impl::bmff::ILC_LTZ, "ltz", "Luxembourgish; Letzeburgesch" }, -- { mp4v2::impl::bmff::ILC_LUA, "lua", "Luba-Lulua" }, -- { mp4v2::impl::bmff::ILC_LUB, "lub", "Luba-Katanga" }, -- { mp4v2::impl::bmff::ILC_LUG, "lug", "Ganda" }, -- { mp4v2::impl::bmff::ILC_LUI, "lui", "Luiseno" }, -- { mp4v2::impl::bmff::ILC_LUN, "lun", "Lunda" }, -- { mp4v2::impl::bmff::ILC_LUO, "luo", "Luo (Kenya and Tanzania)" }, -- { mp4v2::impl::bmff::ILC_LUS, "lus", "Lushai" }, -- { mp4v2::impl::bmff::ILC_MKD, "mkd", "Macedonian" }, -- { mp4v2::impl::bmff::ILC_MAD, "mad", "Madurese" }, -- { mp4v2::impl::bmff::ILC_MAG, "mag", "Magahi" }, -- { mp4v2::impl::bmff::ILC_MAH, "mah", "Marshallese" }, -- { mp4v2::impl::bmff::ILC_MAI, "mai", "Maithili" }, -- { mp4v2::impl::bmff::ILC_MAK, "mak", "Makasar" }, -- { mp4v2::impl::bmff::ILC_MAL, "mal", "Malayalam" }, -- { mp4v2::impl::bmff::ILC_MAN, "man", "Mandingo" }, -- { mp4v2::impl::bmff::ILC_MRI, "mri", "Maori" }, -- { mp4v2::impl::bmff::ILC_MAP, "map", "Austronesian (Other)" }, -- { mp4v2::impl::bmff::ILC_MAR, "mar", "Marathi" }, -- { mp4v2::impl::bmff::ILC_MAS, "mas", "Masai" }, -- { mp4v2::impl::bmff::ILC_MSA, "msa", "Malay" }, -- { mp4v2::impl::bmff::ILC_MDF, "mdf", "Moksha" }, -- { mp4v2::impl::bmff::ILC_MDR, "mdr", "Mandar" }, -- { mp4v2::impl::bmff::ILC_MEN, "men", "Mende" }, -- { mp4v2::impl::bmff::ILC_MGA, "mga", "Irish, Middle (900-1200)" }, -- { mp4v2::impl::bmff::ILC_MIC, "mic", "Mi'kmaq; Micmac" }, -- { mp4v2::impl::bmff::ILC_MIN, "min", "Minangkabau" }, -- { mp4v2::impl::bmff::ILC_MIS, "mis", "Uncoded languages" }, -- { mp4v2::impl::bmff::ILC_MKH, "mkh", "Mon-Khmer (Other)" }, -- { mp4v2::impl::bmff::ILC_MLG, "mlg", "Malagasy" }, -- { mp4v2::impl::bmff::ILC_MLT, "mlt", "Maltese" }, -- { mp4v2::impl::bmff::ILC_MNC, "mnc", "Manchu" }, -- { mp4v2::impl::bmff::ILC_MNI, "mni", "Manipuri" }, -- { mp4v2::impl::bmff::ILC_MNO, "mno", "Manobo languages" }, -- { mp4v2::impl::bmff::ILC_MOH, "moh", "Mohawk" }, -- { mp4v2::impl::bmff::ILC_MON, "mon", "Mongolian" }, -- { mp4v2::impl::bmff::ILC_MOS, "mos", "Mossi" }, -- { mp4v2::impl::bmff::ILC_MUL, "mul", "Multiple languages" }, -- { mp4v2::impl::bmff::ILC_MUN, "mun", "Munda languages" }, -- { mp4v2::impl::bmff::ILC_MUS, "mus", "Creek" }, -- { mp4v2::impl::bmff::ILC_MWL, "mwl", "Mirandese" }, -- { mp4v2::impl::bmff::ILC_MWR, "mwr", "Marwari" }, -- { mp4v2::impl::bmff::ILC_MYN, "myn", "Mayan languages" }, -- { mp4v2::impl::bmff::ILC_MYV, "myv", "Erzya" }, -- { mp4v2::impl::bmff::ILC_NAH, "nah", "Nahuatl languages" }, -- { mp4v2::impl::bmff::ILC_NAI, "nai", "North American Indian" }, -- { mp4v2::impl::bmff::ILC_NAP, "nap", "Neapolitan" }, -- { mp4v2::impl::bmff::ILC_NAU, "nau", "Nauru" }, -- { mp4v2::impl::bmff::ILC_NAV, "nav", "Navajo; Navaho" }, -- { mp4v2::impl::bmff::ILC_NBL, "nbl", "Ndebele, South; South Ndebele" }, -- { mp4v2::impl::bmff::ILC_NDE, "nde", "Ndebele, North; North Ndebele" }, -- { mp4v2::impl::bmff::ILC_NDO, "ndo", "Ndonga" }, -- { mp4v2::impl::bmff::ILC_NDS, "nds", "Low German; Low Saxon; German, Low; Saxon, Low" }, -- { mp4v2::impl::bmff::ILC_NEP, "nep", "Nepali" }, -- { mp4v2::impl::bmff::ILC_NEW, "new", "Nepal Bhasa; Newari" }, -- { mp4v2::impl::bmff::ILC_NIA, "nia", "Nias" }, -- { mp4v2::impl::bmff::ILC_NIC, "nic", "Niger-Kordofanian (Other)" }, -- { mp4v2::impl::bmff::ILC_NIU, "niu", "Niuean" }, -- { mp4v2::impl::bmff::ILC_NNO, "nno", "Norwegian Nynorsk; Nynorsk, Norwegian" }, -- { mp4v2::impl::bmff::ILC_NOB, "nob", "Bokmål, Norwegian; Norwegian Bokmål" }, -- { mp4v2::impl::bmff::ILC_NOG, "nog", "Nogai" }, -- { mp4v2::impl::bmff::ILC_NON, "non", "Norse, Old" }, -- { mp4v2::impl::bmff::ILC_NOR, "nor", "Norwegian" }, -- { mp4v2::impl::bmff::ILC_NQO, "nqo", "N'Ko" }, -- { mp4v2::impl::bmff::ILC_NSO, "nso", "Pedi; Sepedi; Northern Sotho" }, -- { mp4v2::impl::bmff::ILC_NUB, "nub", "Nubian languages" }, -- { mp4v2::impl::bmff::ILC_NWC, "nwc", "Classical Newari; Old Newari; Classical Nepal Bhasa" }, -- { mp4v2::impl::bmff::ILC_NYA, "nya", "Chichewa; Chewa; Nyanja" }, -- { mp4v2::impl::bmff::ILC_NYM, "nym", "Nyamwezi" }, -- { mp4v2::impl::bmff::ILC_NYN, "nyn", "Nyankole" }, -- { mp4v2::impl::bmff::ILC_NYO, "nyo", "Nyoro" }, -- { mp4v2::impl::bmff::ILC_NZI, "nzi", "Nzima" }, -- { mp4v2::impl::bmff::ILC_OCI, "oci", "Occitan (post 1500); Provençal" }, -- { mp4v2::impl::bmff::ILC_OJI, "oji", "Ojibwa" }, -- { mp4v2::impl::bmff::ILC_ORI, "ori", "Oriya" }, -- { mp4v2::impl::bmff::ILC_ORM, "orm", "Oromo" }, -- { mp4v2::impl::bmff::ILC_OSA, "osa", "Osage" }, -- { mp4v2::impl::bmff::ILC_OSS, "oss", "Ossetian; Ossetic" }, -- { mp4v2::impl::bmff::ILC_OTA, "ota", "Turkish, Ottoman (1500-1928)" }, -- { mp4v2::impl::bmff::ILC_OTO, "oto", "Otomian languages" }, -- { mp4v2::impl::bmff::ILC_PAA, "paa", "Papuan (Other)" }, -- { mp4v2::impl::bmff::ILC_PAG, "pag", "Pangasinan" }, -- { mp4v2::impl::bmff::ILC_PAL, "pal", "Pahlavi" }, -- { mp4v2::impl::bmff::ILC_PAM, "pam", "Pampanga; Kapampangan" }, -- { mp4v2::impl::bmff::ILC_PAN, "pan", "Panjabi; Punjabi" }, -- { mp4v2::impl::bmff::ILC_PAP, "pap", "Papiamento" }, -- { mp4v2::impl::bmff::ILC_PAU, "pau", "Palauan" }, -- { mp4v2::impl::bmff::ILC_PEO, "peo", "Persian, Old (ca.600-400 B.C.)" }, -- { mp4v2::impl::bmff::ILC_FAS, "fas", "Persian" }, -- { mp4v2::impl::bmff::ILC_PHI, "phi", "Philippine (Other)" }, -- { mp4v2::impl::bmff::ILC_PHN, "phn", "Phoenician" }, -- { mp4v2::impl::bmff::ILC_PLI, "pli", "Pali" }, -- { mp4v2::impl::bmff::ILC_POL, "pol", "Polish" }, -- { mp4v2::impl::bmff::ILC_PON, "pon", "Pohnpeian" }, -- { mp4v2::impl::bmff::ILC_POR, "por", "Portuguese" }, -- { mp4v2::impl::bmff::ILC_PRA, "pra", "Prakrit languages" }, -- { mp4v2::impl::bmff::ILC_PRO, "pro", "Provençal, Old (to 1500)" }, -- { mp4v2::impl::bmff::ILC_PUS, "pus", "Pushto; Pashto" }, -- { mp4v2::impl::bmff::ILC_QUE, "que", "Quechua" }, -- { mp4v2::impl::bmff::ILC_RAJ, "raj", "Rajasthani" }, -- { mp4v2::impl::bmff::ILC_RAP, "rap", "Rapanui" }, -- { mp4v2::impl::bmff::ILC_RAR, "rar", "Rarotongan; Cook Islands Maori" }, -- { mp4v2::impl::bmff::ILC_ROA, "roa", "Romance (Other)" }, -- { mp4v2::impl::bmff::ILC_ROH, "roh", "Romansh" }, -- { mp4v2::impl::bmff::ILC_ROM, "rom", "Romany" }, -- { mp4v2::impl::bmff::ILC_RON, "ron", "Romanian; Moldavian; Moldovan" }, -- { mp4v2::impl::bmff::ILC_RUN, "run", "Rundi" }, -- { mp4v2::impl::bmff::ILC_RUP, "rup", "Aromanian; Arumanian; Macedo-Romanian" }, -- { mp4v2::impl::bmff::ILC_RUS, "rus", "Russian" }, -- { mp4v2::impl::bmff::ILC_SAD, "sad", "Sandawe" }, -- { mp4v2::impl::bmff::ILC_SAG, "sag", "Sango" }, -- { mp4v2::impl::bmff::ILC_SAH, "sah", "Yakut" }, -- { mp4v2::impl::bmff::ILC_SAI, "sai", "South American Indian (Other)" }, -- { mp4v2::impl::bmff::ILC_SAL, "sal", "Salishan languages" }, -- { mp4v2::impl::bmff::ILC_SAM, "sam", "Samaritan Aramaic" }, -- { mp4v2::impl::bmff::ILC_SAN, "san", "Sanskrit" }, -- { mp4v2::impl::bmff::ILC_SAS, "sas", "Sasak" }, -- { mp4v2::impl::bmff::ILC_SAT, "sat", "Santali" }, -- { mp4v2::impl::bmff::ILC_SCN, "scn", "Sicilian" }, -- { mp4v2::impl::bmff::ILC_SCO, "sco", "Scots" }, -- { mp4v2::impl::bmff::ILC_SEL, "sel", "Selkup" }, -- { mp4v2::impl::bmff::ILC_SEM, "sem", "Semitic (Other)" }, -- { mp4v2::impl::bmff::ILC_SGA, "sga", "Irish, Old (to 900)" }, -- { mp4v2::impl::bmff::ILC_SGN, "sgn", "Sign Languages" }, -- { mp4v2::impl::bmff::ILC_SHN, "shn", "Shan" }, -- { mp4v2::impl::bmff::ILC_SID, "sid", "Sidamo" }, -- { mp4v2::impl::bmff::ILC_SIN, "sin", "Sinhala; Sinhalese" }, -- { mp4v2::impl::bmff::ILC_SIO, "sio", "Siouan languages" }, -- { mp4v2::impl::bmff::ILC_SIT, "sit", "Sino-Tibetan (Other)" }, -- { mp4v2::impl::bmff::ILC_SLA, "sla", "Slavic (Other)" }, -- { mp4v2::impl::bmff::ILC_SLK, "slk", "Slovak" }, -- { mp4v2::impl::bmff::ILC_SLV, "slv", "Slovenian" }, -- { mp4v2::impl::bmff::ILC_SMA, "sma", "Southern Sami" }, -- { mp4v2::impl::bmff::ILC_SME, "sme", "Northern Sami" }, -- { mp4v2::impl::bmff::ILC_SMI, "smi", "Sami languages (Other)" }, -- { mp4v2::impl::bmff::ILC_SMJ, "smj", "Lule Sami" }, -- { mp4v2::impl::bmff::ILC_SMN, "smn", "Inari Sami" }, -- { mp4v2::impl::bmff::ILC_SMO, "smo", "Samoan" }, -- { mp4v2::impl::bmff::ILC_SMS, "sms", "Skolt Sami" }, -- { mp4v2::impl::bmff::ILC_SNA, "sna", "Shona" }, -- { mp4v2::impl::bmff::ILC_SND, "snd", "Sindhi" }, -- { mp4v2::impl::bmff::ILC_SNK, "snk", "Soninke" }, -- { mp4v2::impl::bmff::ILC_SOG, "sog", "Sogdian" }, -- { mp4v2::impl::bmff::ILC_SOM, "som", "Somali" }, -- { mp4v2::impl::bmff::ILC_SON, "son", "Songhai languages" }, -- { mp4v2::impl::bmff::ILC_SOT, "sot", "Sotho, Southern" }, -- { mp4v2::impl::bmff::ILC_SPA, "spa", "Spanish; Castilian" }, -- { mp4v2::impl::bmff::ILC_SRD, "srd", "Sardinian" }, -- { mp4v2::impl::bmff::ILC_SRN, "srn", "Sranan Tongo" }, -- { mp4v2::impl::bmff::ILC_SRP, "srp", "Serbian" }, -- { mp4v2::impl::bmff::ILC_SRR, "srr", "Serer" }, -- { mp4v2::impl::bmff::ILC_SSA, "ssa", "Nilo-Saharan (Other)" }, -- { mp4v2::impl::bmff::ILC_SSW, "ssw", "Swati" }, -- { mp4v2::impl::bmff::ILC_SUK, "suk", "Sukuma" }, -- { mp4v2::impl::bmff::ILC_SUN, "sun", "Sundanese" }, -- { mp4v2::impl::bmff::ILC_SUS, "sus", "Susu" }, -- { mp4v2::impl::bmff::ILC_SUX, "sux", "Sumerian" }, -- { mp4v2::impl::bmff::ILC_SWA, "swa", "Swahili" }, -- { mp4v2::impl::bmff::ILC_SWE, "swe", "Swedish" }, -- { mp4v2::impl::bmff::ILC_SYC, "syc", "Classical Syriac" }, -- { mp4v2::impl::bmff::ILC_SYR, "syr", "Syriac" }, -- { mp4v2::impl::bmff::ILC_TAH, "tah", "Tahitian" }, -- { mp4v2::impl::bmff::ILC_TAI, "tai", "Tai (Other)" }, -- { mp4v2::impl::bmff::ILC_TAM, "tam", "Tamil" }, -- { mp4v2::impl::bmff::ILC_TAT, "tat", "Tatar" }, -- { mp4v2::impl::bmff::ILC_TEL, "tel", "Telugu" }, -- { mp4v2::impl::bmff::ILC_TEM, "tem", "Timne" }, -- { mp4v2::impl::bmff::ILC_TER, "ter", "Tereno" }, -- { mp4v2::impl::bmff::ILC_TET, "tet", "Tetum" }, -- { mp4v2::impl::bmff::ILC_TGK, "tgk", "Tajik" }, -- { mp4v2::impl::bmff::ILC_TGL, "tgl", "Tagalog" }, -- { mp4v2::impl::bmff::ILC_THA, "tha", "Thai" }, -- { mp4v2::impl::bmff::ILC_BOD, "bod", "Tibetan" }, -- { mp4v2::impl::bmff::ILC_TIG, "tig", "Tigre" }, -- { mp4v2::impl::bmff::ILC_TIR, "tir", "Tigrinya" }, -- { mp4v2::impl::bmff::ILC_TIV, "tiv", "Tiv" }, -- { mp4v2::impl::bmff::ILC_TKL, "tkl", "Tokelau" }, -- { mp4v2::impl::bmff::ILC_TLH, "tlh", "Klingon; tlhIngan-Hol" }, -- { mp4v2::impl::bmff::ILC_TLI, "tli", "Tlingit" }, -- { mp4v2::impl::bmff::ILC_TMH, "tmh", "Tamashek" }, -- { mp4v2::impl::bmff::ILC_TOG, "tog", "Tonga (Nyasa)" }, -- { mp4v2::impl::bmff::ILC_TON, "ton", "Tonga (Tonga Islands)" }, -- { mp4v2::impl::bmff::ILC_TPI, "tpi", "Tok Pisin" }, -- { mp4v2::impl::bmff::ILC_TSI, "tsi", "Tsimshian" }, -- { mp4v2::impl::bmff::ILC_TSN, "tsn", "Tswana" }, -- { mp4v2::impl::bmff::ILC_TSO, "tso", "Tsonga" }, -- { mp4v2::impl::bmff::ILC_TUK, "tuk", "Turkmen" }, -- { mp4v2::impl::bmff::ILC_TUM, "tum", "Tumbuka" }, -- { mp4v2::impl::bmff::ILC_TUP, "tup", "Tupi languages" }, -- { mp4v2::impl::bmff::ILC_TUR, "tur", "Turkish" }, -- { mp4v2::impl::bmff::ILC_TUT, "tut", "Altaic (Other)" }, -- { mp4v2::impl::bmff::ILC_TVL, "tvl", "Tuvalu" }, -- { mp4v2::impl::bmff::ILC_TWI, "twi", "Twi" }, -- { mp4v2::impl::bmff::ILC_TYV, "tyv", "Tuvinian" }, -- { mp4v2::impl::bmff::ILC_UDM, "udm", "Udmurt" }, -- { mp4v2::impl::bmff::ILC_UGA, "uga", "Ugaritic" }, -- { mp4v2::impl::bmff::ILC_UIG, "uig", "Uighur; Uyghur" }, -- { mp4v2::impl::bmff::ILC_UKR, "ukr", "Ukrainian" }, -- { mp4v2::impl::bmff::ILC_UMB, "umb", "Umbundu" }, -- { mp4v2::impl::bmff::ILC_UND, "und", "Undetermined" }, -- { mp4v2::impl::bmff::ILC_URD, "urd", "Urdu" }, -- { mp4v2::impl::bmff::ILC_UZB, "uzb", "Uzbek" }, -- { mp4v2::impl::bmff::ILC_VAI, "vai", "Vai" }, -- { mp4v2::impl::bmff::ILC_VEN, "ven", "Venda" }, -- { mp4v2::impl::bmff::ILC_VIE, "vie", "Vietnamese" }, -- { mp4v2::impl::bmff::ILC_VOL, "vol", "Volapük" }, -- { mp4v2::impl::bmff::ILC_VOT, "vot", "Votic" }, -- { mp4v2::impl::bmff::ILC_WAK, "wak", "Wakashan languages" }, -- { mp4v2::impl::bmff::ILC_WAL, "wal", "Walamo" }, -- { mp4v2::impl::bmff::ILC_WAR, "war", "Waray" }, -- { mp4v2::impl::bmff::ILC_WAS, "was", "Washo" }, -- { mp4v2::impl::bmff::ILC_CYM, "cym", "Welsh" }, -- { mp4v2::impl::bmff::ILC_WEN, "wen", "Sorbian languages" }, -- { mp4v2::impl::bmff::ILC_WLN, "wln", "Walloon" }, -- { mp4v2::impl::bmff::ILC_WOL, "wol", "Wolof" }, -- { mp4v2::impl::bmff::ILC_XAL, "xal", "Kalmyk; Oirat" }, -- { mp4v2::impl::bmff::ILC_XHO, "xho", "Xhosa" }, -- { mp4v2::impl::bmff::ILC_YAO, "yao", "Yao" }, -- { mp4v2::impl::bmff::ILC_YAP, "yap", "Yapese" }, -- { mp4v2::impl::bmff::ILC_YID, "yid", "Yiddish" }, -- { mp4v2::impl::bmff::ILC_YOR, "yor", "Yoruba" }, -- { mp4v2::impl::bmff::ILC_YPK, "ypk", "Yupik languages" }, -- { mp4v2::impl::bmff::ILC_ZAP, "zap", "Zapotec" }, -- { mp4v2::impl::bmff::ILC_ZBL, "zbl", "Blissymbols; Blissymbolics; Bliss" }, -- { mp4v2::impl::bmff::ILC_ZEN, "zen", "Zenaga" }, -- { mp4v2::impl::bmff::ILC_ZHA, "zha", "Zhuang; Chuang" }, -- { mp4v2::impl::bmff::ILC_ZND, "znd", "Zande languages" }, -- { mp4v2::impl::bmff::ILC_ZUL, "zul", "Zulu" }, -- { mp4v2::impl::bmff::ILC_ZUN, "zun", "Zuni" }, -- { mp4v2::impl::bmff::ILC_ZXX, "zxx", "No linguistic content; Not applicable" }, -- { mp4v2::impl::bmff::ILC_ZZA, "zza", "Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki" }, -+const bmff::EnumLanguageCode::Entry bmff::EnumLanguageCode::data[] = { -+ { bmff::ILC_AAR, "aar", "Afar" }, -+ { bmff::ILC_ABK, "abk", "Abkhazian" }, -+ { bmff::ILC_ACE, "ace", "Achinese" }, -+ { bmff::ILC_ACH, "ach", "Acoli" }, -+ { bmff::ILC_ADA, "ada", "Adangme" }, -+ { bmff::ILC_ADY, "ady", "Adyghe; Adygei" }, -+ { bmff::ILC_AFA, "afa", "Afro-Asiatic (Other)" }, -+ { bmff::ILC_AFH, "afh", "Afrihili" }, -+ { bmff::ILC_AFR, "afr", "Afrikaans" }, -+ { bmff::ILC_AIN, "ain", "Ainu" }, -+ { bmff::ILC_AKA, "aka", "Akan" }, -+ { bmff::ILC_AKK, "akk", "Akkadian" }, -+ { bmff::ILC_SQI, "sqi", "Albanian" }, -+ { bmff::ILC_ALE, "ale", "Aleut" }, -+ { bmff::ILC_ALG, "alg", "Algonquian languages" }, -+ { bmff::ILC_ALT, "alt", "Southern Altai" }, -+ { bmff::ILC_AMH, "amh", "Amharic" }, -+ { bmff::ILC_ANG, "ang", "English, Old (ca.450-1100)" }, -+ { bmff::ILC_ANP, "anp", "Angika" }, -+ { bmff::ILC_APA, "apa", "Apache languages" }, -+ { bmff::ILC_ARA, "ara", "Arabic" }, -+ { bmff::ILC_ARC, "arc", "Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)" }, -+ { bmff::ILC_ARG, "arg", "Aragonese" }, -+ { bmff::ILC_HYE, "hye", "Armenian" }, -+ { bmff::ILC_ARN, "arn", "Mapudungun; Mapuche" }, -+ { bmff::ILC_ARP, "arp", "Arapaho" }, -+ { bmff::ILC_ART, "art", "Artificial (Other)" }, -+ { bmff::ILC_ARW, "arw", "Arawak" }, -+ { bmff::ILC_ASM, "asm", "Assamese" }, -+ { bmff::ILC_AST, "ast", "Asturian; Bable; Leonese; Asturleonese" }, -+ { bmff::ILC_ATH, "ath", "Athapascan languages" }, -+ { bmff::ILC_AUS, "aus", "Australian languages" }, -+ { bmff::ILC_AVA, "ava", "Avaric" }, -+ { bmff::ILC_AVE, "ave", "Avestan" }, -+ { bmff::ILC_AWA, "awa", "Awadhi" }, -+ { bmff::ILC_AYM, "aym", "Aymara" }, -+ { bmff::ILC_AZE, "aze", "Azerbaijani" }, -+ { bmff::ILC_BAD, "bad", "Banda languages" }, -+ { bmff::ILC_BAI, "bai", "Bamileke languages" }, -+ { bmff::ILC_BAK, "bak", "Bashkir" }, -+ { bmff::ILC_BAL, "bal", "Baluchi" }, -+ { bmff::ILC_BAM, "bam", "Bambara" }, -+ { bmff::ILC_BAN, "ban", "Balinese" }, -+ { bmff::ILC_EUS, "eus", "Basque" }, -+ { bmff::ILC_BAS, "bas", "Basa" }, -+ { bmff::ILC_BAT, "bat", "Baltic (Other)" }, -+ { bmff::ILC_BEJ, "bej", "Beja; Bedawiyet" }, -+ { bmff::ILC_BEL, "bel", "Belarusian" }, -+ { bmff::ILC_BEM, "bem", "Bemba" }, -+ { bmff::ILC_BEN, "ben", "Bengali" }, -+ { bmff::ILC_BER, "ber", "Berber (Other)" }, -+ { bmff::ILC_BHO, "bho", "Bhojpuri" }, -+ { bmff::ILC_BIH, "bih", "Bihari" }, -+ { bmff::ILC_BIK, "bik", "Bikol" }, -+ { bmff::ILC_BIN, "bin", "Bini; Edo" }, -+ { bmff::ILC_BIS, "bis", "Bislama" }, -+ { bmff::ILC_BLA, "bla", "Siksika" }, -+ { bmff::ILC_BNT, "bnt", "Bantu (Other)" }, -+ { bmff::ILC_BOS, "bos", "Bosnian" }, -+ { bmff::ILC_BRA, "bra", "Braj" }, -+ { bmff::ILC_BRE, "bre", "Breton" }, -+ { bmff::ILC_BTK, "btk", "Batak languages" }, -+ { bmff::ILC_BUA, "bua", "Buriat" }, -+ { bmff::ILC_BUG, "bug", "Buginese" }, -+ { bmff::ILC_BUL, "bul", "Bulgarian" }, -+ { bmff::ILC_MYA, "mya", "Burmese" }, -+ { bmff::ILC_BYN, "byn", "Blin; Bilin" }, -+ { bmff::ILC_CAD, "cad", "Caddo" }, -+ { bmff::ILC_CAI, "cai", "Central American Indian (Other)" }, -+ { bmff::ILC_CAR, "car", "Galibi Carib" }, -+ { bmff::ILC_CAT, "cat", "Catalan; Valencian" }, -+ { bmff::ILC_CAU, "cau", "Caucasian (Other)" }, -+ { bmff::ILC_CEB, "ceb", "Cebuano" }, -+ { bmff::ILC_CEL, "cel", "Celtic (Other)" }, -+ { bmff::ILC_CHA, "cha", "Chamorro" }, -+ { bmff::ILC_CHB, "chb", "Chibcha" }, -+ { bmff::ILC_CHE, "che", "Chechen" }, -+ { bmff::ILC_CHG, "chg", "Chagatai" }, -+ { bmff::ILC_ZHO, "zho", "Chinese" }, -+ { bmff::ILC_CHK, "chk", "Chuukese" }, -+ { bmff::ILC_CHM, "chm", "Mari" }, -+ { bmff::ILC_CHN, "chn", "Chinook jargon" }, -+ { bmff::ILC_CHO, "cho", "Choctaw" }, -+ { bmff::ILC_CHP, "chp", "Chipewyan; Dene Suline" }, -+ { bmff::ILC_CHR, "chr", "Cherokee" }, -+ { bmff::ILC_CHU, "chu", "Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" }, -+ { bmff::ILC_CHV, "chv", "Chuvash" }, -+ { bmff::ILC_CHY, "chy", "Cheyenne" }, -+ { bmff::ILC_CMC, "cmc", "Chamic languages" }, -+ { bmff::ILC_COP, "cop", "Coptic" }, -+ { bmff::ILC_COR, "cor", "Cornish" }, -+ { bmff::ILC_COS, "cos", "Corsican" }, -+ { bmff::ILC_CPE, "cpe", "Creoles and pidgins, English based (Other)" }, -+ { bmff::ILC_CPF, "cpf", "Creoles and pidgins, French-based (Other)" }, -+ { bmff::ILC_CPP, "cpp", "Creoles and pidgins, Portuguese-based (Other)" }, -+ { bmff::ILC_CRE, "cre", "Cree" }, -+ { bmff::ILC_CRH, "crh", "Crimean Tatar; Crimean Turkish" }, -+ { bmff::ILC_CRP, "crp", "Creoles and pidgins (Other)" }, -+ { bmff::ILC_CSB, "csb", "Kashubian" }, -+ { bmff::ILC_CUS, "cus", "Cushitic (Other)" }, -+ { bmff::ILC_CES, "ces", "Czech" }, -+ { bmff::ILC_DAK, "dak", "Dakota" }, -+ { bmff::ILC_DAN, "dan", "Danish" }, -+ { bmff::ILC_DAR, "dar", "Dargwa" }, -+ { bmff::ILC_DAY, "day", "Land Dayak languages" }, -+ { bmff::ILC_DEL, "del", "Delaware" }, -+ { bmff::ILC_DEN, "den", "Slave (Athapascan)" }, -+ { bmff::ILC_DGR, "dgr", "Dogrib" }, -+ { bmff::ILC_DIN, "din", "Dinka" }, -+ { bmff::ILC_DIV, "div", "Divehi; Dhivehi; Maldivian" }, -+ { bmff::ILC_DOI, "doi", "Dogri" }, -+ { bmff::ILC_DRA, "dra", "Dravidian (Other)" }, -+ { bmff::ILC_DSB, "dsb", "Lower Sorbian" }, -+ { bmff::ILC_DUA, "dua", "Duala" }, -+ { bmff::ILC_DUM, "dum", "Dutch, Middle (ca.1050-1350)" }, -+ { bmff::ILC_NLD, "nld", "Dutch; Flemish" }, -+ { bmff::ILC_DYU, "dyu", "Dyula" }, -+ { bmff::ILC_DZO, "dzo", "Dzongkha" }, -+ { bmff::ILC_EFI, "efi", "Efik" }, -+ { bmff::ILC_EGY, "egy", "Egyptian (Ancient)" }, -+ { bmff::ILC_EKA, "eka", "Ekajuk" }, -+ { bmff::ILC_ELX, "elx", "Elamite" }, -+ { bmff::ILC_ENG, "eng", "English" }, -+ { bmff::ILC_ENM, "enm", "English, Middle (1100-1500)" }, -+ { bmff::ILC_EPO, "epo", "Esperanto" }, -+ { bmff::ILC_EST, "est", "Estonian" }, -+ { bmff::ILC_EWE, "ewe", "Ewe" }, -+ { bmff::ILC_EWO, "ewo", "Ewondo" }, -+ { bmff::ILC_FAN, "fan", "Fang" }, -+ { bmff::ILC_FAO, "fao", "Faroese" }, -+ { bmff::ILC_FAT, "fat", "Fanti" }, -+ { bmff::ILC_FIJ, "fij", "Fijian" }, -+ { bmff::ILC_FIL, "fil", "Filipino; Pilipino" }, -+ { bmff::ILC_FIN, "fin", "Finnish" }, -+ { bmff::ILC_FIU, "fiu", "Finno-Ugrian (Other)" }, -+ { bmff::ILC_FON, "fon", "Fon" }, -+ { bmff::ILC_FRA, "fra", "French" }, -+ { bmff::ILC_FRM, "frm", "French, Middle (ca.1400-1600)" }, -+ { bmff::ILC_FRO, "fro", "French, Old (842-ca.1400)" }, -+ { bmff::ILC_FRR, "frr", "Northern Frisian" }, -+ { bmff::ILC_FRS, "frs", "Eastern Frisian" }, -+ { bmff::ILC_FRY, "fry", "Western Frisian" }, -+ { bmff::ILC_FUL, "ful", "Fulah" }, -+ { bmff::ILC_FUR, "fur", "Friulian" }, -+ { bmff::ILC_GAA, "gaa", "Ga" }, -+ { bmff::ILC_GAY, "gay", "Gayo" }, -+ { bmff::ILC_GBA, "gba", "Gbaya" }, -+ { bmff::ILC_GEM, "gem", "Germanic (Other)" }, -+ { bmff::ILC_KAT, "kat", "Georgian" }, -+ { bmff::ILC_DEU, "deu", "German" }, -+ { bmff::ILC_GEZ, "gez", "Geez" }, -+ { bmff::ILC_GIL, "gil", "Gilbertese" }, -+ { bmff::ILC_GLA, "gla", "Gaelic; Scottish Gaelic" }, -+ { bmff::ILC_GLE, "gle", "Irish" }, -+ { bmff::ILC_GLG, "glg", "Galician" }, -+ { bmff::ILC_GLV, "glv", "Manx" }, -+ { bmff::ILC_GMH, "gmh", "German, Middle High (ca.1050-1500)" }, -+ { bmff::ILC_GOH, "goh", "German, Old High (ca.750-1050)" }, -+ { bmff::ILC_GON, "gon", "Gondi" }, -+ { bmff::ILC_GOR, "gor", "Gorontalo" }, -+ { bmff::ILC_GOT, "got", "Gothic" }, -+ { bmff::ILC_GRB, "grb", "Grebo" }, -+ { bmff::ILC_GRC, "grc", "Greek, Ancient (to 1453)" }, -+ { bmff::ILC_ELL, "ell", "Greek, Modern (1453-)" }, -+ { bmff::ILC_GRN, "grn", "Guarani" }, -+ { bmff::ILC_GSW, "gsw", "Swiss German; Alemannic; Alsatian" }, -+ { bmff::ILC_GUJ, "guj", "Gujarati" }, -+ { bmff::ILC_GWI, "gwi", "Gwich'in" }, -+ { bmff::ILC_HAI, "hai", "Haida" }, -+ { bmff::ILC_HAT, "hat", "Haitian; Haitian Creole" }, -+ { bmff::ILC_HAU, "hau", "Hausa" }, -+ { bmff::ILC_HAW, "haw", "Hawaiian" }, -+ { bmff::ILC_HEB, "heb", "Hebrew" }, -+ { bmff::ILC_HER, "her", "Herero" }, -+ { bmff::ILC_HIL, "hil", "Hiligaynon" }, -+ { bmff::ILC_HIM, "him", "Himachali" }, -+ { bmff::ILC_HIN, "hin", "Hindi" }, -+ { bmff::ILC_HIT, "hit", "Hittite" }, -+ { bmff::ILC_HMN, "hmn", "Hmong" }, -+ { bmff::ILC_HMO, "hmo", "Hiri Motu" }, -+ { bmff::ILC_HRV, "hrv", "Croatian" }, -+ { bmff::ILC_HSB, "hsb", "Upper Sorbian" }, -+ { bmff::ILC_HUN, "hun", "Hungarian" }, -+ { bmff::ILC_HUP, "hup", "Hupa" }, -+ { bmff::ILC_IBA, "iba", "Iban" }, -+ { bmff::ILC_IBO, "ibo", "Igbo" }, -+ { bmff::ILC_ISL, "isl", "Icelandic" }, -+ { bmff::ILC_IDO, "ido", "Ido" }, -+ { bmff::ILC_III, "iii", "Sichuan Yi; Nuosu" }, -+ { bmff::ILC_IJO, "ijo", "Ijo languages" }, -+ { bmff::ILC_IKU, "iku", "Inuktitut" }, -+ { bmff::ILC_ILE, "ile", "Interlingue; Occidental" }, -+ { bmff::ILC_ILO, "ilo", "Iloko" }, -+ { bmff::ILC_INA, "ina", "Interlingua (International Auxiliary Language Association)" }, -+ { bmff::ILC_INC, "inc", "Indic (Other)" }, -+ { bmff::ILC_IND, "ind", "Indonesian" }, -+ { bmff::ILC_INE, "ine", "Indo-European (Other)" }, -+ { bmff::ILC_INH, "inh", "Ingush" }, -+ { bmff::ILC_IPK, "ipk", "Inupiaq" }, -+ { bmff::ILC_IRA, "ira", "Iranian (Other)" }, -+ { bmff::ILC_IRO, "iro", "Iroquoian languages" }, -+ { bmff::ILC_ITA, "ita", "Italian" }, -+ { bmff::ILC_JAV, "jav", "Javanese" }, -+ { bmff::ILC_JBO, "jbo", "Lojban" }, -+ { bmff::ILC_JPN, "jpn", "Japanese" }, -+ { bmff::ILC_JPR, "jpr", "Judeo-Persian" }, -+ { bmff::ILC_JRB, "jrb", "Judeo-Arabic" }, -+ { bmff::ILC_KAA, "kaa", "Kara-Kalpak" }, -+ { bmff::ILC_KAB, "kab", "Kabyle" }, -+ { bmff::ILC_KAC, "kac", "Kachin; Jingpho" }, -+ { bmff::ILC_KAL, "kal", "Kalaallisut; Greenlandic" }, -+ { bmff::ILC_KAM, "kam", "Kamba" }, -+ { bmff::ILC_KAN, "kan", "Kannada" }, -+ { bmff::ILC_KAR, "kar", "Karen languages" }, -+ { bmff::ILC_KAS, "kas", "Kashmiri" }, -+ { bmff::ILC_KAU, "kau", "Kanuri" }, -+ { bmff::ILC_KAW, "kaw", "Kawi" }, -+ { bmff::ILC_KAZ, "kaz", "Kazakh" }, -+ { bmff::ILC_KBD, "kbd", "Kabardian" }, -+ { bmff::ILC_KHA, "kha", "Khasi" }, -+ { bmff::ILC_KHI, "khi", "Khoisan (Other)" }, -+ { bmff::ILC_KHM, "khm", "Central Khmer" }, -+ { bmff::ILC_KHO, "kho", "Khotanese; Sakan" }, -+ { bmff::ILC_KIK, "kik", "Kikuyu; Gikuyu" }, -+ { bmff::ILC_KIN, "kin", "Kinyarwanda" }, -+ { bmff::ILC_KIR, "kir", "Kirghiz; Kyrgyz" }, -+ { bmff::ILC_KMB, "kmb", "Kimbundu" }, -+ { bmff::ILC_KOK, "kok", "Konkani" }, -+ { bmff::ILC_KOM, "kom", "Komi" }, -+ { bmff::ILC_KON, "kon", "Kongo" }, -+ { bmff::ILC_KOR, "kor", "Korean" }, -+ { bmff::ILC_KOS, "kos", "Kosraean" }, -+ { bmff::ILC_KPE, "kpe", "Kpelle" }, -+ { bmff::ILC_KRC, "krc", "Karachay-Balkar" }, -+ { bmff::ILC_KRL, "krl", "Karelian" }, -+ { bmff::ILC_KRO, "kro", "Kru languages" }, -+ { bmff::ILC_KRU, "kru", "Kurukh" }, -+ { bmff::ILC_KUA, "kua", "Kuanyama; Kwanyama" }, -+ { bmff::ILC_KUM, "kum", "Kumyk" }, -+ { bmff::ILC_KUR, "kur", "Kurdish" }, -+ { bmff::ILC_KUT, "kut", "Kutenai" }, -+ { bmff::ILC_LAD, "lad", "Ladino" }, -+ { bmff::ILC_LAH, "lah", "Lahnda" }, -+ { bmff::ILC_LAM, "lam", "Lamba" }, -+ { bmff::ILC_LAO, "lao", "Lao" }, -+ { bmff::ILC_LAT, "lat", "Latin" }, -+ { bmff::ILC_LAV, "lav", "Latvian" }, -+ { bmff::ILC_LEZ, "lez", "Lezghian" }, -+ { bmff::ILC_LIM, "lim", "Limburgan; Limburger; Limburgish" }, -+ { bmff::ILC_LIN, "lin", "Lingala" }, -+ { bmff::ILC_LIT, "lit", "Lithuanian" }, -+ { bmff::ILC_LOL, "lol", "Mongo" }, -+ { bmff::ILC_LOZ, "loz", "Lozi" }, -+ { bmff::ILC_LTZ, "ltz", "Luxembourgish; Letzeburgesch" }, -+ { bmff::ILC_LUA, "lua", "Luba-Lulua" }, -+ { bmff::ILC_LUB, "lub", "Luba-Katanga" }, -+ { bmff::ILC_LUG, "lug", "Ganda" }, -+ { bmff::ILC_LUI, "lui", "Luiseno" }, -+ { bmff::ILC_LUN, "lun", "Lunda" }, -+ { bmff::ILC_LUO, "luo", "Luo (Kenya and Tanzania)" }, -+ { bmff::ILC_LUS, "lus", "Lushai" }, -+ { bmff::ILC_MKD, "mkd", "Macedonian" }, -+ { bmff::ILC_MAD, "mad", "Madurese" }, -+ { bmff::ILC_MAG, "mag", "Magahi" }, -+ { bmff::ILC_MAH, "mah", "Marshallese" }, -+ { bmff::ILC_MAI, "mai", "Maithili" }, -+ { bmff::ILC_MAK, "mak", "Makasar" }, -+ { bmff::ILC_MAL, "mal", "Malayalam" }, -+ { bmff::ILC_MAN, "man", "Mandingo" }, -+ { bmff::ILC_MRI, "mri", "Maori" }, -+ { bmff::ILC_MAP, "map", "Austronesian (Other)" }, -+ { bmff::ILC_MAR, "mar", "Marathi" }, -+ { bmff::ILC_MAS, "mas", "Masai" }, -+ { bmff::ILC_MSA, "msa", "Malay" }, -+ { bmff::ILC_MDF, "mdf", "Moksha" }, -+ { bmff::ILC_MDR, "mdr", "Mandar" }, -+ { bmff::ILC_MEN, "men", "Mende" }, -+ { bmff::ILC_MGA, "mga", "Irish, Middle (900-1200)" }, -+ { bmff::ILC_MIC, "mic", "Mi'kmaq; Micmac" }, -+ { bmff::ILC_MIN, "min", "Minangkabau" }, -+ { bmff::ILC_MIS, "mis", "Uncoded languages" }, -+ { bmff::ILC_MKH, "mkh", "Mon-Khmer (Other)" }, -+ { bmff::ILC_MLG, "mlg", "Malagasy" }, -+ { bmff::ILC_MLT, "mlt", "Maltese" }, -+ { bmff::ILC_MNC, "mnc", "Manchu" }, -+ { bmff::ILC_MNI, "mni", "Manipuri" }, -+ { bmff::ILC_MNO, "mno", "Manobo languages" }, -+ { bmff::ILC_MOH, "moh", "Mohawk" }, -+ { bmff::ILC_MON, "mon", "Mongolian" }, -+ { bmff::ILC_MOS, "mos", "Mossi" }, -+ { bmff::ILC_MUL, "mul", "Multiple languages" }, -+ { bmff::ILC_MUN, "mun", "Munda languages" }, -+ { bmff::ILC_MUS, "mus", "Creek" }, -+ { bmff::ILC_MWL, "mwl", "Mirandese" }, -+ { bmff::ILC_MWR, "mwr", "Marwari" }, -+ { bmff::ILC_MYN, "myn", "Mayan languages" }, -+ { bmff::ILC_MYV, "myv", "Erzya" }, -+ { bmff::ILC_NAH, "nah", "Nahuatl languages" }, -+ { bmff::ILC_NAI, "nai", "North American Indian" }, -+ { bmff::ILC_NAP, "nap", "Neapolitan" }, -+ { bmff::ILC_NAU, "nau", "Nauru" }, -+ { bmff::ILC_NAV, "nav", "Navajo; Navaho" }, -+ { bmff::ILC_NBL, "nbl", "Ndebele, South; South Ndebele" }, -+ { bmff::ILC_NDE, "nde", "Ndebele, North; North Ndebele" }, -+ { bmff::ILC_NDO, "ndo", "Ndonga" }, -+ { bmff::ILC_NDS, "nds", "Low German; Low Saxon; German, Low; Saxon, Low" }, -+ { bmff::ILC_NEP, "nep", "Nepali" }, -+ { bmff::ILC_NEW, "new", "Nepal Bhasa; Newari" }, -+ { bmff::ILC_NIA, "nia", "Nias" }, -+ { bmff::ILC_NIC, "nic", "Niger-Kordofanian (Other)" }, -+ { bmff::ILC_NIU, "niu", "Niuean" }, -+ { bmff::ILC_NNO, "nno", "Norwegian Nynorsk; Nynorsk, Norwegian" }, -+ { bmff::ILC_NOB, "nob", "Bokmål, Norwegian; Norwegian Bokmål" }, -+ { bmff::ILC_NOG, "nog", "Nogai" }, -+ { bmff::ILC_NON, "non", "Norse, Old" }, -+ { bmff::ILC_NOR, "nor", "Norwegian" }, -+ { bmff::ILC_NQO, "nqo", "N'Ko" }, -+ { bmff::ILC_NSO, "nso", "Pedi; Sepedi; Northern Sotho" }, -+ { bmff::ILC_NUB, "nub", "Nubian languages" }, -+ { bmff::ILC_NWC, "nwc", "Classical Newari; Old Newari; Classical Nepal Bhasa" }, -+ { bmff::ILC_NYA, "nya", "Chichewa; Chewa; Nyanja" }, -+ { bmff::ILC_NYM, "nym", "Nyamwezi" }, -+ { bmff::ILC_NYN, "nyn", "Nyankole" }, -+ { bmff::ILC_NYO, "nyo", "Nyoro" }, -+ { bmff::ILC_NZI, "nzi", "Nzima" }, -+ { bmff::ILC_OCI, "oci", "Occitan (post 1500); Provençal" }, -+ { bmff::ILC_OJI, "oji", "Ojibwa" }, -+ { bmff::ILC_ORI, "ori", "Oriya" }, -+ { bmff::ILC_ORM, "orm", "Oromo" }, -+ { bmff::ILC_OSA, "osa", "Osage" }, -+ { bmff::ILC_OSS, "oss", "Ossetian; Ossetic" }, -+ { bmff::ILC_OTA, "ota", "Turkish, Ottoman (1500-1928)" }, -+ { bmff::ILC_OTO, "oto", "Otomian languages" }, -+ { bmff::ILC_PAA, "paa", "Papuan (Other)" }, -+ { bmff::ILC_PAG, "pag", "Pangasinan" }, -+ { bmff::ILC_PAL, "pal", "Pahlavi" }, -+ { bmff::ILC_PAM, "pam", "Pampanga; Kapampangan" }, -+ { bmff::ILC_PAN, "pan", "Panjabi; Punjabi" }, -+ { bmff::ILC_PAP, "pap", "Papiamento" }, -+ { bmff::ILC_PAU, "pau", "Palauan" }, -+ { bmff::ILC_PEO, "peo", "Persian, Old (ca.600-400 B.C.)" }, -+ { bmff::ILC_FAS, "fas", "Persian" }, -+ { bmff::ILC_PHI, "phi", "Philippine (Other)" }, -+ { bmff::ILC_PHN, "phn", "Phoenician" }, -+ { bmff::ILC_PLI, "pli", "Pali" }, -+ { bmff::ILC_POL, "pol", "Polish" }, -+ { bmff::ILC_PON, "pon", "Pohnpeian" }, -+ { bmff::ILC_POR, "por", "Portuguese" }, -+ { bmff::ILC_PRA, "pra", "Prakrit languages" }, -+ { bmff::ILC_PRO, "pro", "Provençal, Old (to 1500)" }, -+ { bmff::ILC_PUS, "pus", "Pushto; Pashto" }, -+ { bmff::ILC_QUE, "que", "Quechua" }, -+ { bmff::ILC_RAJ, "raj", "Rajasthani" }, -+ { bmff::ILC_RAP, "rap", "Rapanui" }, -+ { bmff::ILC_RAR, "rar", "Rarotongan; Cook Islands Maori" }, -+ { bmff::ILC_ROA, "roa", "Romance (Other)" }, -+ { bmff::ILC_ROH, "roh", "Romansh" }, -+ { bmff::ILC_ROM, "rom", "Romany" }, -+ { bmff::ILC_RON, "ron", "Romanian; Moldavian; Moldovan" }, -+ { bmff::ILC_RUN, "run", "Rundi" }, -+ { bmff::ILC_RUP, "rup", "Aromanian; Arumanian; Macedo-Romanian" }, -+ { bmff::ILC_RUS, "rus", "Russian" }, -+ { bmff::ILC_SAD, "sad", "Sandawe" }, -+ { bmff::ILC_SAG, "sag", "Sango" }, -+ { bmff::ILC_SAH, "sah", "Yakut" }, -+ { bmff::ILC_SAI, "sai", "South American Indian (Other)" }, -+ { bmff::ILC_SAL, "sal", "Salishan languages" }, -+ { bmff::ILC_SAM, "sam", "Samaritan Aramaic" }, -+ { bmff::ILC_SAN, "san", "Sanskrit" }, -+ { bmff::ILC_SAS, "sas", "Sasak" }, -+ { bmff::ILC_SAT, "sat", "Santali" }, -+ { bmff::ILC_SCN, "scn", "Sicilian" }, -+ { bmff::ILC_SCO, "sco", "Scots" }, -+ { bmff::ILC_SEL, "sel", "Selkup" }, -+ { bmff::ILC_SEM, "sem", "Semitic (Other)" }, -+ { bmff::ILC_SGA, "sga", "Irish, Old (to 900)" }, -+ { bmff::ILC_SGN, "sgn", "Sign Languages" }, -+ { bmff::ILC_SHN, "shn", "Shan" }, -+ { bmff::ILC_SID, "sid", "Sidamo" }, -+ { bmff::ILC_SIN, "sin", "Sinhala; Sinhalese" }, -+ { bmff::ILC_SIO, "sio", "Siouan languages" }, -+ { bmff::ILC_SIT, "sit", "Sino-Tibetan (Other)" }, -+ { bmff::ILC_SLA, "sla", "Slavic (Other)" }, -+ { bmff::ILC_SLK, "slk", "Slovak" }, -+ { bmff::ILC_SLV, "slv", "Slovenian" }, -+ { bmff::ILC_SMA, "sma", "Southern Sami" }, -+ { bmff::ILC_SME, "sme", "Northern Sami" }, -+ { bmff::ILC_SMI, "smi", "Sami languages (Other)" }, -+ { bmff::ILC_SMJ, "smj", "Lule Sami" }, -+ { bmff::ILC_SMN, "smn", "Inari Sami" }, -+ { bmff::ILC_SMO, "smo", "Samoan" }, -+ { bmff::ILC_SMS, "sms", "Skolt Sami" }, -+ { bmff::ILC_SNA, "sna", "Shona" }, -+ { bmff::ILC_SND, "snd", "Sindhi" }, -+ { bmff::ILC_SNK, "snk", "Soninke" }, -+ { bmff::ILC_SOG, "sog", "Sogdian" }, -+ { bmff::ILC_SOM, "som", "Somali" }, -+ { bmff::ILC_SON, "son", "Songhai languages" }, -+ { bmff::ILC_SOT, "sot", "Sotho, Southern" }, -+ { bmff::ILC_SPA, "spa", "Spanish; Castilian" }, -+ { bmff::ILC_SRD, "srd", "Sardinian" }, -+ { bmff::ILC_SRN, "srn", "Sranan Tongo" }, -+ { bmff::ILC_SRP, "srp", "Serbian" }, -+ { bmff::ILC_SRR, "srr", "Serer" }, -+ { bmff::ILC_SSA, "ssa", "Nilo-Saharan (Other)" }, -+ { bmff::ILC_SSW, "ssw", "Swati" }, -+ { bmff::ILC_SUK, "suk", "Sukuma" }, -+ { bmff::ILC_SUN, "sun", "Sundanese" }, -+ { bmff::ILC_SUS, "sus", "Susu" }, -+ { bmff::ILC_SUX, "sux", "Sumerian" }, -+ { bmff::ILC_SWA, "swa", "Swahili" }, -+ { bmff::ILC_SWE, "swe", "Swedish" }, -+ { bmff::ILC_SYC, "syc", "Classical Syriac" }, -+ { bmff::ILC_SYR, "syr", "Syriac" }, -+ { bmff::ILC_TAH, "tah", "Tahitian" }, -+ { bmff::ILC_TAI, "tai", "Tai (Other)" }, -+ { bmff::ILC_TAM, "tam", "Tamil" }, -+ { bmff::ILC_TAT, "tat", "Tatar" }, -+ { bmff::ILC_TEL, "tel", "Telugu" }, -+ { bmff::ILC_TEM, "tem", "Timne" }, -+ { bmff::ILC_TER, "ter", "Tereno" }, -+ { bmff::ILC_TET, "tet", "Tetum" }, -+ { bmff::ILC_TGK, "tgk", "Tajik" }, -+ { bmff::ILC_TGL, "tgl", "Tagalog" }, -+ { bmff::ILC_THA, "tha", "Thai" }, -+ { bmff::ILC_BOD, "bod", "Tibetan" }, -+ { bmff::ILC_TIG, "tig", "Tigre" }, -+ { bmff::ILC_TIR, "tir", "Tigrinya" }, -+ { bmff::ILC_TIV, "tiv", "Tiv" }, -+ { bmff::ILC_TKL, "tkl", "Tokelau" }, -+ { bmff::ILC_TLH, "tlh", "Klingon; tlhIngan-Hol" }, -+ { bmff::ILC_TLI, "tli", "Tlingit" }, -+ { bmff::ILC_TMH, "tmh", "Tamashek" }, -+ { bmff::ILC_TOG, "tog", "Tonga (Nyasa)" }, -+ { bmff::ILC_TON, "ton", "Tonga (Tonga Islands)" }, -+ { bmff::ILC_TPI, "tpi", "Tok Pisin" }, -+ { bmff::ILC_TSI, "tsi", "Tsimshian" }, -+ { bmff::ILC_TSN, "tsn", "Tswana" }, -+ { bmff::ILC_TSO, "tso", "Tsonga" }, -+ { bmff::ILC_TUK, "tuk", "Turkmen" }, -+ { bmff::ILC_TUM, "tum", "Tumbuka" }, -+ { bmff::ILC_TUP, "tup", "Tupi languages" }, -+ { bmff::ILC_TUR, "tur", "Turkish" }, -+ { bmff::ILC_TUT, "tut", "Altaic (Other)" }, -+ { bmff::ILC_TVL, "tvl", "Tuvalu" }, -+ { bmff::ILC_TWI, "twi", "Twi" }, -+ { bmff::ILC_TYV, "tyv", "Tuvinian" }, -+ { bmff::ILC_UDM, "udm", "Udmurt" }, -+ { bmff::ILC_UGA, "uga", "Ugaritic" }, -+ { bmff::ILC_UIG, "uig", "Uighur; Uyghur" }, -+ { bmff::ILC_UKR, "ukr", "Ukrainian" }, -+ { bmff::ILC_UMB, "umb", "Umbundu" }, -+ { bmff::ILC_UND, "und", "Undetermined" }, -+ { bmff::ILC_URD, "urd", "Urdu" }, -+ { bmff::ILC_UZB, "uzb", "Uzbek" }, -+ { bmff::ILC_VAI, "vai", "Vai" }, -+ { bmff::ILC_VEN, "ven", "Venda" }, -+ { bmff::ILC_VIE, "vie", "Vietnamese" }, -+ { bmff::ILC_VOL, "vol", "Volapük" }, -+ { bmff::ILC_VOT, "vot", "Votic" }, -+ { bmff::ILC_WAK, "wak", "Wakashan languages" }, -+ { bmff::ILC_WAL, "wal", "Walamo" }, -+ { bmff::ILC_WAR, "war", "Waray" }, -+ { bmff::ILC_WAS, "was", "Washo" }, -+ { bmff::ILC_CYM, "cym", "Welsh" }, -+ { bmff::ILC_WEN, "wen", "Sorbian languages" }, -+ { bmff::ILC_WLN, "wln", "Walloon" }, -+ { bmff::ILC_WOL, "wol", "Wolof" }, -+ { bmff::ILC_XAL, "xal", "Kalmyk; Oirat" }, -+ { bmff::ILC_XHO, "xho", "Xhosa" }, -+ { bmff::ILC_YAO, "yao", "Yao" }, -+ { bmff::ILC_YAP, "yap", "Yapese" }, -+ { bmff::ILC_YID, "yid", "Yiddish" }, -+ { bmff::ILC_YOR, "yor", "Yoruba" }, -+ { bmff::ILC_YPK, "ypk", "Yupik languages" }, -+ { bmff::ILC_ZAP, "zap", "Zapotec" }, -+ { bmff::ILC_ZBL, "zbl", "Blissymbols; Blissymbolics; Bliss" }, -+ { bmff::ILC_ZEN, "zen", "Zenaga" }, -+ { bmff::ILC_ZHA, "zha", "Zhuang; Chuang" }, -+ { bmff::ILC_ZND, "znd", "Zande languages" }, -+ { bmff::ILC_ZUL, "zul", "Zulu" }, -+ { bmff::ILC_ZUN, "zun", "Zuni" }, -+ { bmff::ILC_ZXX, "zxx", "No linguistic content; Not applicable" }, -+ { bmff::ILC_ZZA, "zza", "Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki" }, - -- { mp4v2::impl::bmff::ILC_UNDEFINED } // must be last -+ { bmff::ILC_UNDEFINED } // must be last - }; - - /////////////////////////////////////////////////////////////////////////////// - --#if defined( _MSC_VER ) --namespace mp4v2 { namespace impl { namespace bmff { --#endif -+namespace bmff { -+ // must come after static data init -+ const EnumLanguageCode enumLanguageCode; -+} - - /////////////////////////////////////////////////////////////////////////////// - --// must come after static data init --const EnumLanguageCode enumLanguageCode; -- --/////////////////////////////////////////////////////////////////////////////// -- --}}} // namespace mp4v2::impl::bmff -+}} // namespace mp4v2::impl -diff --git mp4v2-trunk-r355/src/itmf/type.cpp mp4v2-trunk-r355/src/itmf/type.cpp -index da76720..85391c5 100644 ---- mp4v2-trunk-r355/src/itmf/type.cpp -+++ mp4v2-trunk-r355/src/itmf/type.cpp -@@ -24,251 +24,242 @@ - - #include "impl.h" - --// VStudio idiocy prevents defining template instanced static data --// in a namespace. Workaround it by defining in global scope. --// Other platforms will continue to put things in the proper namespace. --#if defined( _MSC_VER ) --using namespace mp4v2::impl::itmf; --#else --namespace mp4v2 { namespace impl { namespace itmf { --#endif -+namespace mp4v2 { namespace impl { - - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumBasicType::Entry EnumBasicType::data[] = { -- { mp4v2::impl::itmf::BT_IMPLICIT, "implicit", "implicit" }, -- { mp4v2::impl::itmf::BT_UTF8, "utf8", "UTF-8" }, -- { mp4v2::impl::itmf::BT_UTF16, "utf16", "UTF-16" }, -- { mp4v2::impl::itmf::BT_SJIS, "sjis", "S/JIS" }, -- { mp4v2::impl::itmf::BT_HTML, "html", "HTML" }, -- { mp4v2::impl::itmf::BT_XML, "xml", "XML" }, -- { mp4v2::impl::itmf::BT_UUID, "uuid", "UUID" }, -- { mp4v2::impl::itmf::BT_ISRC, "isrc", "ISRC" }, -- { mp4v2::impl::itmf::BT_MI3P, "mi3p", "MI3P" }, -- { mp4v2::impl::itmf::BT_GIF, "gif", "GIF" }, -- { mp4v2::impl::itmf::BT_JPEG, "jpeg", "JPEG" }, -- { mp4v2::impl::itmf::BT_PNG, "png", "PNG" }, -- { mp4v2::impl::itmf::BT_URL, "url", "URL" }, -- { mp4v2::impl::itmf::BT_DURATION, "duration", "duration" }, -- { mp4v2::impl::itmf::BT_DATETIME, "datetime", "date/time" }, -- { mp4v2::impl::itmf::BT_GENRES, "genres", "genres" }, -- { mp4v2::impl::itmf::BT_INTEGER, "integer", "integer" }, -- { mp4v2::impl::itmf::BT_RIAA_PA, "riaapa", "RIAA-PA" }, -- { mp4v2::impl::itmf::BT_UPC, "upc", "UPC" }, -- { mp4v2::impl::itmf::BT_BMP, "bmp", "BMP" }, -- -- { mp4v2::impl::itmf::BT_UNDEFINED } // must be last -+const itmf::EnumBasicType::Entry itmf::EnumBasicType::data[] = { -+ { itmf::BT_IMPLICIT, "implicit", "implicit" }, -+ { itmf::BT_UTF8, "utf8", "UTF-8" }, -+ { itmf::BT_UTF16, "utf16", "UTF-16" }, -+ { itmf::BT_SJIS, "sjis", "S/JIS" }, -+ { itmf::BT_HTML, "html", "HTML" }, -+ { itmf::BT_XML, "xml", "XML" }, -+ { itmf::BT_UUID, "uuid", "UUID" }, -+ { itmf::BT_ISRC, "isrc", "ISRC" }, -+ { itmf::BT_MI3P, "mi3p", "MI3P" }, -+ { itmf::BT_GIF, "gif", "GIF" }, -+ { itmf::BT_JPEG, "jpeg", "JPEG" }, -+ { itmf::BT_PNG, "png", "PNG" }, -+ { itmf::BT_URL, "url", "URL" }, -+ { itmf::BT_DURATION, "duration", "duration" }, -+ { itmf::BT_DATETIME, "datetime", "date/time" }, -+ { itmf::BT_GENRES, "genres", "genres" }, -+ { itmf::BT_INTEGER, "integer", "integer" }, -+ { itmf::BT_RIAA_PA, "riaapa", "RIAA-PA" }, -+ { itmf::BT_UPC, "upc", "UPC" }, -+ { itmf::BT_BMP, "bmp", "BMP" }, -+ -+ { itmf::BT_UNDEFINED } // must be last - }; - - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumGenreType::Entry EnumGenreType::data[] = { -- { mp4v2::impl::itmf::GENRE_BLUES, "blues", "Blues" }, -- { mp4v2::impl::itmf::GENRE_CLASSIC_ROCK, "classicrock", "Classic Rock" }, -- { mp4v2::impl::itmf::GENRE_COUNTRY, "country", "Country" }, -- { mp4v2::impl::itmf::GENRE_DANCE, "dance", "Dance" }, -- { mp4v2::impl::itmf::GENRE_DISCO, "disco", "Disco" }, -- { mp4v2::impl::itmf::GENRE_FUNK, "funk", "Funk" }, -- { mp4v2::impl::itmf::GENRE_GRUNGE, "grunge", "Grunge" }, -- { mp4v2::impl::itmf::GENRE_HIP_HOP, "hiphop", "Hop-Hop" }, -- { mp4v2::impl::itmf::GENRE_JAZZ, "jazz", "Jazz" }, -- { mp4v2::impl::itmf::GENRE_METAL, "metal", "Metal" }, -- { mp4v2::impl::itmf::GENRE_NEW_AGE, "newage", "New Age" }, -- { mp4v2::impl::itmf::GENRE_OLDIES, "oldies", "Oldies" }, -- { mp4v2::impl::itmf::GENRE_OTHER, "other", "Other" }, -- { mp4v2::impl::itmf::GENRE_POP, "pop", "Pop" }, -- { mp4v2::impl::itmf::GENRE_R_AND_B, "rand_b", "R&B" }, -- { mp4v2::impl::itmf::GENRE_RAP, "rap", "Rap" }, -- { mp4v2::impl::itmf::GENRE_REGGAE, "reggae", "Reggae" }, -- { mp4v2::impl::itmf::GENRE_ROCK, "rock", "Rock" }, -- { mp4v2::impl::itmf::GENRE_TECHNO, "techno", "Techno" }, -- { mp4v2::impl::itmf::GENRE_INDUSTRIAL, "industrial", "Industrial" }, -- { mp4v2::impl::itmf::GENRE_ALTERNATIVE, "alternative", "Alternative" }, -- { mp4v2::impl::itmf::GENRE_SKA, "ska", "Ska" }, -- { mp4v2::impl::itmf::GENRE_DEATH_METAL, "deathmetal", "Death Metal" }, -- { mp4v2::impl::itmf::GENRE_PRANKS, "pranks", "Pranks" }, -- { mp4v2::impl::itmf::GENRE_SOUNDTRACK, "soundtrack", "Soundtrack" }, -- { mp4v2::impl::itmf::GENRE_EURO_TECHNO, "eurotechno", "Euro-Techno" }, -- { mp4v2::impl::itmf::GENRE_AMBIENT, "ambient", "Ambient" }, -- { mp4v2::impl::itmf::GENRE_TRIP_HOP, "triphop", "Trip-Hop" }, -- { mp4v2::impl::itmf::GENRE_VOCAL, "vocal", "Vocal" }, -- { mp4v2::impl::itmf::GENRE_JAZZ_FUNK, "jazzfunk", "Jazz+Funk" }, -- { mp4v2::impl::itmf::GENRE_FUSION, "fusion", "Fusion" }, -- { mp4v2::impl::itmf::GENRE_TRANCE, "trance", "Trance" }, -- { mp4v2::impl::itmf::GENRE_CLASSICAL, "classical", "Classical" }, -- { mp4v2::impl::itmf::GENRE_INSTRUMENTAL, "instrumental", "Instrumental" }, -- { mp4v2::impl::itmf::GENRE_ACID, "acid", "Acid" }, -- { mp4v2::impl::itmf::GENRE_HOUSE, "house", "House" }, -- { mp4v2::impl::itmf::GENRE_GAME, "game", "Game" }, -- { mp4v2::impl::itmf::GENRE_SOUND_CLIP, "soundclip", "Sound Clip" }, -- { mp4v2::impl::itmf::GENRE_GOSPEL, "gospel", "Gospel" }, -- { mp4v2::impl::itmf::GENRE_NOISE, "noise", "Noise" }, -- { mp4v2::impl::itmf::GENRE_ALTERNROCK, "alternrock", "AlternRock" }, -- { mp4v2::impl::itmf::GENRE_BASS, "bass", "Bass" }, -- { mp4v2::impl::itmf::GENRE_SOUL, "soul", "Soul" }, -- { mp4v2::impl::itmf::GENRE_PUNK, "punk", "Punk" }, -- { mp4v2::impl::itmf::GENRE_SPACE, "space", "Space" }, -- { mp4v2::impl::itmf::GENRE_MEDITATIVE, "meditative", "Meditative" }, -- { mp4v2::impl::itmf::GENRE_INSTRUMENTAL_POP, "instrumentalpop", "Instrumental Pop" }, -- { mp4v2::impl::itmf::GENRE_INSTRUMENTAL_ROCK, "instrumentalrock", "Instrumental Rock" }, -- { mp4v2::impl::itmf::GENRE_ETHNIC, "ethnic", "Ethnic" }, -- { mp4v2::impl::itmf::GENRE_GOTHIC, "gothic", "Gothic" }, -- { mp4v2::impl::itmf::GENRE_DARKWAVE, "darkwave", "Darkwave" }, -- { mp4v2::impl::itmf::GENRE_TECHNO_INDUSTRIAL, "technoindustrial", "Techno-Industrial" }, -- { mp4v2::impl::itmf::GENRE_ELECTRONIC, "electronic", "Electronic" }, -- { mp4v2::impl::itmf::GENRE_POP_FOLK, "popfolk", "Pop-Folk" }, -- { mp4v2::impl::itmf::GENRE_EURODANCE, "eurodance", "Eurodance" }, -- { mp4v2::impl::itmf::GENRE_DREAM, "dream", "Dream" }, -- { mp4v2::impl::itmf::GENRE_SOUTHERN_ROCK, "southernrock", "Southern Rock" }, -- { mp4v2::impl::itmf::GENRE_COMEDY, "comedy", "Comedy" }, -- { mp4v2::impl::itmf::GENRE_CULT, "cult", "Cult" }, -- { mp4v2::impl::itmf::GENRE_GANGSTA, "gangsta", "Gangsta" }, -- { mp4v2::impl::itmf::GENRE_TOP_40, "top40", "Top 40" }, -- { mp4v2::impl::itmf::GENRE_CHRISTIAN_RAP, "christianrap", "Christian Rap" }, -- { mp4v2::impl::itmf::GENRE_POP_FUNK, "popfunk", "Pop/Funk" }, -- { mp4v2::impl::itmf::GENRE_JUNGLE, "jungle", "Jungle" }, -- { mp4v2::impl::itmf::GENRE_NATIVE_AMERICAN, "nativeamerican", "Native American" }, -- { mp4v2::impl::itmf::GENRE_CABARET, "cabaret", "Cabaret" }, -- { mp4v2::impl::itmf::GENRE_NEW_WAVE, "newwave", "New Wave" }, -- { mp4v2::impl::itmf::GENRE_PSYCHEDELIC, "psychedelic", "Psychedelic" }, -- { mp4v2::impl::itmf::GENRE_RAVE, "rave", "Rave" }, -- { mp4v2::impl::itmf::GENRE_SHOWTUNES, "showtunes", "Showtunes" }, -- { mp4v2::impl::itmf::GENRE_TRAILER, "trailer", "Trailer" }, -- { mp4v2::impl::itmf::GENRE_LO_FI, "lofi", "Lo-Fi" }, -- { mp4v2::impl::itmf::GENRE_TRIBAL, "tribal", "Tribal" }, -- { mp4v2::impl::itmf::GENRE_ACID_PUNK, "acidpunk", "Acid Punk" }, -- { mp4v2::impl::itmf::GENRE_ACID_JAZZ, "acidjazz", "Acid Jazz" }, -- { mp4v2::impl::itmf::GENRE_POLKA, "polka", "Polka" }, -- { mp4v2::impl::itmf::GENRE_RETRO, "retro", "Retro" }, -- { mp4v2::impl::itmf::GENRE_MUSICAL, "musical", "Musical" }, -- { mp4v2::impl::itmf::GENRE_ROCK_AND_ROLL, "rockand_roll", "Rock & Roll" }, -- -- { mp4v2::impl::itmf::GENRE_HARD_ROCK, "hardrock", "Hard Rock" }, -- { mp4v2::impl::itmf::GENRE_FOLK, "folk", "Folk" }, -- { mp4v2::impl::itmf::GENRE_FOLK_ROCK, "folkrock", "Folk-Rock" }, -- { mp4v2::impl::itmf::GENRE_NATIONAL_FOLK, "nationalfolk", "National Folk" }, -- { mp4v2::impl::itmf::GENRE_SWING, "swing", "Swing" }, -- { mp4v2::impl::itmf::GENRE_FAST_FUSION, "fastfusion", "Fast Fusion" }, -- { mp4v2::impl::itmf::GENRE_BEBOB, "bebob", "Bebob" }, -- { mp4v2::impl::itmf::GENRE_LATIN, "latin", "Latin" }, -- { mp4v2::impl::itmf::GENRE_REVIVAL, "revival", "Revival" }, -- { mp4v2::impl::itmf::GENRE_CELTIC, "celtic", "Celtic" }, -- { mp4v2::impl::itmf::GENRE_BLUEGRASS, "bluegrass", "Bluegrass" }, -- { mp4v2::impl::itmf::GENRE_AVANTGARDE, "avantgarde", "Avantgarde" }, -- { mp4v2::impl::itmf::GENRE_GOTHIC_ROCK, "gothicrock", "Gothic Rock" }, -- { mp4v2::impl::itmf::GENRE_PROGRESSIVE_ROCK, "progressiverock", "Progresive Rock" }, -- { mp4v2::impl::itmf::GENRE_PSYCHEDELIC_ROCK, "psychedelicrock", "Psychedelic Rock" }, -- { mp4v2::impl::itmf::GENRE_SYMPHONIC_ROCK, "symphonicrock", "SYMPHONIC_ROCK" }, -- { mp4v2::impl::itmf::GENRE_SLOW_ROCK, "slowrock", "Slow Rock" }, -- { mp4v2::impl::itmf::GENRE_BIG_BAND, "bigband", "Big Band" }, -- { mp4v2::impl::itmf::GENRE_CHORUS, "chorus", "Chorus" }, -- { mp4v2::impl::itmf::GENRE_EASY_LISTENING, "easylistening", "Easy Listening" }, -- { mp4v2::impl::itmf::GENRE_ACOUSTIC, "acoustic", "Acoustic" }, -- { mp4v2::impl::itmf::GENRE_HUMOUR, "humour", "Humor" }, -- { mp4v2::impl::itmf::GENRE_SPEECH, "speech", "Speech" }, -- { mp4v2::impl::itmf::GENRE_CHANSON, "chanson", "Chason" }, -- { mp4v2::impl::itmf::GENRE_OPERA, "opera", "Opera" }, -- { mp4v2::impl::itmf::GENRE_CHAMBER_MUSIC, "chambermusic", "Chamber Music" }, -- { mp4v2::impl::itmf::GENRE_SONATA, "sonata", "Sonata" }, -- { mp4v2::impl::itmf::GENRE_SYMPHONY, "symphony", "Symphony" }, -- { mp4v2::impl::itmf::GENRE_BOOTY_BASS, "bootybass", "Booty Bass" }, -- { mp4v2::impl::itmf::GENRE_PRIMUS, "primus", "Primus" }, -- { mp4v2::impl::itmf::GENRE_PORN_GROOVE, "porngroove", "Porn Groove" }, -- { mp4v2::impl::itmf::GENRE_SATIRE, "satire", "Satire" }, -- { mp4v2::impl::itmf::GENRE_SLOW_JAM, "slowjam", "Slow Jam" }, -- { mp4v2::impl::itmf::GENRE_CLUB, "club", "Club" }, -- { mp4v2::impl::itmf::GENRE_TANGO, "tango", "Tango" }, -- { mp4v2::impl::itmf::GENRE_SAMBA, "samba", "Samba" }, -- { mp4v2::impl::itmf::GENRE_FOLKLORE, "folklore", "Folklore" }, -- { mp4v2::impl::itmf::GENRE_BALLAD, "ballad", "Ballad" }, -- { mp4v2::impl::itmf::GENRE_POWER_BALLAD, "powerballad", "Power Ballad" }, -- { mp4v2::impl::itmf::GENRE_RHYTHMIC_SOUL, "rhythmicsoul", "Rhythmic Soul" }, -- { mp4v2::impl::itmf::GENRE_FREESTYLE, "freestyle", "Freestyle" }, -- { mp4v2::impl::itmf::GENRE_DUET, "duet", "Duet" }, -- { mp4v2::impl::itmf::GENRE_PUNK_ROCK, "punkrock", "Punk Rock" }, -- { mp4v2::impl::itmf::GENRE_DRUM_SOLO, "drumsolo", "Drum Solo" }, -- { mp4v2::impl::itmf::GENRE_A_CAPELLA, "acapella", "A capella" }, -- { mp4v2::impl::itmf::GENRE_EURO_HOUSE, "eurohouse", "Euro-House" }, -- { mp4v2::impl::itmf::GENRE_DANCE_HALL, "dancehall", "Dance Hall" }, -- { mp4v2::impl::itmf::GENRE_NONE, "none", "none" }, -- -- { mp4v2::impl::itmf::GENRE_UNDEFINED } // must be last -+const itmf::EnumGenreType::Entry itmf::EnumGenreType::data[] = { -+ { itmf::GENRE_BLUES, "blues", "Blues" }, -+ { itmf::GENRE_CLASSIC_ROCK, "classicrock", "Classic Rock" }, -+ { itmf::GENRE_COUNTRY, "country", "Country" }, -+ { itmf::GENRE_DANCE, "dance", "Dance" }, -+ { itmf::GENRE_DISCO, "disco", "Disco" }, -+ { itmf::GENRE_FUNK, "funk", "Funk" }, -+ { itmf::GENRE_GRUNGE, "grunge", "Grunge" }, -+ { itmf::GENRE_HIP_HOP, "hiphop", "Hop-Hop" }, -+ { itmf::GENRE_JAZZ, "jazz", "Jazz" }, -+ { itmf::GENRE_METAL, "metal", "Metal" }, -+ { itmf::GENRE_NEW_AGE, "newage", "New Age" }, -+ { itmf::GENRE_OLDIES, "oldies", "Oldies" }, -+ { itmf::GENRE_OTHER, "other", "Other" }, -+ { itmf::GENRE_POP, "pop", "Pop" }, -+ { itmf::GENRE_R_AND_B, "rand_b", "R&B" }, -+ { itmf::GENRE_RAP, "rap", "Rap" }, -+ { itmf::GENRE_REGGAE, "reggae", "Reggae" }, -+ { itmf::GENRE_ROCK, "rock", "Rock" }, -+ { itmf::GENRE_TECHNO, "techno", "Techno" }, -+ { itmf::GENRE_INDUSTRIAL, "industrial", "Industrial" }, -+ { itmf::GENRE_ALTERNATIVE, "alternative", "Alternative" }, -+ { itmf::GENRE_SKA, "ska", "Ska" }, -+ { itmf::GENRE_DEATH_METAL, "deathmetal", "Death Metal" }, -+ { itmf::GENRE_PRANKS, "pranks", "Pranks" }, -+ { itmf::GENRE_SOUNDTRACK, "soundtrack", "Soundtrack" }, -+ { itmf::GENRE_EURO_TECHNO, "eurotechno", "Euro-Techno" }, -+ { itmf::GENRE_AMBIENT, "ambient", "Ambient" }, -+ { itmf::GENRE_TRIP_HOP, "triphop", "Trip-Hop" }, -+ { itmf::GENRE_VOCAL, "vocal", "Vocal" }, -+ { itmf::GENRE_JAZZ_FUNK, "jazzfunk", "Jazz+Funk" }, -+ { itmf::GENRE_FUSION, "fusion", "Fusion" }, -+ { itmf::GENRE_TRANCE, "trance", "Trance" }, -+ { itmf::GENRE_CLASSICAL, "classical", "Classical" }, -+ { itmf::GENRE_INSTRUMENTAL, "instrumental", "Instrumental" }, -+ { itmf::GENRE_ACID, "acid", "Acid" }, -+ { itmf::GENRE_HOUSE, "house", "House" }, -+ { itmf::GENRE_GAME, "game", "Game" }, -+ { itmf::GENRE_SOUND_CLIP, "soundclip", "Sound Clip" }, -+ { itmf::GENRE_GOSPEL, "gospel", "Gospel" }, -+ { itmf::GENRE_NOISE, "noise", "Noise" }, -+ { itmf::GENRE_ALTERNROCK, "alternrock", "AlternRock" }, -+ { itmf::GENRE_BASS, "bass", "Bass" }, -+ { itmf::GENRE_SOUL, "soul", "Soul" }, -+ { itmf::GENRE_PUNK, "punk", "Punk" }, -+ { itmf::GENRE_SPACE, "space", "Space" }, -+ { itmf::GENRE_MEDITATIVE, "meditative", "Meditative" }, -+ { itmf::GENRE_INSTRUMENTAL_POP, "instrumentalpop", "Instrumental Pop" }, -+ { itmf::GENRE_INSTRUMENTAL_ROCK, "instrumentalrock", "Instrumental Rock" }, -+ { itmf::GENRE_ETHNIC, "ethnic", "Ethnic" }, -+ { itmf::GENRE_GOTHIC, "gothic", "Gothic" }, -+ { itmf::GENRE_DARKWAVE, "darkwave", "Darkwave" }, -+ { itmf::GENRE_TECHNO_INDUSTRIAL, "technoindustrial", "Techno-Industrial" }, -+ { itmf::GENRE_ELECTRONIC, "electronic", "Electronic" }, -+ { itmf::GENRE_POP_FOLK, "popfolk", "Pop-Folk" }, -+ { itmf::GENRE_EURODANCE, "eurodance", "Eurodance" }, -+ { itmf::GENRE_DREAM, "dream", "Dream" }, -+ { itmf::GENRE_SOUTHERN_ROCK, "southernrock", "Southern Rock" }, -+ { itmf::GENRE_COMEDY, "comedy", "Comedy" }, -+ { itmf::GENRE_CULT, "cult", "Cult" }, -+ { itmf::GENRE_GANGSTA, "gangsta", "Gangsta" }, -+ { itmf::GENRE_TOP_40, "top40", "Top 40" }, -+ { itmf::GENRE_CHRISTIAN_RAP, "christianrap", "Christian Rap" }, -+ { itmf::GENRE_POP_FUNK, "popfunk", "Pop/Funk" }, -+ { itmf::GENRE_JUNGLE, "jungle", "Jungle" }, -+ { itmf::GENRE_NATIVE_AMERICAN, "nativeamerican", "Native American" }, -+ { itmf::GENRE_CABARET, "cabaret", "Cabaret" }, -+ { itmf::GENRE_NEW_WAVE, "newwave", "New Wave" }, -+ { itmf::GENRE_PSYCHEDELIC, "psychedelic", "Psychedelic" }, -+ { itmf::GENRE_RAVE, "rave", "Rave" }, -+ { itmf::GENRE_SHOWTUNES, "showtunes", "Showtunes" }, -+ { itmf::GENRE_TRAILER, "trailer", "Trailer" }, -+ { itmf::GENRE_LO_FI, "lofi", "Lo-Fi" }, -+ { itmf::GENRE_TRIBAL, "tribal", "Tribal" }, -+ { itmf::GENRE_ACID_PUNK, "acidpunk", "Acid Punk" }, -+ { itmf::GENRE_ACID_JAZZ, "acidjazz", "Acid Jazz" }, -+ { itmf::GENRE_POLKA, "polka", "Polka" }, -+ { itmf::GENRE_RETRO, "retro", "Retro" }, -+ { itmf::GENRE_MUSICAL, "musical", "Musical" }, -+ { itmf::GENRE_ROCK_AND_ROLL, "rockand_roll", "Rock & Roll" }, -+ -+ { itmf::GENRE_HARD_ROCK, "hardrock", "Hard Rock" }, -+ { itmf::GENRE_FOLK, "folk", "Folk" }, -+ { itmf::GENRE_FOLK_ROCK, "folkrock", "Folk-Rock" }, -+ { itmf::GENRE_NATIONAL_FOLK, "nationalfolk", "National Folk" }, -+ { itmf::GENRE_SWING, "swing", "Swing" }, -+ { itmf::GENRE_FAST_FUSION, "fastfusion", "Fast Fusion" }, -+ { itmf::GENRE_BEBOB, "bebob", "Bebob" }, -+ { itmf::GENRE_LATIN, "latin", "Latin" }, -+ { itmf::GENRE_REVIVAL, "revival", "Revival" }, -+ { itmf::GENRE_CELTIC, "celtic", "Celtic" }, -+ { itmf::GENRE_BLUEGRASS, "bluegrass", "Bluegrass" }, -+ { itmf::GENRE_AVANTGARDE, "avantgarde", "Avantgarde" }, -+ { itmf::GENRE_GOTHIC_ROCK, "gothicrock", "Gothic Rock" }, -+ { itmf::GENRE_PROGRESSIVE_ROCK, "progressiverock", "Progresive Rock" }, -+ { itmf::GENRE_PSYCHEDELIC_ROCK, "psychedelicrock", "Psychedelic Rock" }, -+ { itmf::GENRE_SYMPHONIC_ROCK, "symphonicrock", "SYMPHONIC_ROCK" }, -+ { itmf::GENRE_SLOW_ROCK, "slowrock", "Slow Rock" }, -+ { itmf::GENRE_BIG_BAND, "bigband", "Big Band" }, -+ { itmf::GENRE_CHORUS, "chorus", "Chorus" }, -+ { itmf::GENRE_EASY_LISTENING, "easylistening", "Easy Listening" }, -+ { itmf::GENRE_ACOUSTIC, "acoustic", "Acoustic" }, -+ { itmf::GENRE_HUMOUR, "humour", "Humor" }, -+ { itmf::GENRE_SPEECH, "speech", "Speech" }, -+ { itmf::GENRE_CHANSON, "chanson", "Chason" }, -+ { itmf::GENRE_OPERA, "opera", "Opera" }, -+ { itmf::GENRE_CHAMBER_MUSIC, "chambermusic", "Chamber Music" }, -+ { itmf::GENRE_SONATA, "sonata", "Sonata" }, -+ { itmf::GENRE_SYMPHONY, "symphony", "Symphony" }, -+ { itmf::GENRE_BOOTY_BASS, "bootybass", "Booty Bass" }, -+ { itmf::GENRE_PRIMUS, "primus", "Primus" }, -+ { itmf::GENRE_PORN_GROOVE, "porngroove", "Porn Groove" }, -+ { itmf::GENRE_SATIRE, "satire", "Satire" }, -+ { itmf::GENRE_SLOW_JAM, "slowjam", "Slow Jam" }, -+ { itmf::GENRE_CLUB, "club", "Club" }, -+ { itmf::GENRE_TANGO, "tango", "Tango" }, -+ { itmf::GENRE_SAMBA, "samba", "Samba" }, -+ { itmf::GENRE_FOLKLORE, "folklore", "Folklore" }, -+ { itmf::GENRE_BALLAD, "ballad", "Ballad" }, -+ { itmf::GENRE_POWER_BALLAD, "powerballad", "Power Ballad" }, -+ { itmf::GENRE_RHYTHMIC_SOUL, "rhythmicsoul", "Rhythmic Soul" }, -+ { itmf::GENRE_FREESTYLE, "freestyle", "Freestyle" }, -+ { itmf::GENRE_DUET, "duet", "Duet" }, -+ { itmf::GENRE_PUNK_ROCK, "punkrock", "Punk Rock" }, -+ { itmf::GENRE_DRUM_SOLO, "drumsolo", "Drum Solo" }, -+ { itmf::GENRE_A_CAPELLA, "acapella", "A capella" }, -+ { itmf::GENRE_EURO_HOUSE, "eurohouse", "Euro-House" }, -+ { itmf::GENRE_DANCE_HALL, "dancehall", "Dance Hall" }, -+ { itmf::GENRE_NONE, "none", "none" }, -+ -+ { itmf::GENRE_UNDEFINED } // must be last - }; - - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumStikType::Entry EnumStikType::data[] = { -- { mp4v2::impl::itmf::STIK_OLD_MOVIE, "oldmovie", "Movie" }, -- { mp4v2::impl::itmf::STIK_NORMAL, "normal", "Normal" }, -- { mp4v2::impl::itmf::STIK_AUDIOBOOK, "audiobook", "Audio Book" }, -- { mp4v2::impl::itmf::STIK_MUSIC_VIDEO, "musicvideo", "Music Video" }, -- { mp4v2::impl::itmf::STIK_MOVIE, "movie", "Movie" }, -- { mp4v2::impl::itmf::STIK_TV_SHOW, "tvshow", "TV Show" }, -- { mp4v2::impl::itmf::STIK_BOOKLET, "booklet", "Booklet" }, -- { mp4v2::impl::itmf::STIK_RINGTONE, "ringtone", "Ringtone" }, -- -- { mp4v2::impl::itmf::STIK_UNDEFINED } // must be last -+const itmf::EnumStikType::Entry itmf::EnumStikType::data[] = { -+ { itmf::STIK_OLD_MOVIE, "oldmovie", "Movie" }, -+ { itmf::STIK_NORMAL, "normal", "Normal" }, -+ { itmf::STIK_AUDIOBOOK, "audiobook", "Audio Book" }, -+ { itmf::STIK_MUSIC_VIDEO, "musicvideo", "Music Video" }, -+ { itmf::STIK_MOVIE, "movie", "Movie" }, -+ { itmf::STIK_TV_SHOW, "tvshow", "TV Show" }, -+ { itmf::STIK_BOOKLET, "booklet", "Booklet" }, -+ { itmf::STIK_RINGTONE, "ringtone", "Ringtone" }, -+ -+ { itmf::STIK_UNDEFINED } // must be last - }; - - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumAccountType::Entry EnumAccountType::data[] = { -- { mp4v2::impl::itmf::AT_ITUNES, "itunes", "iTunes" }, -- { mp4v2::impl::itmf::AT_AOL, "aol", "AOL" }, -+const itmf::EnumAccountType::Entry itmf::EnumAccountType::data[] = { -+ { itmf::AT_ITUNES, "itunes", "iTunes" }, -+ { itmf::AT_AOL, "aol", "AOL" }, - -- { mp4v2::impl::itmf::AT_UNDEFINED } // must be last -+ { itmf::AT_UNDEFINED } // must be last - }; - - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumCountryCode::Entry EnumCountryCode::data[] = { -- { mp4v2::impl::itmf::CC_USA, "usa", "United States" }, -- { mp4v2::impl::itmf::CC_USA, "fra", "France" }, -- { mp4v2::impl::itmf::CC_DEU, "ger", "Germany" }, -- { mp4v2::impl::itmf::CC_GBR, "gbr", "United Kingdom" }, -- { mp4v2::impl::itmf::CC_AUT, "aut", "Austria" }, -- { mp4v2::impl::itmf::CC_BEL, "bel", "Belgium" }, -- { mp4v2::impl::itmf::CC_FIN, "fin", "Finland" }, -- { mp4v2::impl::itmf::CC_GRC, "grc", "Greece" }, -- { mp4v2::impl::itmf::CC_IRL, "irl", "Ireland" }, -- { mp4v2::impl::itmf::CC_ITA, "ita", "Italy" }, -- { mp4v2::impl::itmf::CC_LUX, "lux", "Luxembourg" }, -- { mp4v2::impl::itmf::CC_NLD, "nld", "Netherlands" }, -- { mp4v2::impl::itmf::CC_PRT, "prt", "Portugal" }, -- { mp4v2::impl::itmf::CC_ESP, "esp", "Spain" }, -- { mp4v2::impl::itmf::CC_CAN, "can", "Canada" }, -- { mp4v2::impl::itmf::CC_SWE, "swe", "Sweden" }, -- { mp4v2::impl::itmf::CC_NOR, "nor", "Norway" }, -- { mp4v2::impl::itmf::CC_DNK, "dnk", "Denmark" }, -- { mp4v2::impl::itmf::CC_CHE, "che", "Switzerland" }, -- { mp4v2::impl::itmf::CC_AUS, "aus", "Australia" }, -- { mp4v2::impl::itmf::CC_NZL, "nzl", "New Zealand" }, -- { mp4v2::impl::itmf::CC_JPN, "jpn", "Japan" }, -- -- { mp4v2::impl::itmf::CC_UNDEFINED } // must be last -+const itmf::EnumCountryCode::Entry itmf::EnumCountryCode::data[] = { -+ { itmf::CC_USA, "usa", "United States" }, -+ { itmf::CC_USA, "fra", "France" }, -+ { itmf::CC_DEU, "ger", "Germany" }, -+ { itmf::CC_GBR, "gbr", "United Kingdom" }, -+ { itmf::CC_AUT, "aut", "Austria" }, -+ { itmf::CC_BEL, "bel", "Belgium" }, -+ { itmf::CC_FIN, "fin", "Finland" }, -+ { itmf::CC_GRC, "grc", "Greece" }, -+ { itmf::CC_IRL, "irl", "Ireland" }, -+ { itmf::CC_ITA, "ita", "Italy" }, -+ { itmf::CC_LUX, "lux", "Luxembourg" }, -+ { itmf::CC_NLD, "nld", "Netherlands" }, -+ { itmf::CC_PRT, "prt", "Portugal" }, -+ { itmf::CC_ESP, "esp", "Spain" }, -+ { itmf::CC_CAN, "can", "Canada" }, -+ { itmf::CC_SWE, "swe", "Sweden" }, -+ { itmf::CC_NOR, "nor", "Norway" }, -+ { itmf::CC_DNK, "dnk", "Denmark" }, -+ { itmf::CC_CHE, "che", "Switzerland" }, -+ { itmf::CC_AUS, "aus", "Australia" }, -+ { itmf::CC_NZL, "nzl", "New Zealand" }, -+ { itmf::CC_JPN, "jpn", "Japan" }, -+ -+ { itmf::CC_UNDEFINED } // must be last - }; - - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumContentRating::Entry EnumContentRating::data[] = { -- { mp4v2::impl::itmf::CR_NONE, "none", "None" }, -- { mp4v2::impl::itmf::CR_CLEAN, "clean", "Clean" }, -- { mp4v2::impl::itmf::CR_EXPLICIT, "explicit", "Explicit" }, -+const itmf::EnumContentRating::Entry itmf::EnumContentRating::data[] = { -+ { itmf::CR_NONE, "none", "None" }, -+ { itmf::CR_CLEAN, "clean", "Clean" }, -+ { itmf::CR_EXPLICIT, "explicit", "Explicit" }, - -- { mp4v2::impl::itmf::CR_UNDEFINED } // must be last -+ { itmf::CR_UNDEFINED } // must be last - }; - - /////////////////////////////////////////////////////////////////////////////// - --#if defined( _MSC_VER ) --namespace mp4v2 { namespace impl { namespace itmf { --#endif -+namespace itmf { - - /////////////////////////////////////////////////////////////////////////////// - diff --git a/contrib/mp4v2/P00-mingw-dllimport.patch b/contrib/mp4v2/P00-mingw-dllimport.patch deleted file mode 100644 index 5b7f1a300..000000000 --- a/contrib/mp4v2/P00-mingw-dllimport.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mp4v2-trunk-r355/include/mp4v2/platform.h 2009-05-20 19:52:26.000000000 -0700 -+++ xxx/include/mp4v2/platform.h 2010-09-11 09:36:20.881523832 -0700 -@@ -24,7 +24,7 @@ - #if defined( _WIN32 ) || defined( __MINGW32__ ) - # if defined( _WINDLL ) || defined( DLL_EXPORT ) - # define MP4V2_EXPORT __declspec(dllexport) --# elif defined( _DLL ) || defined( DLL_IMPORT ) -+# elif defined( DLL_IMPORT ) - # define MP4V2_EXPORT __declspec(dllimport) - # else - # define MP4V2_EXPORT diff --git a/contrib/mp4v2/module.defs b/contrib/mp4v2/module.defs deleted file mode 100644 index 67c95a5af..000000000 --- a/contrib/mp4v2/module.defs +++ /dev/null @@ -1,18 +0,0 @@ -$(eval $(call import.MODULE.defs,MP4V2,mp4v2)) -$(eval $(call import.CONTRIB.defs,MP4V2)) - -MP4V2.FETCH.url = http://download.handbrake.fr/handbrake/contrib/mp4v2-trunk-r355.tar.bz2 - -## propagate more flags -MP4V2.CONFIGURE.env.CFLAGS = CFLAGS="$(call fn.ARGS,MP4V2.GCC,*archs *sysroot *minver ?extra *D .g .O)" -MP4V2.CONFIGURE.env.CXXFLAGS = CXXFLAGS="$(call fn.ARGS,MP4V2.GCC,*archs *sysroot *minver ?extra *D .g .O)" - -## save some build-time by disabling utils -MP4V2.CONFIGURE.extra += --disable-util - -# gch causes build errors with -g3 on many gcc toolchains -MP4V2.CONFIGURE.extra += --disable-gch - -## optional static libs need to be marked -MP4V2.OSL.libs = mp4v2 -MP4V2.OSL.files = $(foreach i,$(MP4V2.OSL.libs),$(call fn.ABSOLUTE,$(CONTRIB.build/)lib/lib$(i).a)) diff --git a/contrib/mp4v2/module.rules b/contrib/mp4v2/module.rules deleted file mode 100644 index 95686c429..000000000 --- a/contrib/mp4v2/module.rules +++ /dev/null @@ -1,2 +0,0 @@ -$(eval $(call import.MODULE.rules,MP4V2)) -$(eval $(call import.CONTRIB.rules,MP4V2)) |