├── src ├── lib │ ├── dirs │ ├── oggvorbis │ │ ├── dirs │ │ ├── lib │ │ │ ├── dirs │ │ │ ├── vorbis │ │ │ │ ├── books │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── floor │ │ │ │ │ │ └── Makefile.am │ │ │ │ │ ├── uncoupled │ │ │ │ │ │ └── Makefile.am │ │ │ │ │ └── coupled │ │ │ │ │ │ └── Makefile.am │ │ │ │ ├── modes │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── setup_44p51.h │ │ │ │ │ ├── setup_44u.h │ │ │ │ │ └── psych_11.h │ │ │ │ ├── sources │ │ │ │ ├── window.h │ │ │ │ ├── tone.c │ │ │ │ ├── lpc.h │ │ │ │ ├── lsp.h │ │ │ │ ├── smallft.h │ │ │ │ ├── lookup.h │ │ │ │ ├── registry.h │ │ │ │ ├── COPYING │ │ │ │ ├── registry.c │ │ │ │ ├── highlevel.h │ │ │ │ ├── Makefile.am │ │ │ │ ├── bitrate.h │ │ │ │ ├── misc.h │ │ │ │ ├── mdct.h │ │ │ │ └── envelope.h │ │ │ └── ogg │ │ │ │ ├── sources │ │ │ │ └── COPYING │ │ └── update_oggvorbis.bat │ ├── mp4v2 │ │ ├── dirs │ │ ├── libplatform │ │ │ ├── dirs │ │ │ ├── src │ │ │ │ ├── File.cpp │ │ │ │ ├── error.cpp │ │ │ │ ├── option.cpp │ │ │ │ ├── time.cpp │ │ │ │ ├── FileSystem.cpp │ │ │ │ ├── File_win32.cpp │ │ │ │ ├── time_win32.cpp │ │ │ │ ├── platform_win32.cpp │ │ │ │ ├── random_win32.cpp │ │ │ │ ├── FileSystem_win32.cpp │ │ │ │ ├── process_win32.cpp │ │ │ │ ├── set_symlinkts.bat │ │ │ │ ├── sources │ │ │ │ └── create_symlink.bat │ │ │ ├── impl.h │ │ │ ├── process │ │ │ │ ├── process_posix.cpp │ │ │ │ ├── process_win32.cpp │ │ │ │ └── process.h │ │ │ ├── time │ │ │ │ ├── time.cpp │ │ │ │ ├── time_win32.cpp │ │ │ │ ├── time_posix.cpp │ │ │ │ └── time.h │ │ │ ├── sys │ │ │ │ ├── error.h │ │ │ │ └── error.cpp │ │ │ ├── number │ │ │ │ ├── random.h │ │ │ │ ├── random_posix.cpp │ │ │ │ └── random_win32.cpp │ │ │ ├── platform_base.h │ │ │ ├── warning.h │ │ │ ├── platform.h │ │ │ ├── io │ │ │ │ └── FileSystem_posix.cpp │ │ │ ├── config.h.in │ │ │ ├── endian.h │ │ │ ├── platform_win32_impl.h │ │ │ └── platform_posix.h │ │ ├── src │ │ │ ├── dirs │ │ │ ├── atom_standard.cpp │ │ │ ├── impl.h │ │ │ ├── build │ │ │ │ └── MAKEFILE.INC │ │ │ ├── text.h │ │ │ ├── bmff │ │ │ │ ├── sources │ │ │ │ ├── impl.h │ │ │ │ └── bmff.h │ │ │ ├── itmf │ │ │ │ ├── sources │ │ │ │ ├── impl.h │ │ │ │ ├── itmf.h │ │ │ │ └── generic.h │ │ │ ├── qtff │ │ │ │ ├── sources │ │ │ │ ├── impl.h │ │ │ │ ├── coding.h │ │ │ │ └── qtff.h │ │ │ ├── atom_nmhd.cpp │ │ │ ├── text.cpp │ │ │ ├── src.h │ │ │ ├── atom_mdat.cpp │ │ │ ├── atom_vmhd.cpp │ │ │ ├── atom_pasp.cpp │ │ │ ├── atom_smi.cpp │ │ │ ├── atom_mp4s.cpp │ │ │ ├── atom_href.cpp │ │ │ ├── atom_ftab.cpp │ │ │ ├── atom_hnti.cpp │ │ │ ├── atom_uuid.cpp │ │ │ ├── atom_sdtp.cpp │ │ │ ├── atom_free.cpp │ │ │ ├── atom_urn.cpp │ │ │ ├── atom_udta.cpp │ │ │ ├── atom_stdp.cpp │ │ │ ├── atom_treftype.cpp │ │ │ ├── atom_gmin.cpp │ │ │ ├── util.h │ │ │ ├── atom_ftyp.cpp │ │ │ ├── atom_sdp.cpp │ │ │ ├── atom_dref.cpp │ │ │ ├── atom_chpl.cpp │ │ │ ├── atom_damr.cpp │ │ │ ├── atom_url.cpp │ │ │ ├── atom_colr.cpp │ │ │ ├── atom_enca.cpp │ │ │ ├── atom_stbl.cpp │ │ │ ├── atom_hinf.cpp │ │ │ ├── atom_ac3.cpp │ │ │ ├── exception.h │ │ │ ├── qosqualifiers.h │ │ │ ├── atom_amr.cpp │ │ │ ├── atom_tfhd.cpp │ │ │ ├── atom_stsz.cpp │ │ │ └── 3gp.cpp │ │ └── include │ │ │ └── mp4v2 │ │ │ ├── project.h │ │ │ └── project.h.in │ └── winamp │ │ └── include │ │ └── ipc_pe.h ├── dirs ├── M3u.h ├── RMP.h ├── Vqf.h ├── ver.h ├── M3u.cpp ├── Mp3Info.h ├── RMP.cpp ├── RiffSIF.h ├── StdAfx.h ├── Tag_Ape.h ├── Tag_Mp4.h ├── Tag_Ogg.h ├── Tag_Wma.h ├── Vqf.cpp ├── classID.h ├── mp3infp.h ├── Id3tagv1.h ├── Id3tagv2.h ├── Mp3Info.cpp ├── ReadMe.txt ├── RiffSIF.cpp ├── ShellExt.h ├── StdAfx.cpp ├── Tag_Ape.cpp ├── Tag_Mp4.cpp ├── Tag_Ogg.cpp ├── Tag_Wma.cpp ├── io_utf8.cpp ├── mp3infp.cpp ├── mp3infp.def ├── mp3infp.dsp ├── mp3infp.dsw ├── mp3infp.rc ├── mp3infp.txt ├── mp3infp.ver ├── res │ ├── ffw.bmp │ ├── rew.bmp │ ├── id3v2.ico │ ├── pause.bmp │ ├── play.bmp │ ├── stop.bmp │ ├── mp3infp.rc2 │ └── mp3infp.dll.manifest ├── w2kstub.cpp ├── Id3tagv1.cpp ├── Id3tagv2.cpp ├── MMCommand.cpp ├── Page_ape.cpp ├── Page_avi.cpp ├── Page_m3u.cpp ├── Page_mp4.cpp ├── Page_ogg.cpp ├── Page_vqf.cpp ├── Page_wave.cpp ├── Page_wma.cpp ├── ReadMe_dll.txt ├── RegAccess.cpp ├── ShellExt.cpp ├── Tag_OpenDML.h ├── Dlg_ogg_exttag.h ├── GlobalCommand.h ├── Page_mp3_APE.cpp ├── Page_mp3_RMP.cpp ├── Tag_OpenDML.cpp ├── DlgWriteProgress.h ├── Dlg_ogg_exttag.cpp ├── GlobalCommand.cpp ├── Info_MonkeysAudio.h ├── Page_mp3_ID3V1.cpp ├── Page_mp3_ID3V2.cpp ├── Page_mp3_LAME.cpp ├── help_Project │ ├── ov.htm │ ├── env.htm │ ├── faq.htm │ ├── config.htm │ ├── expset.png │ ├── history.htm │ ├── index.htm │ ├── mailto.png │ ├── mp3infp.hhp │ ├── copyright.htm │ ├── extension.htm │ ├── helpindex.htm │ ├── uninstall.htm │ ├── config_win10.png │ ├── extension0.htm │ ├── prop_mp3_2.png │ ├── column_setup1.png │ ├── column_setup2.png │ ├── Table of Contents.hhc │ ├── clipboard_context.png │ ├── uninstall_win10_1.png │ ├── uninstall_win10_2.png │ └── uninstall_win10_3.png ├── mp3infp.positions ├── mp3infp_unicode.def ├── DlgWriteProgress.cpp ├── Info_MonkeysAudio.cpp ├── mp3infp_ExportFunc.h ├── Installer │ ├── Japanese.chm │ ├── make_installer.bat │ ├── build.bat │ └── Japanese.nsh ├── ShellExtClassFactory.cpp ├── ShellExtClassFactory.h ├── ShellExt_IQueryInfo.cpp ├── mp3infp_ExportFunc.cpp ├── mp3infp_config │ ├── PageApe.h │ ├── PageAvi.h │ ├── PageM3u.h │ ├── PageMp3.h │ ├── PageMp4.h │ ├── PageOgg.h │ ├── PageVqf.h │ ├── PageWma.h │ ├── StdAfx.h │ ├── PageApe.cpp │ ├── PageAvi.cpp │ ├── PageM3u.cpp │ ├── PageMain.h │ ├── PageMp3.cpp │ ├── PageMp4.cpp │ ├── PageOgg.cpp │ ├── PageVqf.cpp │ ├── PageWave.h │ ├── PageWma.cpp │ ├── StdAfx.cpp │ ├── PageMain.cpp │ ├── PageWave.cpp │ ├── SetupProperty.h │ ├── mp3infp_config.h │ ├── res │ │ ├── mp3infp.ico │ │ ├── mp3infp_config.rc2 │ │ └── mp3infp_config.exe.manifest │ ├── SetupProperty.cpp │ ├── mp3infp_config.cpp │ ├── mp3infp_config.dsp │ ├── mp3infp_config.rc │ └── sources ├── ShellExt_IContextMenu.cpp ├── ShellExt_IPersistFile.cpp ├── ShellExt_IShellExtInit.cpp ├── lang_japanese │ ├── res │ │ ├── ffw.bmp │ │ ├── play.bmp │ │ ├── rew.bmp │ │ ├── stop.bmp │ │ ├── pause.bmp │ │ └── mp3infp.dll.manifest │ ├── lang_japanese.dsp │ ├── lang_japanese.rc │ └── sources ├── ShellExt_IColumnProvider.cpp ├── tools │ └── symlinkts │ │ ├── symlinkts.exe │ │ ├── sources │ │ └── symlinkts.c ├── create-tags.sh ├── create-tags.bat ├── GetFloppyType.h ├── ShellExt_IPersist.cpp ├── RegAccess.h ├── clean.bat ├── MMCommand.h └── mp3infp_eng.txt ├── .gitattributes ├── .gitignore └── README /src/lib/dirs: -------------------------------------------------------------------------------- 1 | DIRS=mp4v2 oggvorbis 2 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/dirs: -------------------------------------------------------------------------------- 1 | DIRS=lib 2 | -------------------------------------------------------------------------------- /src/lib/mp4v2/dirs: -------------------------------------------------------------------------------- 1 | DIRS=libplatform src 2 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/dirs: -------------------------------------------------------------------------------- 1 | DIRS=src 2 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/dirs: -------------------------------------------------------------------------------- 1 | DIRS=ogg vorbis 2 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/File.cpp: -------------------------------------------------------------------------------- 1 | ../io/File.cpp -------------------------------------------------------------------------------- /src/lib/mp4v2/src/dirs: -------------------------------------------------------------------------------- 1 | DIRS=bmff itmf qtff build 2 | -------------------------------------------------------------------------------- /src/dirs: -------------------------------------------------------------------------------- 1 | DIRS=lang_japanese lib mp3infp_config dll 2 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/error.cpp: -------------------------------------------------------------------------------- 1 | ../sys/error.cpp -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/option.cpp: -------------------------------------------------------------------------------- 1 | ../prog/option.cpp -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/time.cpp: -------------------------------------------------------------------------------- 1 | ../time/time.cpp -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/FileSystem.cpp: -------------------------------------------------------------------------------- 1 | ../io/FileSystem.cpp -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/File_win32.cpp: -------------------------------------------------------------------------------- 1 | ../io/File_win32.cpp -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/time_win32.cpp: -------------------------------------------------------------------------------- 1 | ../time/time_win32.cpp -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * whitespace=trailing-space,space-before-tab,cr-at-eol 2 | -------------------------------------------------------------------------------- /src/M3u.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/M3u.h -------------------------------------------------------------------------------- /src/RMP.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/RMP.h -------------------------------------------------------------------------------- /src/Vqf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Vqf.h -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/platform_win32.cpp: -------------------------------------------------------------------------------- 1 | ../platform_win32.cpp -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/random_win32.cpp: -------------------------------------------------------------------------------- 1 | ../number/random_win32.cpp -------------------------------------------------------------------------------- /src/ver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ver.h -------------------------------------------------------------------------------- /src/M3u.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/M3u.cpp -------------------------------------------------------------------------------- /src/Mp3Info.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Mp3Info.h -------------------------------------------------------------------------------- /src/RMP.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/RMP.cpp -------------------------------------------------------------------------------- /src/RiffSIF.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/RiffSIF.h -------------------------------------------------------------------------------- /src/StdAfx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/StdAfx.h -------------------------------------------------------------------------------- /src/Tag_Ape.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Tag_Ape.h -------------------------------------------------------------------------------- /src/Tag_Mp4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Tag_Mp4.h -------------------------------------------------------------------------------- /src/Tag_Ogg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Tag_Ogg.h -------------------------------------------------------------------------------- /src/Tag_Wma.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Tag_Wma.h -------------------------------------------------------------------------------- /src/Vqf.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Vqf.cpp -------------------------------------------------------------------------------- /src/classID.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/classID.h -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/FileSystem_win32.cpp: -------------------------------------------------------------------------------- 1 | ../io/FileSystem_win32.cpp -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/process_win32.cpp: -------------------------------------------------------------------------------- 1 | ../process/process_win32.cpp -------------------------------------------------------------------------------- /src/mp3infp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp.h -------------------------------------------------------------------------------- /src/Id3tagv1.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Id3tagv1.h -------------------------------------------------------------------------------- /src/Id3tagv2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Id3tagv2.h -------------------------------------------------------------------------------- /src/Mp3Info.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Mp3Info.cpp -------------------------------------------------------------------------------- /src/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ReadMe.txt -------------------------------------------------------------------------------- /src/RiffSIF.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/RiffSIF.cpp -------------------------------------------------------------------------------- /src/ShellExt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ShellExt.h -------------------------------------------------------------------------------- /src/StdAfx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/StdAfx.cpp -------------------------------------------------------------------------------- /src/Tag_Ape.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Tag_Ape.cpp -------------------------------------------------------------------------------- /src/Tag_Mp4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Tag_Mp4.cpp -------------------------------------------------------------------------------- /src/Tag_Ogg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Tag_Ogg.cpp -------------------------------------------------------------------------------- /src/Tag_Wma.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Tag_Wma.cpp -------------------------------------------------------------------------------- /src/io_utf8.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/io_utf8.cpp -------------------------------------------------------------------------------- /src/mp3infp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp.cpp -------------------------------------------------------------------------------- /src/mp3infp.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp.def -------------------------------------------------------------------------------- /src/mp3infp.dsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp.dsp -------------------------------------------------------------------------------- /src/mp3infp.dsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp.dsw -------------------------------------------------------------------------------- /src/mp3infp.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp.rc -------------------------------------------------------------------------------- /src/mp3infp.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp.txt -------------------------------------------------------------------------------- /src/mp3infp.ver: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp.ver -------------------------------------------------------------------------------- /src/res/ffw.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/res/ffw.bmp -------------------------------------------------------------------------------- /src/res/rew.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/res/rew.bmp -------------------------------------------------------------------------------- /src/w2kstub.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/w2kstub.cpp -------------------------------------------------------------------------------- /src/Id3tagv1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Id3tagv1.cpp -------------------------------------------------------------------------------- /src/Id3tagv2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Id3tagv2.cpp -------------------------------------------------------------------------------- /src/MMCommand.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/MMCommand.cpp -------------------------------------------------------------------------------- /src/Page_ape.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_ape.cpp -------------------------------------------------------------------------------- /src/Page_avi.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_avi.cpp -------------------------------------------------------------------------------- /src/Page_m3u.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_m3u.cpp -------------------------------------------------------------------------------- /src/Page_mp4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_mp4.cpp -------------------------------------------------------------------------------- /src/Page_ogg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_ogg.cpp -------------------------------------------------------------------------------- /src/Page_vqf.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_vqf.cpp -------------------------------------------------------------------------------- /src/Page_wave.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_wave.cpp -------------------------------------------------------------------------------- /src/Page_wma.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_wma.cpp -------------------------------------------------------------------------------- /src/ReadMe_dll.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ReadMe_dll.txt -------------------------------------------------------------------------------- /src/RegAccess.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/RegAccess.cpp -------------------------------------------------------------------------------- /src/ShellExt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ShellExt.cpp -------------------------------------------------------------------------------- /src/Tag_OpenDML.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Tag_OpenDML.h -------------------------------------------------------------------------------- /src/res/id3v2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/res/id3v2.ico -------------------------------------------------------------------------------- /src/res/pause.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/res/pause.bmp -------------------------------------------------------------------------------- /src/res/play.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/res/play.bmp -------------------------------------------------------------------------------- /src/res/stop.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/res/stop.bmp -------------------------------------------------------------------------------- /src/Dlg_ogg_exttag.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Dlg_ogg_exttag.h -------------------------------------------------------------------------------- /src/GlobalCommand.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/GlobalCommand.h -------------------------------------------------------------------------------- /src/Page_mp3_APE.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_mp3_APE.cpp -------------------------------------------------------------------------------- /src/Page_mp3_RMP.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_mp3_RMP.cpp -------------------------------------------------------------------------------- /src/Tag_OpenDML.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Tag_OpenDML.cpp -------------------------------------------------------------------------------- /src/res/mp3infp.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/res/mp3infp.rc2 -------------------------------------------------------------------------------- /src/DlgWriteProgress.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/DlgWriteProgress.h -------------------------------------------------------------------------------- /src/Dlg_ogg_exttag.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Dlg_ogg_exttag.cpp -------------------------------------------------------------------------------- /src/GlobalCommand.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/GlobalCommand.cpp -------------------------------------------------------------------------------- /src/Info_MonkeysAudio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Info_MonkeysAudio.h -------------------------------------------------------------------------------- /src/Page_mp3_ID3V1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_mp3_ID3V1.cpp -------------------------------------------------------------------------------- /src/Page_mp3_ID3V2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_mp3_ID3V2.cpp -------------------------------------------------------------------------------- /src/Page_mp3_LAME.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Page_mp3_LAME.cpp -------------------------------------------------------------------------------- /src/help_Project/ov.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/ov.htm -------------------------------------------------------------------------------- /src/mp3infp.positions: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp.positions -------------------------------------------------------------------------------- /src/mp3infp_unicode.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_unicode.def -------------------------------------------------------------------------------- /src/DlgWriteProgress.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/DlgWriteProgress.cpp -------------------------------------------------------------------------------- /src/Info_MonkeysAudio.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Info_MonkeysAudio.cpp -------------------------------------------------------------------------------- /src/help_Project/env.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/env.htm -------------------------------------------------------------------------------- /src/help_Project/faq.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/faq.htm -------------------------------------------------------------------------------- /src/mp3infp_ExportFunc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_ExportFunc.h -------------------------------------------------------------------------------- /src/Installer/Japanese.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Installer/Japanese.chm -------------------------------------------------------------------------------- /src/ShellExtClassFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ShellExtClassFactory.cpp -------------------------------------------------------------------------------- /src/ShellExtClassFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ShellExtClassFactory.h -------------------------------------------------------------------------------- /src/ShellExt_IQueryInfo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ShellExt_IQueryInfo.cpp -------------------------------------------------------------------------------- /src/help_Project/config.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/config.htm -------------------------------------------------------------------------------- /src/help_Project/expset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/expset.png -------------------------------------------------------------------------------- /src/help_Project/history.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/history.htm -------------------------------------------------------------------------------- /src/help_Project/index.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/index.htm -------------------------------------------------------------------------------- /src/help_Project/mailto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/mailto.png -------------------------------------------------------------------------------- /src/help_Project/mp3infp.hhp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/mp3infp.hhp -------------------------------------------------------------------------------- /src/mp3infp_ExportFunc.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_ExportFunc.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/PageApe.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageApe.h -------------------------------------------------------------------------------- /src/mp3infp_config/PageAvi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageAvi.h -------------------------------------------------------------------------------- /src/mp3infp_config/PageM3u.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageM3u.h -------------------------------------------------------------------------------- /src/mp3infp_config/PageMp3.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageMp3.h -------------------------------------------------------------------------------- /src/mp3infp_config/PageMp4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageMp4.h -------------------------------------------------------------------------------- /src/mp3infp_config/PageOgg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageOgg.h -------------------------------------------------------------------------------- /src/mp3infp_config/PageVqf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageVqf.h -------------------------------------------------------------------------------- /src/mp3infp_config/PageWma.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageWma.h -------------------------------------------------------------------------------- /src/mp3infp_config/StdAfx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/StdAfx.h -------------------------------------------------------------------------------- /src/ShellExt_IContextMenu.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ShellExt_IContextMenu.cpp -------------------------------------------------------------------------------- /src/ShellExt_IPersistFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ShellExt_IPersistFile.cpp -------------------------------------------------------------------------------- /src/ShellExt_IShellExtInit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ShellExt_IShellExtInit.cpp -------------------------------------------------------------------------------- /src/help_Project/copyright.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/copyright.htm -------------------------------------------------------------------------------- /src/help_Project/extension.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/extension.htm -------------------------------------------------------------------------------- /src/help_Project/helpindex.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/helpindex.htm -------------------------------------------------------------------------------- /src/help_Project/uninstall.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/uninstall.htm -------------------------------------------------------------------------------- /src/lang_japanese/res/ffw.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/lang_japanese/res/ffw.bmp -------------------------------------------------------------------------------- /src/lang_japanese/res/play.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/lang_japanese/res/play.bmp -------------------------------------------------------------------------------- /src/lang_japanese/res/rew.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/lang_japanese/res/rew.bmp -------------------------------------------------------------------------------- /src/lang_japanese/res/stop.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/lang_japanese/res/stop.bmp -------------------------------------------------------------------------------- /src/mp3infp_config/PageApe.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageApe.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/PageAvi.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageAvi.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/PageM3u.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageM3u.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/PageMain.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageMain.h -------------------------------------------------------------------------------- /src/mp3infp_config/PageMp3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageMp3.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/PageMp4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageMp4.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/PageOgg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageOgg.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/PageVqf.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageVqf.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/PageWave.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageWave.h -------------------------------------------------------------------------------- /src/mp3infp_config/PageWma.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageWma.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/StdAfx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/StdAfx.cpp -------------------------------------------------------------------------------- /src/Installer/make_installer.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/Installer/make_installer.bat -------------------------------------------------------------------------------- /src/ShellExt_IColumnProvider.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/ShellExt_IColumnProvider.cpp -------------------------------------------------------------------------------- /src/help_Project/config_win10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/config_win10.png -------------------------------------------------------------------------------- /src/help_Project/extension0.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/extension0.htm -------------------------------------------------------------------------------- /src/help_Project/prop_mp3_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/prop_mp3_2.png -------------------------------------------------------------------------------- /src/lang_japanese/res/pause.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/lang_japanese/res/pause.bmp -------------------------------------------------------------------------------- /src/mp3infp_config/PageMain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageMain.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/PageWave.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/PageWave.cpp -------------------------------------------------------------------------------- /src/tools/symlinkts/symlinkts.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/tools/symlinkts/symlinkts.exe -------------------------------------------------------------------------------- /src/help_Project/column_setup1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/column_setup1.png -------------------------------------------------------------------------------- /src/help_Project/column_setup2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/column_setup2.png -------------------------------------------------------------------------------- /src/lang_japanese/lang_japanese.dsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/lang_japanese/lang_japanese.dsp -------------------------------------------------------------------------------- /src/lang_japanese/lang_japanese.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/lang_japanese/lang_japanese.rc -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_standard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/lib/mp4v2/src/atom_standard.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/SetupProperty.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/SetupProperty.h -------------------------------------------------------------------------------- /src/mp3infp_config/mp3infp_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/mp3infp_config.h -------------------------------------------------------------------------------- /src/mp3infp_config/res/mp3infp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/res/mp3infp.ico -------------------------------------------------------------------------------- /src/help_Project/Table of Contents.hhc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/Table of Contents.hhc -------------------------------------------------------------------------------- /src/help_Project/clipboard_context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/clipboard_context.png -------------------------------------------------------------------------------- /src/help_Project/uninstall_win10_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/uninstall_win10_1.png -------------------------------------------------------------------------------- /src/help_Project/uninstall_win10_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/uninstall_win10_2.png -------------------------------------------------------------------------------- /src/help_Project/uninstall_win10_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/help_Project/uninstall_win10_3.png -------------------------------------------------------------------------------- /src/mp3infp_config/SetupProperty.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/SetupProperty.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/mp3infp_config.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/mp3infp_config.cpp -------------------------------------------------------------------------------- /src/mp3infp_config/mp3infp_config.dsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/mp3infp_config.dsp -------------------------------------------------------------------------------- /src/mp3infp_config/mp3infp_config.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/mp3infp_config.rc -------------------------------------------------------------------------------- /src/mp3infp_config/res/mp3infp_config.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k-takata/mp3infp/HEAD/src/mp3infp_config/res/mp3infp_config.rc2 -------------------------------------------------------------------------------- /src/create-tags.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Create a tags file using Universal Ctags. 3 | ctags -R --input-encoding=cp932 --languages=C,C++,WindRes 4 | -------------------------------------------------------------------------------- /src/create-tags.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Create a tags file using Universal Ctags. 3 | ctags -R --input-encoding=cp932 --languages=C,C++,WindRes 4 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/books/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in 2 | 3 | SUBDIRS = coupled uncoupled floor 4 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/books/floor/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in 2 | 3 | EXTRA_DIST = floor_books.h 4 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/set_symlinkts.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | for %%i in (*.cpp) do ( 4 | ..\..\..\..\tools\symlinkts\symlinkts.exe %%i 5 | ) 6 | -------------------------------------------------------------------------------- /src/GetFloppyType.h: -------------------------------------------------------------------------------- 1 | #ifndef _GETFLOPPYTYPE_H 2 | #define _GETFLOPPYTYPE_H 3 | 4 | DWORD GetDriveFormFactor(int iDrive); 5 | 6 | #endif //_GETFLOPPYTYPE_H -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/books/uncoupled/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in 2 | 3 | EXTRA_DIST = res_books_uncoupled.h 4 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/books/coupled/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in 2 | 3 | EXTRA_DIST = res_books_stereo.h res_books_51.h 4 | -------------------------------------------------------------------------------- /src/Installer/build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | set ver=2.54h 3 | set filever=%ver:.=% 4 | "%ProgramFiles%\NSIS\makensis.exe" "/DMUI_VERSION=%ver%" "/XOutFile mp3infp%filever%.exe" mp3infp.nsi 5 | pause 6 | -------------------------------------------------------------------------------- /src/lang_japanese/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=Japanese 2 | TARGETEXT=lng 3 | 4 | TARGETPATH=obj 5 | 6 | TARGETTYPE=DYNLINK 7 | 8 | INCLUDES=$(DDK_INC_PATH);$(MFC_INC_PATH) 9 | 10 | RESOURCE_ONLY_DLL=1 11 | 12 | SOURCES=lang_japanese.rc 13 | -------------------------------------------------------------------------------- /src/Installer/Japanese.nsh: -------------------------------------------------------------------------------- 1 | LangString LangRegKey ${LANG_JAPANESE} "Japanese" 2 | LangString MP3INFP_CONFIG_NAME ${LANG_JAPANESE} "mp3infp設定" 3 | 4 | # Fix an NSIS Japanese translation. The access key was missing. 5 | LangString ^InstallBtn ${LANG_JAPANESE} "インストール(&I)" 6 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/impl.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_IMPL_IMPL_H 2 | #define MP4V2_IMPL_IMPL_H 3 | 4 | /////////////////////////////////////////////////////////////////////////////// 5 | 6 | #include "src.h" 7 | 8 | /////////////////////////////////////////////////////////////////////////////// 9 | 10 | #endif // MP4V2_IMPL_IMPL_H 11 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/build/MAKEFILE.INC: -------------------------------------------------------------------------------- 1 | #mp4v2_libs = \ 2 | # $(O)\mp4v2.lib \ 3 | # ..\bmff\$(O)\bmff.lib \ 4 | # ..\itmf\$(O)\itmf.lib \ 5 | # ..\qtff\$(O)\qtff.lib \ 6 | # ..\..\libplatform\src\$(O)\libplatform.lib \ 7 | 8 | 9 | #$(O)\mp4v2_all.lib: $(mp4v2_libs) 10 | # link /lib /out:$(O)\mp4v2_all.lib $(mp4v2_libs) 11 | 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.obj 2 | *.dll 3 | *.exe 4 | *.exp 5 | *.lib 6 | *.pdb 7 | *.pyc 8 | *.bak 9 | *.BAK 10 | *~ 11 | *.swp 12 | *.orig 13 | *.rej 14 | *.map 15 | *.RES 16 | *.res 17 | *.aps 18 | *.lng 19 | 20 | *.7z 21 | *.zip 22 | 23 | *.err 24 | *.log 25 | *.wrn 26 | 27 | *.pft.xml 28 | 29 | _objects.mac 30 | 31 | tags 32 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/modes/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in 2 | 3 | EXTRA_DIST = floor_all.h psych_44.h residue_44.h setup_11.h setup_32.h \ 4 | setup_8.h psych_11.h psych_8.h residue_44u.h setup_16.h \ 5 | setup_44.h setup_X.h psych_16.h residue_16.h residue_8.h \ 6 | setup_22.h setup_44u.h setup_44p51.h residue_44p51.h 7 | -------------------------------------------------------------------------------- /src/ShellExt_IPersist.cpp: -------------------------------------------------------------------------------- 1 | #include "StdAfx.h" 2 | #include "mp3infp.h" 3 | 4 | //IPersist Methods 5 | STDMETHODIMP CShellExt::GetClassID(CLSID *pClassID) 6 | { 7 | // AFX_MANAGE_STATE(AfxGetStaticModuleState()); 8 | TRACE(_T("[%s]CShellExt::GetClassID()\n"),APP_NAME); 9 | 10 | if(!pClassID) 11 | return E_FAIL; 12 | 13 | *pClassID = CLSID_ShellExt; 14 | 15 | return S_OK; 16 | } 17 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/impl.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PLATFORM_IMPL_H 2 | #define MP4V2_PLATFORM_IMPL_H 3 | 4 | /////////////////////////////////////////////////////////////////////////////// 5 | 6 | #include "libplatform/platform.h" 7 | #if defined _WIN32 8 | #include "libplatform/platform_win32_impl.h" 9 | #endif 10 | 11 | /////////////////////////////////////////////////////////////////////////////// 12 | 13 | #endif // MP4V2_PLATFORM_IMPL_H 14 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/process/process_posix.cpp: -------------------------------------------------------------------------------- 1 | #include "libplatform/impl.h" 2 | 3 | namespace mp4v2 { namespace platform { namespace process { 4 | 5 | /////////////////////////////////////////////////////////////////////////////// 6 | 7 | int32_t 8 | getpid() 9 | { 10 | return ::getpid(); 11 | } 12 | 13 | /////////////////////////////////////////////////////////////////////////////// 14 | 15 | }}} // namespace mp4v2::platform::process 16 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/ogg/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=ogg 2 | 3 | TARGETPATH=obj 4 | 5 | TARGETTYPE=LIBRARY 6 | 7 | TARGETLIBS= 8 | 9 | INCLUDES=$(DDK_INC_PATH);..\..\include 10 | 11 | SOURCES=\ 12 | bitwise.c \ 13 | framing.c 14 | 15 | C_DEFINES= 16 | 17 | 386_STDCALL=0 18 | 19 | COMPILER_WX_SWITCH= 20 | 21 | #USE_MFC=1 22 | #USE_MFCUNICODE=1 23 | USE_MSVCRT=1 24 | 25 | !ifndef DEBUG_CRTS 26 | MSC_OPTIMIZATION=/Oxs /GL 27 | !endif 28 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/time/time.cpp: -------------------------------------------------------------------------------- 1 | #include "libplatform/impl.h" 2 | 3 | namespace mp4v2 { namespace platform { namespace time { 4 | 5 | /////////////////////////////////////////////////////////////////////////////// 6 | 7 | seconds_t 8 | getLocalTimeSeconds() 9 | { 10 | return getLocalTimeMilliseconds() / 1000; 11 | } 12 | 13 | /////////////////////////////////////////////////////////////////////////////// 14 | 15 | }}} // namespace mp4v2::platform::time 16 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/update_oggvorbis.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if "%2"=="" goto usage 4 | 5 | copy /y %1\include\ogg\*.h .\include\ogg 6 | copy /y %1\src\*.c .\lib\ogg 7 | copy /y %1\COPYING .\lib\ogg 8 | 9 | copy /y %2\include\vorbis\*.h .\include\vorbis 10 | xcopy /y/s %2\lib .\lib\vorbis 11 | copy /y %2\COPYING .\lib\vorbis 12 | 13 | goto eof 14 | 15 | :usage 16 | echo update_oggvorbis ^ ^ 17 | 18 | :eof 19 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/process/process_win32.cpp: -------------------------------------------------------------------------------- 1 | #include "libplatform/impl.h" 2 | #include 3 | 4 | namespace mp4v2 { namespace platform { namespace process { 5 | 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | int32_t 9 | getpid() 10 | { 11 | return ::_getpid(); 12 | } 13 | 14 | /////////////////////////////////////////////////////////////////////////////// 15 | 16 | }}} // namespace mp4v2::platform::process 17 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/text.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_IMPL_TEXT_H 2 | #define MP4V2_IMPL_TEXT_H 3 | 4 | namespace mp4v2 { namespace impl { 5 | 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | struct MP4V2_EXPORT LessIgnoreCase : less 9 | { 10 | bool operator()( const string&, const string& ) const; 11 | }; 12 | 13 | /////////////////////////////////////////////////////////////////////////////// 14 | 15 | }} // namespace mp4v2::impl 16 | 17 | #endif // MP4V2_IMPL_TEXT_H 18 | -------------------------------------------------------------------------------- /src/tools/symlinkts/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=symlinkts 2 | 3 | TARGETPATH=obj 4 | 5 | TARGETTYPE=PROGRAM 6 | 7 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib 8 | 9 | INCLUDES=$(DDK_INC_PATH) 10 | 11 | SOURCES=symlinkts.c 12 | 13 | #BUILD_ALLOW_COMPILER_WARNINGS=1 14 | COMPILER_WX_SWITCH= 15 | 16 | USER_C_FLAGS=/GS- 17 | #USE_MFCUNICODE=1 18 | 19 | LINKER_STACKSIZE=/STACK:0x100000,0x1000 20 | 21 | !ifndef DEBUG_CRTS 22 | LINKER_FLAGS=/PDBALTPATH:%_PDB% 23 | !endif 24 | 25 | UMTYPE=console 26 | UMENTRY=wmain 27 | USE_MSVCRT=1 28 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/time/time_win32.cpp: -------------------------------------------------------------------------------- 1 | #include "libplatform/impl.h" 2 | #include 3 | 4 | namespace mp4v2 { namespace platform { namespace time { 5 | 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | milliseconds_t 9 | getLocalTimeMilliseconds() 10 | { 11 | __timeb64 buf; 12 | _ftime64( &buf ); 13 | return milliseconds_t( buf.time ) * 1000 + buf.millitm; 14 | } 15 | 16 | /////////////////////////////////////////////////////////////////////////////// 17 | 18 | }}} // namespace mp4v2::platform::time 19 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/sys/error.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PLATFORM_SYS_ERROR_H 2 | #define MP4V2_PLATFORM_SYS_ERROR_H 3 | 4 | namespace mp4v2 { namespace platform { namespace sys { 5 | 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | MP4V2_EXPORT int getLastError ( ); 9 | MP4V2_EXPORT const char* getLastErrorStr ( ); 10 | MP4V2_EXPORT const char* getErrorStr ( int ); 11 | 12 | /////////////////////////////////////////////////////////////////////////////// 13 | 14 | }}} // namespace mp4v2::platform::sys 15 | 16 | #endif // MP4V2_PLATFORM_SYS_ERROR_H 17 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/time/time_posix.cpp: -------------------------------------------------------------------------------- 1 | #include "libplatform/impl.h" 2 | #include 3 | 4 | namespace mp4v2 { namespace platform { namespace time { 5 | 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | milliseconds_t 9 | getLocalTimeMilliseconds() 10 | { 11 | timeval buf; 12 | if( gettimeofday( &buf, 0 )) 13 | memset( &buf, 0, sizeof( buf )); 14 | return milliseconds_t( buf.tv_sec ) * 1000 + buf.tv_usec / 1000; 15 | } 16 | 17 | /////////////////////////////////////////////////////////////////////////////// 18 | 19 | }}} // namespace mp4v2::platform::time 20 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/number/random.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PLATFORM_NUMBER_RANDOM_H 2 | #define MP4V2_PLATFORM_NUMBER_RANDOM_H 3 | 4 | namespace mp4v2 { namespace platform { namespace number { 5 | 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | /// Generate 32-bit pseudo-random number. 9 | MP4V2_EXPORT uint32_t random32(); 10 | 11 | /// Seed pseudo-random number generator. 12 | MP4V2_EXPORT void srandom( uint32_t ); 13 | 14 | /////////////////////////////////////////////////////////////////////////////// 15 | 16 | }}} // namespace mp4v2::platform::number 17 | 18 | #endif // MP4V2_PLATFORM_NUMBER_RANDOM_H 19 | -------------------------------------------------------------------------------- /src/res/mp3infp.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | app 9 | 10 | 11 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/RegAccess.h: -------------------------------------------------------------------------------- 1 | #ifndef _REGACCESS_H 2 | #define _REGACCESS_H 3 | 4 | BOOL regDelVal(HKEY keyRoot,LPCTSTR szSubkey,LPCTSTR szEntry); 5 | BOOL regSetString(HKEY keyRoot,LPCTSTR szExName,LPCTSTR szEntry,LPCTSTR szData); 6 | void regGetString(HKEY hRootKey, LPCTSTR szKey,LPCTSTR szVal, LPTSTR szRetVal,LPCTSTR szDefault); 7 | #ifdef __AFX_H__ 8 | CString regGetStringEx(HKEY hRootKey, LPCTSTR szKey,LPCTSTR szVal,LPCTSTR szDefault); 9 | #endif //__AFX_H__ 10 | BOOL regSetDword(HKEY keyRoot,LPCTSTR szExName,LPCTSTR szEntry,DWORD dwData); 11 | void regGetDword(HKEY hRootKey, LPCTSTR szKey,LPCTSTR szVal,DWORD *pdwRetVal,DWORD dwDefault); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/number/random_posix.cpp: -------------------------------------------------------------------------------- 1 | #include "libplatform/impl.h" 2 | #include 3 | 4 | namespace mp4v2 { namespace platform { namespace number { 5 | 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | uint32_t 9 | random32() 10 | { 11 | return uint32_t( ::random() ); 12 | } 13 | 14 | /////////////////////////////////////////////////////////////////////////////// 15 | 16 | void 17 | srandom( uint32_t seed ) 18 | { 19 | ::srandom( seed ); 20 | } 21 | 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | }}} // namespace mp4v2::platform::time 25 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/process/process.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PLATFORM_PROCESS_PROCESS_H 2 | #define MP4V2_PLATFORM_PROCESS_PROCESS_H 3 | 4 | /// @namespace mp4v2::platform::process (private) Process. 5 | /// WARNING: THIS IS A PRIVATE NAMESPACE. NOT FOR PUBLIC CONSUMPTION. 6 | namespace mp4v2 { namespace platform { namespace process { 7 | 8 | /////////////////////////////////////////////////////////////////////////////// 9 | 10 | MP4V2_EXPORT int32_t getpid(); 11 | 12 | /////////////////////////////////////////////////////////////////////////////// 13 | 14 | }}} // namespace mp4v2::platform::process 15 | 16 | #endif // MP4V2_PLATFORM_PROCESS_PROCESS_H 17 | -------------------------------------------------------------------------------- /src/lang_japanese/res/mp3infp.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | app 9 | 10 | 11 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/number/random_win32.cpp: -------------------------------------------------------------------------------- 1 | #include "libplatform/impl.h" 2 | #include 3 | 4 | namespace mp4v2 { namespace platform { namespace number { 5 | 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | uint32_t 9 | random32() 10 | { 11 | return uint32_t( ::rand() << 16 | ::rand() ); 12 | } 13 | 14 | /////////////////////////////////////////////////////////////////////////////// 15 | 16 | void 17 | srandom( uint32_t seed ) 18 | { 19 | ::srand( seed ); 20 | } 21 | 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | }}} // namespace mp4v2::platform::time 25 | -------------------------------------------------------------------------------- /src/clean.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | del /AH /F /S /Q *.suo 3 | del /F /S /Q *.ncb *.user 4 | 5 | rmdir /S /Q lib\mpeg4ip-1.4.1\lib\gnu\Win32 6 | rmdir /S /Q lib\mpeg4ip-1.4.1\lib\gnu\x64 7 | rmdir /S /Q lib\mpeg4ip-1.4.1\lib\mp4v2\Win32 8 | rmdir /S /Q lib\mpeg4ip-1.4.1\lib\mp4v2\x64 9 | rmdir /S /Q lib\oggvorbis\lib\Win32 10 | rmdir /S /Q lib\oggvorbis\lib\x64 11 | 12 | rmdir /S /Q Win32 13 | rmdir /S /Q x64\Release 14 | 15 | rem rmdir /S /Q x86 16 | rem rmdir /S /Q x64 17 | 18 | rmdir /S /Q mp3infp_regist\Win32 19 | rmdir /S /Q mp3infp_regist\x64 20 | 21 | rmdir /S /Q mp3infp_cpl\Win32 22 | rmdir /S /Q mp3infp_cpl\x64 23 | 24 | rmdir /S /Q lang_japanese\Win32 25 | rmdir /S /Q lang_japanese\x64 26 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/bmff/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=bmff 2 | 3 | TARGETPATH=obj 4 | 5 | TARGETTYPE=LIBRARY 6 | 7 | TARGETLIBS= 8 | 9 | INCLUDES=$(DDK_INC_PATH);..\..;..\..\include 10 | 11 | SOURCES=\ 12 | typebmff.cpp \ 13 | 14 | #C_DEFINES=/D_fstati64=_fstati64_w2k 15 | C_DEFINES=/DMP4V2_USE_STATIC_LIB 16 | 17 | 386_STDCALL=0 18 | 19 | COMPILER_WX_SWITCH= 20 | 21 | # disable warning C4819: The file contains a character that cannot be represented in the current code page. 22 | USER_C_FLAGS=/wd4819 23 | 24 | #USE_MFC=1 25 | #USE_MFCUNICODE=1 26 | USE_MSVCRT=1 27 | 28 | USE_STL=1 29 | STL_VER=70 30 | USE_NATIVE_EH=1 31 | 32 | !ifndef DEBUG_CRTS 33 | MSC_OPTIMIZATION=/Oxs /GL 34 | !endif 35 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/itmf/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=itmf 2 | 3 | TARGETPATH=obj 4 | 5 | TARGETTYPE=LIBRARY 6 | 7 | TARGETLIBS= 8 | 9 | INCLUDES=$(DDK_INC_PATH);..\..;..\..\include 10 | 11 | SOURCES=\ 12 | CoverArtBox.cpp \ 13 | generic.cpp \ 14 | Tags.cpp \ 15 | type.cpp \ 16 | 17 | #C_DEFINES=/D_fstati64=_fstati64_w2k 18 | C_DEFINES=/DMP4V2_USE_STATIC_LIB 19 | 20 | 386_STDCALL=0 21 | 22 | COMPILER_WX_SWITCH= 23 | 24 | # disable warning C4819: The file contains a character that cannot be represented in the current code page. 25 | USER_C_FLAGS=/wd4819 26 | 27 | #USE_MFC=1 28 | #USE_MFCUNICODE=1 29 | USE_MSVCRT=1 30 | 31 | USE_STL=1 32 | STL_VER=70 33 | USE_NATIVE_EH=1 34 | 35 | !ifndef DEBUG_CRTS 36 | MSC_OPTIMIZATION=/Oxs /GL 37 | !endif 38 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/qtff/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=qtff 2 | 3 | TARGETPATH=obj 4 | 5 | TARGETTYPE=LIBRARY 6 | 7 | TARGETLIBS= 8 | 9 | INCLUDES=$(DDK_INC_PATH);..\..;..\..\include 10 | 11 | SOURCES=\ 12 | coding.cpp \ 13 | ColorParameterBox.cpp \ 14 | PictureAspectRatioBox.cpp \ 15 | 16 | #C_DEFINES=/D_fstati64=_fstati64_w2k 17 | C_DEFINES=/DMP4V2_USE_STATIC_LIB 18 | 19 | 386_STDCALL=0 20 | 21 | COMPILER_WX_SWITCH= 22 | 23 | # disable warning C4819: The file contains a character that cannot be represented in the current code page. 24 | USER_C_FLAGS=/wd4819 25 | 26 | #USE_MFC=1 27 | #USE_MFCUNICODE=1 28 | USE_MSVCRT=1 29 | 30 | USE_STL=1 31 | STL_VER=70 32 | USE_NATIVE_EH=1 33 | 34 | !ifndef DEBUG_CRTS 35 | MSC_OPTIMIZATION=/Oxs /GL 36 | !endif 37 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/sys/error.cpp: -------------------------------------------------------------------------------- 1 | #include "libplatform/impl.h" 2 | 3 | namespace mp4v2 { namespace platform { namespace sys { 4 | 5 | /////////////////////////////////////////////////////////////////////////////// 6 | 7 | const char* 8 | getErrorStr( int errno_ ) 9 | { 10 | return std::strerror( errno_ ); 11 | } 12 | 13 | /////////////////////////////////////////////////////////////////////////////// 14 | 15 | int 16 | getLastError() 17 | { 18 | return errno; 19 | } 20 | 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | const char* 24 | getLastErrorStr() 25 | { 26 | return strerror( errno ); 27 | } 28 | 29 | /////////////////////////////////////////////////////////////////////////////// 30 | 31 | }}} // namespace mp4v2::platform::sys 32 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/platform_base.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PLATFORM_BASE_H 2 | #define MP4V2_PLATFORM_BASE_H 3 | 4 | /////////////////////////////////////////////////////////////////////////////// 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | /////////////////////////////////////////////////////////////////////////////// 33 | 34 | #endif // MP4V2_PLATFORM_BASE_H 35 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | This is a source code repository of mp3infp/u. 2 | 3 | mp3infp/u is a modified version of mp3infp. 4 | 5 | New features: 6 | * Supports Unicode file names and tags. 7 | * Supports Windows 7/8/10. 8 | * Supports x64 Windows. (Main work is done by Rem.) 9 | 10 | Binary packages are available at the releases page: 11 | https://github.com/k-takata/mp3infp/releases 12 | (Older versions might be still available at the downloads page: 13 | https://github.com/k-takata/mp3infp/downloads ) 14 | 15 | 16 | LICENSE: 17 | You may distribute under the terms of the GNU Lesser General Public License. 18 | 19 | 20 | References: 21 | mp3infp 2.54a (The original version by T-Matsuo): 22 | http://win32lab.com/fsw/mp3infp/ 23 | 24 | mp3infp 2.54i alpha1 (The lastest version by Rem): 25 | http://win32lab.com/bbs2/index.cgi?no=10236&reno=10231&oya=10190&mode=msgview (404) 26 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=vorbis 2 | 3 | TARGETPATH=obj 4 | 5 | TARGETTYPE=LIBRARY 6 | 7 | TARGETLIBS= 8 | 9 | INCLUDES=$(DDK_INC_PATH);..\..\include 10 | 11 | SOURCES=\ 12 | analysis.c \ 13 | barkmel.c \ 14 | bitrate.c \ 15 | block.c \ 16 | codebook.c \ 17 | envelope.c \ 18 | floor0.c \ 19 | floor1.c \ 20 | info.c \ 21 | lookup.c \ 22 | lpc.c \ 23 | lsp.c \ 24 | mapping0.c \ 25 | mdct.c \ 26 | psy.c \ 27 | # psytune.c \ 28 | registry.c \ 29 | res0.c \ 30 | sharedbook.c \ 31 | smallft.c \ 32 | synthesis.c \ 33 | # tone.c \ 34 | vorbisenc.c \ 35 | vorbisfile.c \ 36 | window.c 37 | 38 | C_DEFINES=/DOV_EXCLUDE_STATIC_CALLBACKS 39 | 40 | 386_STDCALL=0 41 | 42 | COMPILER_WX_SWITCH= 43 | 44 | #USE_MFC=1 45 | #USE_MFCUNICODE=1 46 | USE_MSVCRT=1 47 | 48 | !ifndef DEBUG_CRTS 49 | MSC_OPTIMIZATION=/Oxs /GL 50 | !endif 51 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=libplatform 2 | 3 | TARGETPATH=obj 4 | 5 | TARGETTYPE=LIBRARY 6 | 7 | TARGETLIBS= 8 | 9 | INCLUDES=$(DDK_INC_PATH);..\..;..\..\include 10 | 11 | SOURCES=\ 12 | error.cpp \ 13 | File.cpp \ 14 | FileSystem.cpp \ 15 | FileSystem_win32.cpp \ 16 | File_win32.cpp \ 17 | option.cpp \ 18 | process_win32.cpp \ 19 | platform_win32.cpp \ 20 | random_win32.cpp \ 21 | time.cpp \ 22 | time_win32.cpp \ 23 | 24 | #C_DEFINES=/D_fstati64=_fstati64_w2k 25 | C_DEFINES=/DMP4V2_USE_STATIC_LIB 26 | 27 | 386_STDCALL=0 28 | 29 | COMPILER_WX_SWITCH= 30 | 31 | # disable warning C4819: The file contains a character that cannot be represented in the current code page. 32 | USER_C_FLAGS=/wd4819 33 | 34 | #USE_MFC=1 35 | USE_MFCUNICODE=1 36 | USE_MSVCRT=1 37 | 38 | USE_STL=1 39 | STL_VER=70 40 | 41 | !ifndef DEBUG_CRTS 42 | MSC_OPTIMIZATION=/Oxs /GL 43 | !endif 44 | -------------------------------------------------------------------------------- /src/MMCommand.h: -------------------------------------------------------------------------------- 1 | #ifndef _MMCOMMAND_H 2 | #define _MMCOMMAND_H 3 | 4 | 5 | BOOL findVideoCodecName1(CString &strVideoFormat,DWORD biCompression,DWORD fccHeader); 6 | void GetWaveAudioFormat(IN LPCTSTR szFileName, 7 | IN DWORD dwStreamSize, 8 | OUT CString &strFormat, 9 | OUT CString &strTime, 10 | IN int iWaveCodecFind); 11 | void GetAviFormat(IN LPCTSTR szFileName, 12 | OUT CString &strAudioFormat, 13 | OUT CString &strVideoFormat, 14 | OUT CString &strStreamFormat, 15 | OUT CString &strTime, 16 | OUT BOOL &bAvi2, 17 | IN int iAviCodecFind); 18 | 19 | void PlayWinamp(HWND hWnd,LPCTSTR szPlayFile); 20 | void PauseWinamp(); 21 | void StopWinamp(); 22 | void Rew5Winamp(); 23 | void Ffw5Winamp(); 24 | int IsPlayingWinamp(LPCTSTR szFileName); 25 | int GetPosWinamp(); 26 | void SetPosWinamp(int pos); 27 | CString GetPlayingFilenameWinamp(); 28 | 29 | #endif //_MMCOMMAND_H -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/src/create_symlink.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if not exist ..\platform_win32.cpp ( 4 | echo Error: source file not found 5 | exit 6 | ) 7 | 8 | rem Delete even they have system attribute. 9 | rem Cygwin's symlink must be recreated by mklink. 10 | del error.cpp File.cpp FileSystem.cpp FileSystem_win32.cpp File_win32.cpp ^ 11 | option.cpp process_win32.cpp platform_win32.cpp random_win32.cpp ^ 12 | time.cpp time_win32.cpp /f /a 13 | 14 | mklink error.cpp ..\sys\error.cpp 15 | mklink File.cpp ..\io\File.cpp 16 | mklink FileSystem.cpp ..\io\FileSystem.cpp 17 | mklink FileSystem_win32.cpp ..\io\FileSystem_win32.cpp 18 | mklink File_win32.cpp ..\io\File_win32.cpp 19 | mklink option.cpp ..\prog\option.cpp 20 | mklink platform_win32.cpp ..\platform_win32.cpp 21 | mklink process_win32.cpp ..\process\process_win32.cpp 22 | mklink random_win32.cpp ..\number\random_win32.cpp 23 | mklink time.cpp ..\time\time.cpp 24 | mklink time_win32.cpp ..\time\time_win32.cpp 25 | 26 | call set_symlinkts.bat 27 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/warning.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PLATFORM_WARNING_H 2 | #define MP4V2_PLATFORM_WARNING_H 3 | 4 | /////////////////////////////////////////////////////////////////////////////// 5 | 6 | // TODO-KB: clean code to avoid disabling warnings 7 | 8 | #if defined( __GNUC__ ) && ( __GNUC__ >= 4 ) && ( __GNUC_MINOR__ >= 2 ) 9 | # pragma GCC diagnostic ignored "-Wwrite-strings" 10 | #elif defined( _MSC_VER ) 11 | # pragma warning( disable: 4244 ) 12 | # pragma warning( disable: 4251 ) 13 | # pragma warning( disable: 4800 ) 14 | # pragma warning( disable: 4996 ) 15 | #endif 16 | 17 | /////////////////////////////////////////////////////////////////////////////// 18 | 19 | // this macro is used to mark printf-style functions for GCC to examine 20 | // the format string and arguments and issue warnings if needed 21 | 22 | #if defined( __GNUC__ ) 23 | # define MP4V2_WFORMAT_PRINTF(i,j) __attribute__((format(__printf__,i,j))) 24 | #else 25 | # define MP4V2_WFORMAT_PRINTF(i,j) 26 | #endif 27 | 28 | /////////////////////////////////////////////////////////////////////////////// 29 | 30 | #endif // MP4V2_PLATFORM_WARNING_H 31 | -------------------------------------------------------------------------------- /src/mp3infp_config/res/mp3infp_config.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | app 9 | 10 | 11 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | true 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_nmhd.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | */ 18 | 19 | #include "src/impl.h" 20 | 21 | namespace mp4v2 { 22 | namespace impl { 23 | 24 | /////////////////////////////////////////////////////////////////////////////// 25 | 26 | MP4NmhdAtom::MP4NmhdAtom(MP4File &file) 27 | : MP4Atom(file, "nmhd") 28 | { 29 | AddVersionAndFlags(); 30 | } 31 | 32 | /////////////////////////////////////////////////////////////////////////////// 33 | 34 | } 35 | } // namespace mp4v2::impl 36 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/window.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: window functions 14 | last mod: $Id: window.h 19028 2013-12-02 23:23:39Z tterribe $ 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _V_WINDOW_ 19 | #define _V_WINDOW_ 20 | 21 | extern const float *_vorbis_window_get(int n); 22 | extern void _vorbis_apply_window(float *d,int *winno,long *blocksizes, 23 | int lW,int W,int nW); 24 | 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/tone.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | void usage(){ 7 | fprintf(stderr,"tone ,[] [,[]...]\n"); 8 | exit(1); 9 | } 10 | 11 | int main (int argc,char *argv[]){ 12 | int i,j; 13 | double *f; 14 | double *amp; 15 | 16 | if(argc<2)usage(); 17 | 18 | f=alloca(sizeof(*f)*(argc-1)); 19 | amp=alloca(sizeof(*amp)*(argc-1)); 20 | 21 | i=0; 22 | while(argv[i+1]){ 23 | char *pos=strchr(argv[i+1],','); 24 | 25 | f[i]=atof(argv[i+1]); 26 | if(pos) 27 | amp[i]=atof(pos+1)*32767.f; 28 | else 29 | amp[i]=32767.f; 30 | 31 | fprintf(stderr,"%g Hz, %g amp\n",f[i],amp[i]); 32 | 33 | i++; 34 | } 35 | 36 | for(i=0;i<44100*10;i++){ 37 | float val=0; 38 | int ival; 39 | for(j=0;j32767.f)ival=32767.f; 44 | if(ival<-32768.f)ival=-32768.f; 45 | 46 | fprintf(stdout,"%c%c%c%c", 47 | (char)(ival&0xff), 48 | (char)((ival>>8)&0xff), 49 | (char)(ival&0xff), 50 | (char)((ival>>8)&0xff)); 51 | } 52 | return(0); 53 | } 54 | 55 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/text.cpp: -------------------------------------------------------------------------------- 1 | #include "src/impl.h" 2 | 3 | namespace mp4v2 { namespace impl { 4 | 5 | /////////////////////////////////////////////////////////////////////////////// 6 | 7 | bool 8 | LessIgnoreCase::operator()( const string& xstr, const string& ystr ) const 9 | { 10 | const string::size_type xlen = xstr.length(); 11 | const string::size_type ylen = ystr.length(); 12 | 13 | if( xlen < ylen ) { 14 | for( string::size_type i = 0; i < xlen; i++ ) { 15 | const char x = std::toupper( xstr[i] ); 16 | const char y = std::toupper( ystr[i] ); 17 | 18 | if( x < y ) 19 | return true; 20 | else if ( x > y ) 21 | return false; 22 | } 23 | return true; 24 | } 25 | else { 26 | for( string::size_type i = 0; i < ylen; i++ ) { 27 | const char x = std::toupper( xstr[i] ); 28 | const char y = std::toupper( ystr[i] ); 29 | 30 | if( x < y ) 31 | return true; 32 | else if ( x > y ) 33 | return false; 34 | } 35 | return false; 36 | } 37 | } 38 | 39 | /////////////////////////////////////////////////////////////////////////////// 40 | 41 | }} // namespace mp4v2::impl 42 | -------------------------------------------------------------------------------- /src/mp3infp_eng.txt: -------------------------------------------------------------------------------- 1 | mp3infp/u - Shell extension type tag editor - 2 | Ver.2.55 for Windows 7/8/10 3 | Copyright(C) 1998-2007 T-Matsuo (win32lab.com) 4 | Copyright(C) 2009 Rem 5 | Copyright(C) 2009-2018 K.Takata 6 | 7 | **** mp3infp/u is freeware **** 8 | 9 | Overview 10 | 11 | Tag reference / edit function is added to Explorer using 12 | the shell extension function of Windows. 13 | 14 | Support extension 15 | 16 | mpeg1.0/2.0/2.5 Layer1-3 (.mp3/.mp2/.mp1/.rmp) 17 | -> ID3v1/v1.1/v2.2/v2.3/v2.4 18 | -> RMP3 format RiffSIF (It is used in Japan) 19 | TwinVQ (.vqf) 20 | WAV (.wav) 21 | AVI (.avi) 22 | -> AVI 1.0 (Video for Windows) 23 | -> AVI 2.0 (OpenDML) 24 | Windows Media (.wma/.wmv/.asf) 25 | Winamp 2.xx,5.xx/Media Player playlist (.m3u/.m3u8) 26 | Ogg Vorbis (.ogg) 27 | Monkey's Audio APE Tag v1[read]/v2 (.ape) 28 | MP4 (.mp4/.m4a/.m4v/.3gp/.3g2) 29 | 30 | Used library 31 | 32 | for ogg vorbis 33 | >THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 34 | >by the XIPHOPHORUS Company http://www.xiph.org/ 35 | 36 | for mp4 37 | http://code.google.com/p/mp4v2/ 38 | 39 | License 40 | 41 | mp3infp is distributed based on LGPL 42 | 43 | 44 | --------------------------------- 45 | mp3infp/u 46 | https://github.com/k-takata/mp3infp 47 | 48 | http://win32lab.com/ 49 | 50 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/bmff/impl.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // The contents of this file are subject to the Mozilla Public License 4 | // Version 1.1 (the "License"); you may not use this file except in 5 | // compliance with the License. You may obtain a copy of the License at 6 | // http://www.mozilla.org/MPL/ 7 | // 8 | // Software distributed under the License is distributed on an "AS IS" 9 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 10 | // License for the specific language governing rights and limitations 11 | // under the License. 12 | // 13 | // The Original Code is MP4v2. 14 | // 15 | // The Initial Developer of the Original Code is Kona Blend. 16 | // Portions created by Kona Blend are Copyright (C) 2008. 17 | // All Rights Reserved. 18 | // 19 | // Contributors: 20 | // Kona Blend, kona8lend@@gmail.com 21 | // 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef MP4V2_IMPL_BMFF_IMPL_H 25 | #define MP4V2_IMPL_BMFF_IMPL_H 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | #include "src/impl.h" 30 | #include "bmff.h" 31 | 32 | /////////////////////////////////////////////////////////////////////////////// 33 | 34 | #endif // MP4V2_IMPL_BMFF_IMPL_H 35 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/itmf/impl.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // The contents of this file are subject to the Mozilla Public License 4 | // Version 1.1 (the "License"); you may not use this file except in 5 | // compliance with the License. You may obtain a copy of the License at 6 | // http://www.mozilla.org/MPL/ 7 | // 8 | // Software distributed under the License is distributed on an "AS IS" 9 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 10 | // License for the specific language governing rights and limitations 11 | // under the License. 12 | // 13 | // The Original Code is MP4v2. 14 | // 15 | // The Initial Developer of the Original Code is Kona Blend. 16 | // Portions created by Kona Blend are Copyright (C) 2008. 17 | // All Rights Reserved. 18 | // 19 | // Contributors: 20 | // Kona Blend, kona8lend@@gmail.com 21 | // 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef MP4V2_IMPL_ITMF_IMPL_H 25 | #define MP4V2_IMPL_ITMF_IMPL_H 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | #include "src/impl.h" 30 | #include "itmf.h" 31 | 32 | /////////////////////////////////////////////////////////////////////////////// 33 | 34 | #endif // MP4V2_IMPL_ITMF_IMPL_H 35 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/qtff/impl.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // The contents of this file are subject to the Mozilla Public License 4 | // Version 1.1 (the "License"); you may not use this file except in 5 | // compliance with the License. You may obtain a copy of the License at 6 | // http://www.mozilla.org/MPL/ 7 | // 8 | // Software distributed under the License is distributed on an "AS IS" 9 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 10 | // License for the specific language governing rights and limitations 11 | // under the License. 12 | // 13 | // The Original Code is MP4v2. 14 | // 15 | // The Initial Developer of the Original Code is Kona Blend. 16 | // Portions created by Kona Blend are Copyright (C) 2008. 17 | // All Rights Reserved. 18 | // 19 | // Contributors: 20 | // Kona Blend, kona8lend@@gmail.com 21 | // 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef MP4V2_IMPL_QTFF_IMPL_H 25 | #define MP4V2_IMPL_QTFF_IMPL_H 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | #include "src/impl.h" 30 | #include "qtff.h" 31 | 32 | /////////////////////////////////////////////////////////////////////////////// 33 | 34 | #endif // MP4V2_IMPL_QTFF_IMPL_H 35 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/lpc.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: LPC low level routines 14 | last mod: $Id: lpc.h 16037 2009-05-26 21:10:58Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _V_LPC_H_ 19 | #define _V_LPC_H_ 20 | 21 | #include "vorbis/codec.h" 22 | 23 | /* simple linear scale LPC code */ 24 | extern float vorbis_lpc_from_data(float *data,float *lpc,int n,int m); 25 | 26 | extern void vorbis_lpc_predict(float *coeff,float *prime,int m, 27 | float *data,long n); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/lsp.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: LSP (also called LSF) conversion routines 14 | last mod: $Id: lsp.h 16227 2009-07-08 06:58:46Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | 19 | #ifndef _V_LSP_H_ 20 | #define _V_LSP_H_ 21 | 22 | extern int vorbis_lpc_to_lsp(float *lpc,float *lsp,int m); 23 | 24 | extern void vorbis_lsp_to_curve(float *curve,int *map,int n,int ln, 25 | float *lsp,int m, 26 | float amp,float ampoffset); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/src.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_IMPL_SRC_H 2 | #define MP4V2_IMPL_SRC_H 3 | 4 | /////////////////////////////////////////////////////////////////////////////// 5 | 6 | #include "libplatform/platform.h" 7 | #include 8 | 9 | /////////////////////////////////////////////////////////////////////////////// 10 | 11 | namespace mp4v2 { namespace impl { 12 | using namespace mp4v2::platform; 13 | using io::File; 14 | using io::FileSystem; 15 | }} // namspace mp4v2::impl 16 | 17 | /////////////////////////////////////////////////////////////////////////////// 18 | 19 | #include "text.h" 20 | #include "enum.h" 21 | #include "exception.h" 22 | 23 | #include "bmff/typebmff.h" 24 | #include "itmf/type.h" 25 | 26 | #include "util.h" 27 | #include "log.h" 28 | #include "mp4util.h" 29 | #include "mp4array.h" 30 | #include "mp4track.h" 31 | #include "mp4file.h" 32 | #include "mp4property.h" 33 | #include "mp4container.h" 34 | 35 | #include "mp4atom.h" 36 | #include "atoms.h" 37 | 38 | #include "bmff/bmff.h" 39 | #include "itmf/itmf.h" 40 | #include "qtff/qtff.h" 41 | 42 | #include "mp4descriptor.h" 43 | #include "descriptors.h" 44 | #include "ocidescriptors.h" 45 | 46 | #include "qosqualifiers.h" 47 | #include "odcommands.h" 48 | #include "rtphint.h" 49 | 50 | /////////////////////////////////////////////////////////////////////////////// 51 | 52 | #endif // MP4V2_IMPL_SRC_H 53 | -------------------------------------------------------------------------------- /src/mp3infp_config/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=mp3infp_config 2 | 3 | TARGETPATH=obj 4 | 5 | TARGETTYPE=PROGRAM 6 | 7 | TARGETLIBS=\ 8 | $(SDK_LIB_PATH)\kernel32.lib \ 9 | $(SDK_LIB_PATH)\user32.lib \ 10 | $(SDK_LIB_PATH)\advapi32.lib \ 11 | $(SDK_LIB_PATH)\shell32.lib \ 12 | $(SDK_LIB_PATH)\comctl32.lib \ 13 | $(SDK_LIB_PATH)\version.lib \ 14 | $(SDK_LIB_PATH)\htmlhelp.lib 15 | 16 | INCLUDES=$(DDK_INC_PATH);$(MFC_INC_PATH) 17 | 18 | 19 | SOURCES=\ 20 | mp3infp_config.cpp \ 21 | PageApe.cpp \ 22 | PageAvi.cpp \ 23 | PageM3u.cpp \ 24 | PageMain.cpp \ 25 | PageMp3.cpp \ 26 | PageMp4.cpp \ 27 | PageOgg.cpp \ 28 | PageVqf.cpp \ 29 | PageWave.cpp \ 30 | PageWma.cpp \ 31 | SetupProperty.cpp \ 32 | ..\GlobalCommand.cpp \ 33 | ..\RegAccess.cpp \ 34 | mp3infp_config.rc 35 | # StdAfx.cpp 36 | 37 | #BUILD_ALLOW_COMPILER_WARNINGS=1 38 | COMPILER_WX_SWITCH= 39 | 40 | C_DEFINES=/D_MBCS 41 | #USER_C_FLAGS=/D_MBCS 42 | 43 | USE_MFC=1 44 | #USE_MFCUNICODE=1 45 | 46 | !ifndef DEBUG_CRTS 47 | MSC_OPTIMIZATION=/Oxs /GL 48 | LINKER_FLAGS=/LTCG /PDBALTPATH:%_PDB% 49 | !endif 50 | 51 | 52 | # Win2k build 53 | !if $(_NT_TARGET_VERSION) == 0x500 54 | MFC_LIB_PATH=$(SDK_LIB_PATH) 55 | !ifdef USE_MFCUNICODE 56 | MFC_LIBS=$(MFC_LIB_PATH)\mfcs42u.lib $(MFC_LIB_PATH)\mfc42u.lib 57 | !else 58 | MFC_LIBS=$(MFC_LIB_PATH)\mfcs42.lib $(MFC_LIB_PATH)\mfc42.lib 59 | !endif 60 | !endif 61 | 62 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_mdat.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4MdatAtom::MP4MdatAtom(MP4File &file) 30 | : MP4Atom(file, "mdat") 31 | { 32 | } 33 | 34 | void MP4MdatAtom::Read() 35 | { 36 | Skip(); 37 | } 38 | 39 | void MP4MdatAtom::Write() 40 | { 41 | // should never get here 42 | ASSERT(false); 43 | } 44 | 45 | /////////////////////////////////////////////////////////////////////////////// 46 | 47 | } 48 | } // namespace mp4v2::impl 49 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/smallft.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: fft transform 14 | last mod: $Id: smallft.h 13293 2007-07-24 00:09:47Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _V_SMFT_H_ 19 | #define _V_SMFT_H_ 20 | 21 | #include "vorbis/codec.h" 22 | 23 | typedef struct { 24 | int n; 25 | float *trigcache; 26 | int *splitcache; 27 | } drft_lookup; 28 | 29 | extern void drft_forward(drft_lookup *l,float *data); 30 | extern void drft_backward(drft_lookup *l,float *data); 31 | extern void drft_init(drft_lookup *l,int n); 32 | extern void drft_clear(drft_lookup *l); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_vmhd.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4VmhdAtom::MP4VmhdAtom(MP4File &file) 30 | : MP4Atom(file, "vmhd") 31 | { 32 | AddVersionAndFlags(); 33 | AddReserved(*this, "reserved", 8); 34 | } 35 | 36 | void MP4VmhdAtom::Generate() 37 | { 38 | MP4Atom::Generate(); 39 | 40 | SetFlags(1); 41 | } 42 | 43 | /////////////////////////////////////////////////////////////////////////////// 44 | 45 | } 46 | } // namespace mp4v2::impl 47 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/lookup.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: lookup based functions 14 | last mod: $Id: lookup.h 16227 2009-07-08 06:58:46Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _V_LOOKUP_H_ 19 | 20 | #ifdef FLOAT_LOOKUP 21 | extern float vorbis_coslook(float a); 22 | extern float vorbis_invsqlook(float a); 23 | extern float vorbis_invsq2explook(int a); 24 | extern float vorbis_fromdBlook(float a); 25 | #endif 26 | #ifdef INT_LOOKUP 27 | extern long vorbis_invsqlook_i(long a,long e); 28 | extern long vorbis_coslook_i(long a); 29 | extern float vorbis_fromdBlook_i(long a); 30 | #endif 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/registry.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: registry for time, floor, res backends and channel mappings 14 | last mod: $Id: registry.h 15531 2008-11-24 23:50:06Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _V_REG_H_ 19 | #define _V_REG_H_ 20 | 21 | #define VI_TRANSFORMB 1 22 | #define VI_WINDOWB 1 23 | #define VI_TIMEB 1 24 | #define VI_FLOORB 2 25 | #define VI_RESB 3 26 | #define VI_MAPB 1 27 | 28 | extern const vorbis_func_floor *const _floor_P[]; 29 | extern const vorbis_func_residue *const _residue_P[]; 30 | extern const vorbis_func_mapping *const _mapping_P[]; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/qtff/coding.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // The contents of this file are subject to the Mozilla Public License 4 | // Version 1.1 (the "License"); you may not use this file except in 5 | // compliance with the License. You may obtain a copy of the License at 6 | // http://www.mozilla.org/MPL/ 7 | // 8 | // Software distributed under the License is distributed on an "AS IS" 9 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 10 | // License for the specific language governing rights and limitations 11 | // under the License. 12 | // 13 | // The Original Code is MP4v2. 14 | // 15 | // The Initial Developer of the Original Code is Kona Blend. 16 | // Portions created by Kona Blend are Copyright (C) 2008. 17 | // All Rights Reserved. 18 | // 19 | // Contributors: 20 | // Kona Blend, kona8lend@@gmail.com 21 | // 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef MP4V2_IMPL_QTFF_CODING_H 25 | #define MP4V2_IMPL_QTFF_CODING_H 26 | 27 | namespace mp4v2 { namespace impl { namespace qtff { 28 | 29 | /////////////////////////////////////////////////////////////////////////////// 30 | 31 | bool findCoding( MP4FileHandle file, uint16_t trackIndex, MP4Atom*& coding ); 32 | 33 | /////////////////////////////////////////////////////////////////////////////// 34 | 35 | }}} // namespace mp4v2::impl::qtff 36 | 37 | #endif // MP4V2_IMPL_QTTF_CODING_H 38 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_pasp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * Contributer has declined to give copyright information, and gives 15 | * it freely to the world. 16 | * 17 | * Contributor(s): 18 | */ 19 | 20 | #include "src/impl.h" 21 | 22 | namespace mp4v2 { 23 | namespace impl { 24 | 25 | /////////////////////////////////////////////////////////////////////////////// 26 | 27 | MP4PaspAtom::MP4PaspAtom(MP4File &file) 28 | : MP4Atom(file, "pasp") 29 | { 30 | 31 | AddProperty( /* 0 */ 32 | new MP4Integer32Property(*this, "hSpacing")); 33 | 34 | AddProperty( /* 1 */ 35 | new MP4Integer32Property(*this, "vSpacing")); 36 | 37 | } 38 | 39 | void MP4PaspAtom::Generate() 40 | { 41 | 42 | MP4Atom::Generate(); 43 | 44 | ((MP4Integer32Property*)m_pProperties[0])->SetValue(1); 45 | ((MP4Integer32Property*)m_pProperties[1])->SetValue(1); 46 | 47 | } 48 | 49 | /////////////////////////////////////////////////////////////////////////////// 50 | 51 | } 52 | } // namespace mp4v2::impl 53 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_smi.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2004. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Bill May wmay@cisco.com 20 | * 21 | * Apple iTunes META data 22 | */ 23 | 24 | #include "src/impl.h" 25 | 26 | namespace mp4v2 { 27 | namespace impl { 28 | 29 | /////////////////////////////////////////////////////////////////////////////// 30 | 31 | MP4SmiAtom::MP4SmiAtom(MP4File &file) 32 | : MP4Atom(file, "meta") 33 | { 34 | 35 | AddProperty( new MP4BytesProperty(*this, "metadata")); 36 | 37 | } 38 | 39 | void MP4SmiAtom::Read() 40 | { 41 | // calculate size of the metadata from the atom size 42 | ((MP4BytesProperty*)m_pProperties[0])->SetValueSize(m_size); 43 | 44 | MP4Atom::Read(); 45 | } 46 | 47 | /////////////////////////////////////////////////////////////////////////////// 48 | 49 | } 50 | } // namespace mp4v2::impl 51 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/ogg/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002, Xiph.org Foundation 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | 7 | - Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | - Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 14 | - Neither the name of the Xiph.org Foundation nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION 22 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2015 Xiph.org Foundation 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | 7 | - Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | - Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 14 | - Neither the name of the Xiph.org Foundation nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION 22 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_mp4s.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4Mp4sAtom::MP4Mp4sAtom(MP4File &file) 30 | : MP4Atom(file, "mp4s") 31 | { 32 | AddReserved(*this, "reserved1", 6); 33 | AddProperty( 34 | new MP4Integer16Property(*this, "dataReferenceIndex")); 35 | 36 | ExpectChildAtom("esds", Required, OnlyOne); 37 | } 38 | 39 | void MP4Mp4sAtom::Generate() 40 | { 41 | MP4Atom::Generate(); 42 | 43 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 44 | } 45 | 46 | /////////////////////////////////////////////////////////////////////////////// 47 | 48 | } 49 | } // namespace mp4v2::impl 50 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_href.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2005. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Bill May wmay@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4HrefAtom::MP4HrefAtom(MP4File &file) 30 | : MP4Atom(file, "href") 31 | { 32 | AddReserved(*this, "reserved1", 6); /* 0 */ 33 | 34 | AddProperty( /* 1 */ 35 | new MP4Integer16Property(*this, "dataReferenceIndex")); 36 | ExpectChildAtom("burl", Optional, OnlyOne); 37 | } 38 | 39 | void MP4HrefAtom::Generate() 40 | { 41 | MP4Atom::Generate(); 42 | 43 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 44 | 45 | } 46 | 47 | /////////////////////////////////////////////////////////////////////////////// 48 | 49 | } 50 | } // namespace mp4v2::impl 51 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/platform.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PLATFORM_PLATFORM_H 2 | #define MP4V2_PLATFORM_PLATFORM_H 3 | 4 | /// @namespace mp4v2::platform (private) Platform abstraction. 5 | /// WARNING: THIS IS A PRIVATE NAMESPACE. NOT FOR PUBLIC CONSUMPTION. 6 | /// 7 | /// This namespace implements platform abstractions that are useful for 8 | /// keeping the code base portable. 9 | 10 | /// @namespace mp4v2::platform::io (private) I/O. 11 | /// WARNING: THIS IS A PRIVATE NAMESPACE. NOT FOR PUBLIC CONSUMPTION. 12 | 13 | /// @namespace mp4v2::platform::number (private) Number. 14 | /// WARNING: THIS IS A PRIVATE NAMESPACE. NOT FOR PUBLIC CONSUMPTION. 15 | 16 | /// @namespace mp4v2::platform::sys (private) System. 17 | /// WARNING: THIS IS A PRIVATE NAMESPACE. NOT FOR PUBLIC CONSUMPTION. 18 | 19 | /////////////////////////////////////////////////////////////////////////////// 20 | 21 | #if defined( _WIN32 ) 22 | # include "libplatform/platform_win32.h" 23 | #else 24 | # include "libplatform/platform_posix.h" 25 | #endif 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | #include "libplatform/warning.h" 30 | #include "libplatform/endian.h" 31 | 32 | #include "libplatform/io/File.h" 33 | #include "libplatform/io/FileSystem.h" 34 | 35 | #include "libplatform/number/random.h" 36 | #include "libplatform/process/process.h" 37 | #include "libplatform/prog/option.h" 38 | #include "libplatform/sys/error.h" 39 | #include "libplatform/time/time.h" 40 | 41 | /////////////////////////////////////////////////////////////////////////////// 42 | 43 | #endif // MP4V2_PLATFORM_PLATFORM_H 44 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_ftab.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | */ 18 | 19 | #include "src/impl.h" 20 | 21 | namespace mp4v2 { 22 | namespace impl { 23 | 24 | /////////////////////////////////////////////////////////////////////////////// 25 | 26 | MP4FtabAtom::MP4FtabAtom(MP4File &file) 27 | : MP4Atom(file, "ftab") 28 | { 29 | MP4Integer16Property* pCount = new MP4Integer16Property(*this, "entryCount"); /* 0 */ 30 | AddProperty(pCount); 31 | 32 | MP4TableProperty* pTable = new MP4TableProperty(*this, "fontEntries", pCount); /* 1 */ 33 | AddProperty(pTable); 34 | 35 | pTable->AddProperty(new MP4Integer16Property(pTable->GetParentAtom(), "fontID")); /* 0 */ 36 | pTable->AddProperty(new MP4StringProperty(pTable->GetParentAtom(), "name", true)); /* 1 */ 37 | } 38 | 39 | /////////////////////////////////////////////////////////////////////////////// 40 | 41 | } 42 | } // namespace mp4v2::impl 43 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_hnti.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4HntiAtom::MP4HntiAtom(MP4File &file) 30 | : MP4Atom(file, "hnti") 31 | { 32 | } 33 | 34 | void MP4HntiAtom::Read() 35 | { 36 | MP4Atom* grandParent = m_pParentAtom->GetParentAtom(); 37 | ASSERT(grandParent); 38 | if (ATOMID(grandParent->GetType()) == ATOMID("trak")) { 39 | ExpectChildAtom("sdp ", Optional, OnlyOne); 40 | } else { 41 | ExpectChildAtom("rtp ", Optional, OnlyOne); 42 | } 43 | 44 | MP4Atom::Read(); 45 | } 46 | 47 | /////////////////////////////////////////////////////////////////////////////// 48 | 49 | } 50 | } // namespace mp4v2::impl 51 | -------------------------------------------------------------------------------- /src/lib/mp4v2/include/mp4v2/project.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PROJECT_H 2 | #define MP4V2_PROJECT_H 3 | 4 | /*****************************************************************************/ 5 | 6 | #define MP4V2_PROJECT_name "MP4v2" 7 | #define MP4V2_PROJECT_name_lower "mp4v2" 8 | #define MP4V2_PROJECT_name_upper "MP4V2" 9 | #define MP4V2_PROJECT_name_formal "MP4v2 2.0.0" 10 | #define MP4V2_PROJECT_url_website "http://code.google.com/p/mp4v2" 11 | #define MP4V2_PROJECT_url_downloads "http://code.google.com/p/mp4v2/downloads/list" 12 | #define MP4V2_PROJECT_url_discussion "http://groups.google.com/group/mp4v2" 13 | #define MP4V2_PROJECT_irc "irc://irc.freenode.net/handbrake" 14 | #define MP4V2_PROJECT_bugreport "" 15 | #define MP4V2_PROJECT_version "2.0.0" 16 | #define MP4V2_PROJECT_version_hex 0x00020000 17 | #define MP4V2_PROJECT_version_major 2 18 | #define MP4V2_PROJECT_version_minor 0 19 | #define MP4V2_PROJECT_version_point 0 20 | #define MP4V2_PROJECT_repo_url "https://mp4v2.googlecode.com/svn/releases/2.0.0" 21 | #define MP4V2_PROJECT_repo_branch "2.0.0" 22 | #define MP4V2_PROJECT_repo_root "https://mp4v2.googlecode.com/svn" 23 | #define MP4V2_PROJECT_repo_uuid "6e6572fa-98a6-11dd-ad9f-f77439c74b79" 24 | #define MP4V2_PROJECT_repo_rev 493 25 | #define MP4V2_PROJECT_repo_date "2012-05-20 15:16:54 -0700 (Sun, 20 May 2012)" 26 | #define MP4V2_PROJECT_repo_type "stable" 27 | #define MP4V2_PROJECT_build "Sun May 20 15:18:53 PDT 2012" 28 | 29 | /*****************************************************************************/ 30 | 31 | #endif /* MP4V2_PROJECT_H */ 32 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_uuid.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | IPodUUIDAtom::IPodUUIDAtom(MP4File &file) 30 | : MP4Atom(file, "uuid") 31 | { 32 | // 33 | // This is a hack, the contents of this atom need to be well defined. 34 | // 35 | static uint8_t ipod_magic[] = { 36 | 0x6b, 0x68, 0x40, 0xf2, 0x5f, 0x24, 0x4f, 0xc5, 37 | 0xba, 0x39, 0xa5, 0x1b, 0xcf, 0x03, 0x23, 0xf3 38 | }; 39 | 40 | SetExtendedType(ipod_magic); 41 | 42 | MP4Integer32Property* value = new MP4Integer32Property(*this, "value"); 43 | value->SetValue(1); 44 | AddProperty(value); 45 | } 46 | 47 | /////////////////////////////////////////////////////////////////////////////// 48 | 49 | } 50 | } // namespace mp4v2::impl 51 | -------------------------------------------------------------------------------- /src/lib/mp4v2/include/mp4v2/project.h.in: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PROJECT_H 2 | #define MP4V2_PROJECT_H 3 | 4 | /*****************************************************************************/ 5 | 6 | #define MP4V2_PROJECT_name "@PROJECT_name@" 7 | #define MP4V2_PROJECT_name_lower "@PROJECT_name_lower@" 8 | #define MP4V2_PROJECT_name_upper "@PROJECT_name_upper@" 9 | #define MP4V2_PROJECT_name_formal "@PROJECT_name_formal@" 10 | #define MP4V2_PROJECT_url_website "@PROJECT_url_website@" 11 | #define MP4V2_PROJECT_url_downloads "@PROJECT_url_downloads@" 12 | #define MP4V2_PROJECT_url_discussion "@PROJECT_url_discussion@" 13 | #define MP4V2_PROJECT_irc "@PROJECT_irc@" 14 | #define MP4V2_PROJECT_bugreport "@PROJECT_bugreport@" 15 | #define MP4V2_PROJECT_version "@PROJECT_version@" 16 | #define MP4V2_PROJECT_version_hex @PROJECT_version_hex@ 17 | #define MP4V2_PROJECT_version_major @PROJECT_version_major@ 18 | #define MP4V2_PROJECT_version_minor @PROJECT_version_minor@ 19 | #define MP4V2_PROJECT_version_point @PROJECT_version_point@ 20 | #define MP4V2_PROJECT_repo_url "@PROJECT_repo_url@" 21 | #define MP4V2_PROJECT_repo_branch "@PROJECT_repo_branch@" 22 | #define MP4V2_PROJECT_repo_root "@PROJECT_repo_root@" 23 | #define MP4V2_PROJECT_repo_uuid "@PROJECT_repo_uuid@" 24 | #define MP4V2_PROJECT_repo_rev @PROJECT_repo_rev@ 25 | #define MP4V2_PROJECT_repo_date "@PROJECT_repo_date@" 26 | #define MP4V2_PROJECT_repo_type "@PROJECT_repo_type@" 27 | #define MP4V2_PROJECT_build "@PROJECT_build@" 28 | 29 | /*****************************************************************************/ 30 | 31 | #endif /* MP4V2_PROJECT_H */ 32 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_sdtp.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // The contents of this file are subject to the Mozilla Public License 4 | // Version 1.1 (the "License"); you may not use this file except in 5 | // compliance with the License. You may obtain a copy of the License at 6 | // http://www.mozilla.org/MPL/ 7 | // 8 | // Software distributed under the License is distributed on an "AS IS" 9 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 10 | // License for the specific language governing rights and limitations 11 | // under the License. 12 | // 13 | // The Original Code is MP4v2. 14 | // 15 | // The Initial Developer of the Original Code is Kona Blend. 16 | // Portions created by Kona Blend are Copyright (C) 2008. 17 | // All Rights Reserved. 18 | // 19 | // Contributors: 20 | // Kona Blend, kona8lend@@gmail.com 21 | // 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | #include "src/impl.h" 25 | 26 | namespace mp4v2 { namespace impl { 27 | 28 | /////////////////////////////////////////////////////////////////////////////// 29 | 30 | MP4SdtpAtom::MP4SdtpAtom(MP4File &file) 31 | : MP4FullAtom ( file, "sdtp" ) 32 | , data ( *new MP4BytesProperty( *this, "data" )) 33 | { 34 | AddProperty( &data ); 35 | } 36 | 37 | /////////////////////////////////////////////////////////////////////////////// 38 | 39 | void MP4SdtpAtom::Read() 40 | { 41 | data.SetValueSize( m_size - 4 ); 42 | MP4FullAtom::Read(); 43 | } 44 | 45 | /////////////////////////////////////////////////////////////////////////////// 46 | 47 | }} // namespace mp4v2::impl 48 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/bmff/bmff.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // The contents of this file are subject to the Mozilla Public License 4 | // Version 1.1 (the "License"); you may not use this file except in 5 | // compliance with the License. You may obtain a copy of the License at 6 | // http://www.mozilla.org/MPL/ 7 | // 8 | // Software distributed under the License is distributed on an "AS IS" 9 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 10 | // License for the specific language governing rights and limitations 11 | // under the License. 12 | // 13 | // The Original Code is MP4v2. 14 | // 15 | // The Initial Developer of the Original Code is Kona Blend. 16 | // Portions created by Kona Blend are Copyright (C) 2008. 17 | // All Rights Reserved. 18 | // 19 | // Contributors: 20 | // Kona Blend, kona8lend@@gmail.com 21 | // 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef MP4V2_IMPL_BMFF_BMFF_H 25 | #define MP4V2_IMPL_BMFF_BMFF_H 26 | 27 | /// @namespace mp4v2::impl::bmff (private) ISO base media file format. 28 | /// WARNING: THIS IS A PRIVATE NAMESPACE. NOT FOR PUBLIC CONSUMPTION. 29 | /// 30 | /// This namespace implements some features that are specified by 31 | /// ISO base media file format, ISO/IEC 14496-12:2005(E). 32 | /// 33 | namespace mp4v2 { namespace impl { namespace bmff { 34 | ; 35 | }}} 36 | 37 | /////////////////////////////////////////////////////////////////////////////// 38 | 39 | //#include "type.h" 40 | 41 | /////////////////////////////////////////////////////////////////////////////// 42 | 43 | #endif // MP4V2_IMPL_BMFF_BMFF_H 44 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_free.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4FreeAtom::MP4FreeAtom( MP4File &file, const char* type ) 30 | : MP4Atom( file, type ? type : "free" ) 31 | { 32 | } 33 | 34 | void MP4FreeAtom::Read() 35 | { 36 | Skip(); 37 | } 38 | 39 | void MP4FreeAtom::Write() 40 | { 41 | bool use64 = (GetSize() > (0xFFFFFFFF - 8)); 42 | BeginWrite(use64); 43 | #if 1 44 | for (uint64_t ix = 0; ix < GetSize(); ix++) { 45 | m_File.WriteUInt8(0); 46 | } 47 | #else 48 | m_File.SetPosition(m_File.GetPosition() + GetSize()); 49 | #endif 50 | FinishWrite(use64); 51 | } 52 | 53 | /////////////////////////////////////////////////////////////////////////////// 54 | 55 | } 56 | } // namespace mp4v2::impl 57 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_urn.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4UrnAtom::MP4UrnAtom(MP4File &file) 30 | : MP4Atom(file, "urn ") 31 | { 32 | AddVersionAndFlags(); 33 | AddProperty(new MP4StringProperty(*this, "name")); 34 | AddProperty(new MP4StringProperty(*this, "location")); 35 | } 36 | 37 | void MP4UrnAtom::Read() 38 | { 39 | // read the version, flags, and name properties 40 | ReadProperties(0, 3); 41 | 42 | // check if location is present 43 | if (m_File.GetPosition() < GetEnd()) { 44 | // read it 45 | ReadProperties(3); 46 | } 47 | 48 | Skip(); // to end of atom 49 | } 50 | 51 | /////////////////////////////////////////////////////////////////////////////// 52 | 53 | } 54 | } // namespace mp4v2::impl 55 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/itmf/itmf.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // The contents of this file are subject to the Mozilla Public License 4 | // Version 1.1 (the "License"); you may not use this file except in 5 | // compliance with the License. You may obtain a copy of the License at 6 | // http://www.mozilla.org/MPL/ 7 | // 8 | // Software distributed under the License is distributed on an "AS IS" 9 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 10 | // License for the specific language governing rights and limitations 11 | // under the License. 12 | // 13 | // The Original Code is MP4v2. 14 | // 15 | // The Initial Developer of the Original Code is Kona Blend. 16 | // Portions created by Kona Blend are Copyright (C) 2008. 17 | // All Rights Reserved. 18 | // 19 | // Contributors: 20 | // Kona Blend, kona8lend@@gmail.com 21 | // 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef MP4V2_IMPL_ITMF_ITMF_H 25 | #define MP4V2_IMPL_ITMF_ITMF_H 26 | 27 | /// @namespace mp4v2::impl::itmf (private) iTunes Metadata Format. 28 | /// WARNING: THIS IS A PRIVATE NAMESPACE. NOT FOR PUBLIC CONSUMPTION. 29 | /// 30 | /// This namespace implements some features that are specified by the 31 | /// iTunes Metadata Format Specification, revision 2008-04-16. 32 | /// 33 | namespace mp4v2 { namespace impl { namespace itmf { 34 | ; 35 | }}} 36 | 37 | /////////////////////////////////////////////////////////////////////////////// 38 | 39 | #include "CoverArtBox.h" 40 | #include "Tags.h" 41 | #include "generic.h" 42 | 43 | /////////////////////////////////////////////////////////////////////////////// 44 | 45 | #endif // MP4V2_IMPL_ITMF_ITMF_H 46 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/qtff/qtff.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // The contents of this file are subject to the Mozilla Public License 4 | // Version 1.1 (the "License"); you may not use this file except in 5 | // compliance with the License. You may obtain a copy of the License at 6 | // http://www.mozilla.org/MPL/ 7 | // 8 | // Software distributed under the License is distributed on an "AS IS" 9 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 10 | // License for the specific language governing rights and limitations 11 | // under the License. 12 | // 13 | // The Original Code is MP4v2. 14 | // 15 | // The Initial Developer of the Original Code is Kona Blend. 16 | // Portions created by Kona Blend are Copyright (C) 2008. 17 | // All Rights Reserved. 18 | // 19 | // Contributors: 20 | // Kona Blend, kona8lend@@gmail.com 21 | // 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef MP4V2_IMPL_QTFF_QTFF_H 25 | #define MP4V2_IMPL_QTFF_QTFF_H 26 | 27 | /// @namespace mp4v2::impl::qtff (private) QuickTime File Format. 28 | /// WARNING: THIS IS A PRIVATE NAMESPACE. NOT FOR PUBLIC CONSUMPTION. 29 | /// 30 | /// This namespace implements some features that are specified by the 31 | /// QuickTime File Format Specification, revision 2007-09-04. 32 | /// 33 | namespace mp4v2 { namespace impl { namespace qtff { 34 | ; 35 | }}} 36 | 37 | /////////////////////////////////////////////////////////////////////////////// 38 | 39 | #include "ColorParameterBox.h" 40 | #include "PictureAspectRatioBox.h" 41 | #include "coding.h" 42 | 43 | /////////////////////////////////////////////////////////////////////////////// 44 | 45 | #endif // MP4V2_IMPL_QTTF_QTFF_H 46 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/io/FileSystem_posix.cpp: -------------------------------------------------------------------------------- 1 | #include "libplatform/impl.h" 2 | #include 3 | 4 | namespace mp4v2 { namespace platform { namespace io { 5 | 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | bool 9 | FileSystem::exists( string path_ ) 10 | { 11 | struct stat buf; 12 | return stat( path_.c_str(), &buf ) == 0; 13 | } 14 | 15 | /////////////////////////////////////////////////////////////////////////////// 16 | 17 | bool 18 | FileSystem::isDirectory( string path_ ) 19 | { 20 | struct stat buf; 21 | if( stat( path_.c_str(), &buf )) 22 | return false; 23 | return S_ISDIR( buf.st_mode ); 24 | } 25 | 26 | /////////////////////////////////////////////////////////////////////////////// 27 | 28 | bool 29 | FileSystem::isFile( string path_ ) 30 | { 31 | struct stat buf; 32 | if( stat( path_.c_str(), &buf )) 33 | return false; 34 | return S_ISREG( buf.st_mode ); 35 | } 36 | 37 | /////////////////////////////////////////////////////////////////////////////// 38 | 39 | bool 40 | FileSystem::getFileSize( string path_, File::Size& size_ ) 41 | { 42 | size_ = 0; 43 | struct stat buf; 44 | if( stat( path_.c_str(), &buf )) 45 | return true; 46 | size_ = buf.st_size; 47 | return false; 48 | } 49 | 50 | /////////////////////////////////////////////////////////////////////////////// 51 | 52 | bool 53 | FileSystem::rename( string from, string to ) 54 | { 55 | return ::rename( from.c_str(), to.c_str() ) != 0; 56 | } 57 | 58 | /////////////////////////////////////////////////////////////////////////////// 59 | 60 | string FileSystem::DIR_SEPARATOR = "/"; 61 | string FileSystem::PATH_SEPARATOR = ":"; 62 | 63 | /////////////////////////////////////////////////////////////////////////////// 64 | 65 | }}} // namespace mp4v2::platform::io 66 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/config.h.in: -------------------------------------------------------------------------------- 1 | /* libplatform/config.h.in. Generated from configure.ac by autoheader. */ 2 | 3 | /* Define to 1 if you have the header file. */ 4 | #undef HAVE_DLFCN_H 5 | 6 | /* Define to 1 if you have the header file. */ 7 | #undef HAVE_INTTYPES_H 8 | 9 | /* Define to 1 if you have the header file. */ 10 | #undef HAVE_MEMORY_H 11 | 12 | /* Define to 1 if you have the header file. */ 13 | #undef HAVE_STDINT_H 14 | 15 | /* Define to 1 if you have the header file. */ 16 | #undef HAVE_STDLIB_H 17 | 18 | /* Define to 1 if you have the header file. */ 19 | #undef HAVE_STRINGS_H 20 | 21 | /* Define to 1 if you have the header file. */ 22 | #undef HAVE_STRING_H 23 | 24 | /* Define to 1 if you have the header file. */ 25 | #undef HAVE_SYS_STAT_H 26 | 27 | /* Define to 1 if you have the header file. */ 28 | #undef HAVE_SYS_TYPES_H 29 | 30 | /* Define to 1 if you have the header file. */ 31 | #undef HAVE_UNISTD_H 32 | 33 | /* Define to the sub-directory in which libtool stores uninstalled libraries. 34 | */ 35 | #undef LT_OBJDIR 36 | 37 | /* Define to 1 if LFS should be activated */ 38 | #undef NEED_LFS_ACTIVATION 39 | 40 | /* Name of package */ 41 | #undef PACKAGE 42 | 43 | /* Define to the address where bug reports for this package should be sent. */ 44 | #undef PACKAGE_BUGREPORT 45 | 46 | /* Define to the full name of this package. */ 47 | #undef PACKAGE_NAME 48 | 49 | /* Define to the full name and version of this package. */ 50 | #undef PACKAGE_STRING 51 | 52 | /* Define to the one symbol short name of this package. */ 53 | #undef PACKAGE_TARNAME 54 | 55 | /* Define to the home page for this package. */ 56 | #undef PACKAGE_URL 57 | 58 | /* Define to the version of this package. */ 59 | #undef PACKAGE_VERSION 60 | 61 | /* Define to 1 if you have the ANSI C header files. */ 62 | #undef STDC_HEADERS 63 | 64 | /* Version number of package */ 65 | #undef VERSION 66 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_udta.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4UdtaAtom::MP4UdtaAtom(MP4File &file) 30 | : MP4Atom(file, "udta") 31 | { 32 | ExpectChildAtom("chpl", Optional, OnlyOne); 33 | ExpectChildAtom("cprt", Optional, Many); 34 | ExpectChildAtom("hnti", Optional, OnlyOne); 35 | ExpectChildAtom("meta", Optional, OnlyOne); 36 | ExpectChildAtom("\251cpy", Optional, OnlyOne); 37 | ExpectChildAtom("\251des", Optional, OnlyOne); 38 | ExpectChildAtom("\251nam", Optional, OnlyOne); 39 | ExpectChildAtom("\251cmt", Optional, OnlyOne); 40 | ExpectChildAtom("\251prd", Optional, OnlyOne); 41 | } 42 | 43 | void MP4UdtaAtom::Read() 44 | { 45 | if (ATOMID(m_pParentAtom->GetType()) == ATOMID("trak")) { 46 | ExpectChildAtom("hinf", Optional, OnlyOne); 47 | ExpectChildAtom("name", Optional, OnlyOne); 48 | } 49 | 50 | MP4Atom::Read(); 51 | } 52 | 53 | /////////////////////////////////////////////////////////////////////////////// 54 | 55 | } 56 | } // namespace mp4v2::impl 57 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/registry.c: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: registry for time, floor, res backends and channel mappings 14 | last mod: $Id: registry.c 16227 2009-07-08 06:58:46Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | #include "vorbis/codec.h" 19 | #include "codec_internal.h" 20 | #include "registry.h" 21 | #include "misc.h" 22 | /* seems like major overkill now; the backend numbers will grow into 23 | the infrastructure soon enough */ 24 | 25 | extern const vorbis_func_floor floor0_exportbundle; 26 | extern const vorbis_func_floor floor1_exportbundle; 27 | extern const vorbis_func_residue residue0_exportbundle; 28 | extern const vorbis_func_residue residue1_exportbundle; 29 | extern const vorbis_func_residue residue2_exportbundle; 30 | extern const vorbis_func_mapping mapping0_exportbundle; 31 | 32 | const vorbis_func_floor *const _floor_P[]={ 33 | &floor0_exportbundle, 34 | &floor1_exportbundle, 35 | }; 36 | 37 | const vorbis_func_residue *const _residue_P[]={ 38 | &residue0_exportbundle, 39 | &residue1_exportbundle, 40 | &residue2_exportbundle, 41 | }; 42 | 43 | const vorbis_func_mapping *const _mapping_P[]={ 44 | &mapping0_exportbundle, 45 | }; 46 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_stdp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4StdpAtom::MP4StdpAtom(MP4File &file) 30 | : MP4Atom(file, "stdp") 31 | { 32 | AddVersionAndFlags(); 33 | 34 | MP4Integer32Property* pCount = 35 | new MP4Integer32Property(*this, "entryCount"); 36 | pCount->SetImplicit(); 37 | AddProperty(pCount); 38 | 39 | MP4TableProperty* pTable = new MP4TableProperty(*this, "entries", pCount); 40 | AddProperty(pTable); 41 | 42 | pTable->AddProperty( 43 | new MP4Integer16Property(pTable->GetParentAtom(), "priority")); 44 | } 45 | 46 | void MP4StdpAtom::Read() 47 | { 48 | // table entry count computed from atom size 49 | ((MP4Integer32Property*)m_pProperties[2])->SetReadOnly(false); 50 | ((MP4Integer32Property*)m_pProperties[2])->SetValue((m_size - 4) / 2); 51 | ((MP4Integer32Property*)m_pProperties[2])->SetReadOnly(true); 52 | 53 | MP4Atom::Read(); 54 | } 55 | 56 | /////////////////////////////////////////////////////////////////////////////// 57 | 58 | } 59 | } // namespace mp4v2::impl 60 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_treftype.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4TrefTypeAtom::MP4TrefTypeAtom(MP4File &file, const char* type) 30 | : MP4Atom(file, type) 31 | { 32 | MP4Integer32Property* pCount = 33 | new MP4Integer32Property(*this, "entryCount"); 34 | pCount->SetImplicit(); 35 | AddProperty(pCount); /* 0 */ 36 | 37 | MP4TableProperty* pTable = new MP4TableProperty(*this, "entries", pCount); 38 | AddProperty(pTable); /* 1 */ 39 | 40 | pTable->AddProperty( /* 1, 0 */ 41 | new MP4Integer32Property(pTable->GetParentAtom(), "trackId")); 42 | } 43 | 44 | void MP4TrefTypeAtom::Read() 45 | { 46 | // table entry count computed from atom size 47 | ((MP4Integer32Property*)m_pProperties[0])->SetReadOnly(false); 48 | ((MP4Integer32Property*)m_pProperties[0])->SetValue(m_size / 4); 49 | ((MP4Integer32Property*)m_pProperties[0])->SetReadOnly(true); 50 | 51 | MP4Atom::Read(); 52 | } 53 | 54 | /////////////////////////////////////////////////////////////////////////////// 55 | 56 | } 57 | } // namespace mp4v2::impl 58 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_gmin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * Contributer has declined to give copyright information, and gives 15 | * it freely to the world. 16 | * 17 | * Contributor(s): 18 | */ 19 | 20 | #include "src/impl.h" 21 | 22 | namespace mp4v2 { 23 | namespace impl { 24 | 25 | /////////////////////////////////////////////////////////////////////////////// 26 | 27 | MP4GminAtom::MP4GminAtom(MP4File &file) 28 | : MP4Atom(file, "gmin") 29 | { 30 | 31 | AddVersionAndFlags(); /* 0, 1 */ 32 | 33 | AddProperty(new MP4Integer16Property(*this, "graphicsMode")); /* 2 */ 34 | AddProperty(new MP4Integer16Property(*this, "opColorRed")); /* 3 */ 35 | AddProperty(new MP4Integer16Property(*this, "opColorGreen")); /* 4 */ 36 | AddProperty(new MP4Integer16Property(*this, "opColorBlue")); /* 5 */ 37 | AddProperty(new MP4Integer16Property(*this, "balance")); /* 6 */ 38 | AddReserved(*this, "reserved", 2); /* 7 */ 39 | 40 | } 41 | 42 | void MP4GminAtom::Generate() 43 | { 44 | 45 | MP4Atom::Generate(); 46 | 47 | ((MP4Integer16Property*)m_pProperties[2])->SetValue(0x0040); 48 | ((MP4Integer16Property*)m_pProperties[3])->SetValue(0x8000); 49 | ((MP4Integer16Property*)m_pProperties[4])->SetValue(0x8000); 50 | ((MP4Integer16Property*)m_pProperties[5])->SetValue(0x8000); 51 | ((MP4Integer16Property*)m_pProperties[6])->SetValue(0x0000); 52 | 53 | } 54 | 55 | /////////////////////////////////////////////////////////////////////////////// 56 | 57 | } 58 | } // namespace mp4v2::impl 59 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/time/time.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PLATFORM_TIME_TIME_H 2 | #define MP4V2_PLATFORM_TIME_TIME_H 3 | 4 | /// @namespace mp4v2::platform::time (private) Time. 5 | /// WARNING: THIS IS A PRIVATE NAMESPACE. NOT FOR PUBLIC CONSUMPTION. 6 | namespace mp4v2 { namespace platform { namespace time { 7 | 8 | //! type used to represent milliseconds 9 | typedef int64_t milliseconds_t; 10 | 11 | //! type used to represent seconds 12 | typedef int64_t seconds_t; 13 | 14 | /////////////////////////////////////////////////////////////////////////////// 15 | //! 16 | //! Get local-time in milliseconds. 17 | //! 18 | //! getLocalTimeMilliseconds obtains the system's notion of current Greenwich 19 | //! time, adjusted according to the current timezone of the host system. 20 | //! The time is expressed as an absolute value since midnight (0 hour), 21 | //! January 1, 1970. This is commonly referred to as the "epoch". 22 | //! 23 | //! @return local-time in milliseconds elapsed since the epoch. 24 | //! 25 | /////////////////////////////////////////////////////////////////////////////// 26 | MP4V2_EXPORT milliseconds_t getLocalTimeMilliseconds(); 27 | 28 | /////////////////////////////////////////////////////////////////////////////// 29 | //! 30 | //! Get local-time in seconds. 31 | //! 32 | //! getLocalTimeMilliseconds obtains the system's notion of current Greenwich 33 | //! time, adjusted according to the current timezone of the host system. 34 | //! The time is expressed as an absolute value since midnight (0 hour), 35 | //! January 1, 1970. This is commonly referred to as the "epoch". 36 | //! 37 | //! @return local-time in seconds elapsed since the epoch. 38 | //! 39 | /////////////////////////////////////////////////////////////////////////////// 40 | MP4V2_EXPORT seconds_t getLocalTimeSeconds(); 41 | 42 | /////////////////////////////////////////////////////////////////////////////// 43 | //! @} 44 | /////////////////////////////////////////////////////////////////////////////// 45 | 46 | }}} // namespace mp4v2::platform::time 47 | 48 | #endif // MP4V2_PLATFORM_TIME_TIME_H 49 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/highlevel.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: highlevel encoder setup struct separated out for vorbisenc clarity 14 | last mod: $Id: highlevel.h 17195 2010-05-05 21:49:51Z giles $ 15 | 16 | ********************************************************************/ 17 | 18 | typedef struct highlevel_byblocktype { 19 | double tone_mask_setting; 20 | double tone_peaklimit_setting; 21 | double noise_bias_setting; 22 | double noise_compand_setting; 23 | } highlevel_byblocktype; 24 | 25 | typedef struct highlevel_encode_setup { 26 | int set_in_stone; 27 | const void *setup; 28 | double base_setting; 29 | 30 | double impulse_noisetune; 31 | 32 | /* bitrate management below all settable */ 33 | float req; 34 | int managed; 35 | long bitrate_min; 36 | long bitrate_av; 37 | double bitrate_av_damp; 38 | long bitrate_max; 39 | long bitrate_reservoir; 40 | double bitrate_reservoir_bias; 41 | 42 | int impulse_block_p; 43 | int noise_normalize_p; 44 | int coupling_p; 45 | 46 | double stereo_point_setting; 47 | double lowpass_kHz; 48 | int lowpass_altered; 49 | 50 | double ath_floating_dB; 51 | double ath_absolute_dB; 52 | 53 | double amplitude_track_dBpersec; 54 | double trigger_setting; 55 | 56 | highlevel_byblocktype block[4]; /* padding, impulse, transition, long */ 57 | 58 | } highlevel_encode_setup; 59 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/util.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_IMPL_UTIL_H 2 | #define MP4V2_IMPL_UTIL_H 3 | 4 | namespace mp4v2 { namespace impl { 5 | 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | inline int8_t max( int8_t a, int8_t b ) { 9 | return ( a > b ) ? a : b; 10 | } 11 | 12 | inline int16_t max( int16_t a, int16_t b ) { 13 | return ( a > b ) ? a : b; 14 | } 15 | 16 | inline int32_t max( int32_t a, int32_t b ) { 17 | return ( a > b ) ? a : b; 18 | } 19 | 20 | inline int64_t max( int64_t a, int64_t b ) { 21 | return ( a > b ) ? a : b; 22 | } 23 | 24 | /////////////////////////////////////////////////////////////////////////////// 25 | 26 | inline uint8_t max( uint8_t a, uint8_t b ) { 27 | return ( a > b ) ? a : b; 28 | } 29 | 30 | inline uint16_t max( uint16_t a, uint16_t b ) { 31 | return ( a > b ) ? a : b; 32 | } 33 | 34 | inline uint32_t max( uint32_t a, uint32_t b ) { 35 | return ( a > b ) ? a : b; 36 | } 37 | 38 | inline uint64_t max( uint64_t a, uint64_t b ) { 39 | return ( a > b ) ? a : b; 40 | } 41 | 42 | /////////////////////////////////////////////////////////////////////////////// 43 | 44 | inline int8_t min( int8_t a, int8_t b ) { 45 | return ( a < b ) ? a : b; 46 | } 47 | 48 | inline int16_t min( int16_t a, int16_t b ) { 49 | return ( a < b ) ? a : b; 50 | } 51 | 52 | inline int32_t min( int32_t a, int32_t b ) { 53 | return ( a < b ) ? a : b; 54 | } 55 | 56 | inline int64_t min( int64_t a, int64_t b ) { 57 | return ( a < b ) ? a : b; 58 | } 59 | 60 | /////////////////////////////////////////////////////////////////////////////// 61 | 62 | inline uint8_t min( uint8_t a, uint8_t b ) { 63 | return ( a < b ) ? a : b; 64 | } 65 | 66 | inline uint16_t min( uint16_t a, uint16_t b ) { 67 | return ( a < b ) ? a : b; 68 | } 69 | 70 | inline uint32_t min( uint32_t a, uint32_t b ) { 71 | return ( a < b ) ? a : b; 72 | } 73 | 74 | inline uint64_t min( uint64_t a, uint64_t b ) { 75 | return ( a < b ) ? a : b; 76 | } 77 | 78 | /////////////////////////////////////////////////////////////////////////////// 79 | 80 | }} // namespace mp4v2::impl 81 | 82 | #endif // MP4V2_IMPL_UTIL_H 83 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_ftyp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { namespace impl { 25 | 26 | /////////////////////////////////////////////////////////////////////////////// 27 | 28 | MP4FtypAtom::MP4FtypAtom(MP4File &file) 29 | : MP4Atom( file, "ftyp" ) 30 | , majorBrand ( *new MP4StringProperty( *this, "majorBrand" )) 31 | , minorVersion ( *new MP4Integer32Property( *this, "minorVersion" )) 32 | , compatibleBrands ( *new MP4StringProperty( *this, "compatibleBrands", false, false, true )) 33 | { 34 | majorBrand.SetFixedLength( 4 ); 35 | compatibleBrands.SetFixedLength( 4 ); 36 | 37 | AddProperty( &majorBrand ); 38 | AddProperty( &minorVersion ); 39 | AddProperty( &compatibleBrands ); 40 | } 41 | 42 | void MP4FtypAtom::Generate() 43 | { 44 | MP4Atom::Generate(); 45 | 46 | majorBrand.SetValue( "mp42" ); 47 | minorVersion.SetValue( 0 ); 48 | 49 | compatibleBrands.SetCount( 2 ); 50 | compatibleBrands.SetValue( "mp42", 0 ); 51 | compatibleBrands.SetValue( "isom", 1 ); 52 | } 53 | 54 | void MP4FtypAtom::Read() 55 | { 56 | compatibleBrands.SetCount( (m_size - 8) / 4 ); // brands array fills rest of atom 57 | MP4Atom::Read(); 58 | } 59 | 60 | /////////////////////////////////////////////////////////////////////////////// 61 | 62 | }} // namespace mp4v2::impl 63 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_sdp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4SdpAtom::MP4SdpAtom(MP4File &file) : MP4Atom(file, "sdp ") 30 | { 31 | AddProperty( 32 | new MP4StringProperty(*this, "sdpText")); 33 | } 34 | 35 | void MP4SdpAtom::Read() 36 | { 37 | // read sdp string, length is implicit in size of atom 38 | uint64_t size = GetEnd() - m_File.GetPosition(); 39 | char* data = (char*)MP4Malloc(size + 1); 40 | ASSERT(data != NULL); 41 | m_File.ReadBytes((uint8_t*)data, size); 42 | data[size] = '\0'; 43 | ((MP4StringProperty*)m_pProperties[0])->SetValue(data); 44 | MP4Free(data); 45 | } 46 | 47 | void MP4SdpAtom::Write() 48 | { 49 | // since length of string is implicit in size of atom 50 | // we need to handle this specially, and not write the terminating \0 51 | MP4StringProperty* pSdp = (MP4StringProperty*)m_pProperties[0]; 52 | const char* sdpText = pSdp->GetValue(); 53 | if (sdpText) { 54 | pSdp->SetFixedLength((uint32_t)strlen(sdpText)); 55 | } 56 | MP4Atom::Write(); 57 | pSdp->SetFixedLength(0); 58 | } 59 | 60 | /////////////////////////////////////////////////////////////////////////////// 61 | 62 | } 63 | } // namespace mp4v2::impl 64 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in 2 | 3 | SUBDIRS = modes books 4 | 5 | INCLUDES = -I$(top_srcdir)/include @OGG_CFLAGS@ 6 | 7 | lib_LTLIBRARIES = libvorbis.la libvorbisfile.la libvorbisenc.la 8 | 9 | libvorbis_la_SOURCES = mdct.c smallft.c block.c envelope.c window.c lsp.c \ 10 | lpc.c analysis.c synthesis.c psy.c info.c \ 11 | floor1.c floor0.c\ 12 | res0.c mapping0.c registry.c codebook.c sharedbook.c\ 13 | lookup.c bitrate.c\ 14 | envelope.h lpc.h lsp.h codebook.h misc.h psy.h\ 15 | masking.h os.h mdct.h smallft.h highlevel.h\ 16 | registry.h scales.h window.h lookup.h lookup_data.h\ 17 | codec_internal.h backends.h bitrate.h 18 | libvorbis_la_LDFLAGS = -no-undefined -version-info @V_LIB_CURRENT@:@V_LIB_REVISION@:@V_LIB_AGE@ 19 | libvorbis_la_LIBADD = @VORBIS_LIBS@ @OGG_LIBS@ 20 | 21 | libvorbisfile_la_SOURCES = vorbisfile.c 22 | libvorbisfile_la_LDFLAGS = -no-undefined -version-info @VF_LIB_CURRENT@:@VF_LIB_REVISION@:@VF_LIB_AGE@ 23 | libvorbisfile_la_LIBADD = libvorbis.la @OGG_LIBS@ 24 | 25 | libvorbisenc_la_SOURCES = vorbisenc.c 26 | libvorbisenc_la_LDFLAGS = -no-undefined -version-info @VE_LIB_CURRENT@:@VE_LIB_REVISION@:@VE_LIB_AGE@ 27 | libvorbisenc_la_LIBADD = libvorbis.la @OGG_LIBS@ 28 | 29 | EXTRA_PROGRAMS = barkmel tone psytune 30 | CLEANFILES = $(EXTRA_PROGRAMS) 31 | 32 | barkmel_SOURCES = barkmel.c 33 | tone_SOURCES = tone.c 34 | psytune_SOURCES = psytune.c 35 | psytune_LDFLAGS = -static 36 | psytune_LDADD = libvorbis.la 37 | 38 | EXTRA_DIST = lookups.pl 39 | 40 | # build and run the self tests on 'make check' 41 | 42 | #vorbis_selftests = test_codebook test_sharedbook 43 | vorbis_selftests = test_sharedbook 44 | 45 | noinst_PROGRAMS = $(vorbis_selftests) 46 | 47 | check: $(noinst_PROGRAMS) 48 | ./test_sharedbook$(EXEEXT) 49 | 50 | #test_codebook_SOURCES = codebook.c 51 | #test_codebook_CFLAGS = -D_V_SELFTEST 52 | 53 | test_sharedbook_SOURCES = sharedbook.c 54 | test_sharedbook_CFLAGS = -D_V_SELFTEST 55 | test_sharedbook_LDADD = @VORBIS_LIBS@ 56 | 57 | # recurse for alternate targets 58 | 59 | debug: 60 | $(MAKE) all CFLAGS="@DEBUG@" 61 | 62 | profile: 63 | $(MAKE) all CFLAGS="@PROFILE@" 64 | -------------------------------------------------------------------------------- /src/tools/symlinkts/symlinkts.c: -------------------------------------------------------------------------------- 1 | /* 2 | * symlinkts - Set the timestamp of symlink as same as its target. 3 | * 4 | * Note: Administrator privileges are required. 5 | */ 6 | 7 | #define UNICODE 8 | #define _UNICODE 9 | #include 10 | #include 11 | #include 12 | 13 | #ifndef INVALID_FILE_ATTRIBUTES 14 | #define INVALID_FILE_ATTRIBUTES ((DWORD)-1) 15 | #endif 16 | 17 | int set_symlink_timestamp(LPCTSTR filename) 18 | { 19 | HANDLE hFile; 20 | FILETIME ftModified; 21 | DWORD dwAttr; 22 | BOOL ret; 23 | 24 | /* Check if the filename is a reparse point. */ 25 | dwAttr = GetFileAttributes(filename); 26 | if (dwAttr == INVALID_FILE_ATTRIBUTES) { 27 | _tprintf(_T("Can't get the attributes of \"%s\".\n"), filename); 28 | return -1; 29 | } else if ((dwAttr & FILE_ATTRIBUTE_REPARSE_POINT) == 0) { 30 | _tprintf(_T("Not a symlink: \"%s\".\n"), filename); 31 | return -1; 32 | } 33 | 34 | /* Get the timestamp of the symlink target. */ 35 | hFile = CreateFile(filename, FILE_READ_ATTRIBUTES, 36 | FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 37 | 0, NULL); 38 | if (hFile == INVALID_HANDLE_VALUE) { 39 | _tprintf(_T("Can't open the link target of \"%s\".\n"), filename); 40 | return -1; 41 | } 42 | ret = GetFileTime(hFile, NULL, NULL, &ftModified); 43 | CloseHandle(hFile); 44 | if (!ret) { 45 | _tprintf(_T("Can't get the timestamp.\n")); 46 | return -1; 47 | } 48 | 49 | /* Set the timestamp of the symlink itself. */ 50 | hFile = CreateFile(filename, FILE_WRITE_ATTRIBUTES, 51 | 0, NULL, OPEN_EXISTING, 52 | FILE_FLAG_OPEN_REPARSE_POINT, NULL); 53 | if (hFile == INVALID_HANDLE_VALUE) { 54 | _tprintf(_T("Can't open the link \"%s\" (error: %d).\n"), filename, 55 | GetLastError()); 56 | return -1; 57 | } 58 | ret = SetFileTime(hFile, NULL, NULL, &ftModified); 59 | if (!ret) { 60 | _tprintf(_T("Can't set the timestamp.\n")); 61 | } 62 | CloseHandle(hFile); 63 | return (ret) ? 0 : -1; 64 | } 65 | 66 | int __cdecl _tmain(int argc, TCHAR **argv) 67 | { 68 | int i; 69 | 70 | for (i = 1; i < argc; i++) { 71 | set_symlink_timestamp(argv[i]); 72 | } 73 | return 0; 74 | } 75 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_dref.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4DrefAtom::MP4DrefAtom(MP4File &file) 30 | : MP4Atom(file, "dref") 31 | { 32 | AddVersionAndFlags(); 33 | 34 | MP4Integer32Property* pCount = 35 | new MP4Integer32Property(*this, "entryCount"); 36 | pCount->SetReadOnly(); 37 | AddProperty(pCount); 38 | 39 | ExpectChildAtom("url ", Optional, Many); 40 | ExpectChildAtom("urn ", Optional, Many); 41 | ExpectChildAtom("alis", Optional, Many); 42 | } 43 | 44 | void MP4DrefAtom::Read() 45 | { 46 | /* do the usual read */ 47 | MP4Atom::Read(); 48 | 49 | // check that number of children == entryCount 50 | MP4Integer32Property* pCount = 51 | (MP4Integer32Property*)m_pProperties[2]; 52 | 53 | if (m_pChildAtoms.Size() != pCount->GetValue()) { 54 | log.warningf("%s: \"%s\": dref inconsistency with number of entries", 55 | __FUNCTION__, GetFile().GetFilename().c_str() ); 56 | 57 | /* fix it */ 58 | pCount->SetReadOnly(false); 59 | pCount->SetValue(m_pChildAtoms.Size()); 60 | pCount->SetReadOnly(true); 61 | } 62 | } 63 | 64 | /////////////////////////////////////////////////////////////////////////////// 65 | 66 | } 67 | } // namespace mp4v2::impl 68 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_chpl.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | */ 18 | 19 | #include "src/impl.h" 20 | 21 | namespace mp4v2 { 22 | namespace impl { 23 | 24 | /////////////////////////////////////////////////////////////////////////////// 25 | 26 | // MP4ChplAtom is for Nero chapter list atom which is a child of udta 27 | MP4ChplAtom::MP4ChplAtom (MP4File &file) 28 | : MP4Atom(file, "chpl") 29 | { 30 | // it is not completely clear if version, flags, reserved and chaptercount 31 | // have the right sizes but 32 | // one thing is clear: chaptercount is not only 8-bit it is at least 16-bit 33 | 34 | // add the version 35 | AddVersionAndFlags(); 36 | 37 | // add reserved bytes 38 | AddReserved(*this,"reserved", 1); 39 | 40 | // define the chaptercount 41 | MP4Integer32Property * counter = new MP4Integer32Property(*this,"chaptercount"); 42 | AddProperty(counter); 43 | 44 | // define the chapterlist 45 | MP4TableProperty * list = new MP4TableProperty(*this,"chapters", counter); 46 | 47 | // the start time as 100 nanoseconds units 48 | list->AddProperty(new MP4Integer64Property(*this,"starttime")); 49 | 50 | // the chapter name as UTF-8 51 | list->AddProperty(new MP4StringProperty(*this,"title", true)); 52 | 53 | // add the chapterslist 54 | AddProperty(list); 55 | } 56 | 57 | void MP4ChplAtom::Generate () 58 | { 59 | SetVersion(1); 60 | } 61 | 62 | /////////////////////////////////////////////////////////////////////////////// 63 | 64 | } 65 | } // namespace mp4v2::impl 66 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_damr.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * 3GPP features implementation is based on 3GPP's TS26.234-v5.60, 19 | * and was contributed by Ximpo Group Ltd. 20 | * 21 | * Portions created by Ximpo Group Ltd. are 22 | * Copyright (C) Ximpo Group Ltd. 2003, 2004. All Rights Reserved. 23 | * 24 | * Contributor(s): 25 | * Ximpo Group Ltd. mp4v2@ximpo.com 26 | */ 27 | 28 | #include "src/impl.h" 29 | 30 | namespace mp4v2 { 31 | namespace impl { 32 | 33 | /////////////////////////////////////////////////////////////////////////////// 34 | 35 | #define AMR_VENDOR 0x6d346970 36 | 37 | MP4DamrAtom::MP4DamrAtom(MP4File &file) 38 | : MP4Atom(file, "damr") 39 | { 40 | AddProperty( /* 0 */ 41 | new MP4Integer32Property(*this, "vendor")); 42 | 43 | AddProperty( /* 1 */ 44 | new MP4Integer8Property(*this, "decoderVersion")); 45 | 46 | AddProperty( /* 2 */ 47 | new MP4Integer16Property(*this, "modeSet")); 48 | 49 | AddProperty( /* 3 */ 50 | new MP4Integer8Property(*this, "modeChangePeriod")); 51 | 52 | AddProperty( /* 4 */ 53 | new MP4Integer8Property(*this, "framesPerSample")); 54 | 55 | } 56 | 57 | void MP4DamrAtom::Generate() 58 | { 59 | MP4Atom::Generate(); 60 | 61 | ((MP4Integer32Property*)m_pProperties[0])->SetValue(AMR_VENDOR); 62 | ((MP4Integer8Property*)m_pProperties[1])->SetValue(1); 63 | 64 | } 65 | 66 | /////////////////////////////////////////////////////////////////////////////// 67 | 68 | } 69 | } // namespace mp4v2::impl 70 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/bitrate.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: bitrate tracking and management 14 | last mod: $Id: bitrate.h 13293 2007-07-24 00:09:47Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _V_BITRATE_H_ 19 | #define _V_BITRATE_H_ 20 | 21 | #include "vorbis/codec.h" 22 | #include "codec_internal.h" 23 | #include "os.h" 24 | 25 | /* encode side bitrate tracking */ 26 | typedef struct bitrate_manager_state { 27 | int managed; 28 | 29 | long avg_reservoir; 30 | long minmax_reservoir; 31 | long avg_bitsper; 32 | long min_bitsper; 33 | long max_bitsper; 34 | 35 | long short_per_long; 36 | double avgfloat; 37 | 38 | vorbis_block *vb; 39 | int choice; 40 | } bitrate_manager_state; 41 | 42 | typedef struct bitrate_manager_info{ 43 | long avg_rate; 44 | long min_rate; 45 | long max_rate; 46 | long reservoir_bits; 47 | double reservoir_bias; 48 | 49 | double slew_damp; 50 | 51 | } bitrate_manager_info; 52 | 53 | extern void vorbis_bitrate_init(vorbis_info *vi,bitrate_manager_state *bs); 54 | extern void vorbis_bitrate_clear(bitrate_manager_state *bs); 55 | extern int vorbis_bitrate_managed(vorbis_block *vb); 56 | extern int vorbis_bitrate_addblock(vorbis_block *vb); 57 | extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd, ogg_packet *op); 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/endian.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PLATFORM_ENDIAN_H 2 | #define MP4V2_PLATFORM_ENDIAN_H 3 | 4 | /////////////////////////////////////////////////////////////////////////////// 5 | 6 | #define MP4V2_BYTESWAP_16(x) \ 7 | mp4v2::platform::uint16_t( ((mp4v2::platform::uint16_t(x) & 0xff00U) >> 8) \ 8 | | ((mp4v2::platform::uint16_t(x) & 0x00ffU) << 8) ) 9 | 10 | #define MP4V2_BYTESWAP_32(x) \ 11 | mp4v2::platform::uint32_t( ((mp4v2::platform::uint32_t(x) & 0xff000000U) >> 24) \ 12 | | ((mp4v2::platform::uint32_t(x) & 0x00ff0000U) >> 8) \ 13 | | ((mp4v2::platform::uint32_t(x) & 0x0000ff00U) << 8) \ 14 | | ((mp4v2::platform::uint32_t(x) & 0x000000ffU) << 24) ) 15 | 16 | #define MP4V2_BYTESWAP_64(x) \ 17 | mp4v2::platform::uint64_t( ((mp4v2::platform::uint64_t(x) & 0xff00000000000000ULL) >> 56) \ 18 | | ((mp4v2::platform::uint64_t(x) & 0x00ff000000000000ULL) >> 40) \ 19 | | ((mp4v2::platform::uint64_t(x) & 0x0000ff0000000000ULL) >> 24) \ 20 | | ((mp4v2::platform::uint64_t(x) & 0x000000ff00000000ULL) >> 8) \ 21 | | ((mp4v2::platform::uint64_t(x) & 0x00000000ff000000ULL) << 8) \ 22 | | ((mp4v2::platform::uint64_t(x) & 0x0000000000ff0000ULL) << 24) \ 23 | | ((mp4v2::platform::uint64_t(x) & 0x000000000000ff00ULL) << 40) \ 24 | | ((mp4v2::platform::uint64_t(x) & 0x00000000000000ffULL) << 56) ) 25 | 26 | /////////////////////////////////////////////////////////////////////////////// 27 | 28 | #if defined( __BIG_ENDIAN__ ) 29 | # define MP4V2_HTONS(x) (x) 30 | # define MP4V2_HTONL(x) (x) 31 | # define MP4V2_NTOHS(x) (x) 32 | # define MP4V2_NTOHL(x) (x) 33 | #else 34 | # define MP4V2_HTONS(x) MP4V2_BYTESWAP_16(x) 35 | # define MP4V2_HTONL(x) MP4V2_BYTESWAP_32(x) 36 | # define MP4V2_NTOHS(x) MP4V2_BYTESWAP_16(x) 37 | # define MP4V2_NTOHL(x) MP4V2_BYTESWAP_32(x) 38 | #endif 39 | 40 | /////////////////////////////////////////////////////////////////////////////// 41 | 42 | #endif // MP4V2_PLATFORM_ENDIAN_H 43 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/misc.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: miscellaneous prototypes 14 | last mod: $Id: misc.h 19457 2015-03-03 00:15:29Z giles $ 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _V_RANDOM_H_ 19 | #define _V_RANDOM_H_ 20 | #include "vorbis/codec.h" 21 | 22 | extern void *_vorbis_block_alloc(vorbis_block *vb,long bytes); 23 | extern void _vorbis_block_ripcord(vorbis_block *vb); 24 | extern int ov_ilog(ogg_uint32_t v); 25 | 26 | #ifdef ANALYSIS 27 | extern int analysis_noisy; 28 | extern void _analysis_output(char *base,int i,float *v,int n,int bark,int dB, 29 | ogg_int64_t off); 30 | extern void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB, 31 | ogg_int64_t off); 32 | #endif 33 | 34 | #ifdef DEBUG_MALLOC 35 | 36 | #define _VDBG_GRAPHFILE "malloc.m" 37 | #undef _VDBG_GRAPHFILE 38 | extern void *_VDBG_malloc(void *ptr,long bytes,char *file,long line); 39 | extern void _VDBG_free(void *ptr,char *file,long line); 40 | 41 | #ifndef MISC_C 42 | #undef _ogg_malloc 43 | #undef _ogg_calloc 44 | #undef _ogg_realloc 45 | #undef _ogg_free 46 | 47 | #define _ogg_malloc(x) _VDBG_malloc(NULL,(x),__FILE__,__LINE__) 48 | #define _ogg_calloc(x,y) _VDBG_malloc(NULL,(x)*(y),__FILE__,__LINE__) 49 | #define _ogg_realloc(x,y) _VDBG_malloc((x),(y),__FILE__,__LINE__) 50 | #define _ogg_free(x) _VDBG_free((x),__FILE__,__LINE__) 51 | #endif 52 | #endif 53 | 54 | #endif 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_url.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4UrlAtom::MP4UrlAtom(MP4File &file, const char *type) 30 | : MP4Atom(file, type) 31 | { 32 | AddVersionAndFlags(); 33 | AddProperty(new MP4StringProperty(*this, "location")); 34 | } 35 | 36 | void MP4UrlAtom::Read() 37 | { 38 | // read the version and flags properties 39 | ReadProperties(0, 2); 40 | 41 | // check if self-contained flag is set 42 | if (!(GetFlags() & 1)) { 43 | // if not then read url location 44 | ReadProperties(2); 45 | } 46 | 47 | Skip(); // to end of atom 48 | } 49 | 50 | void MP4UrlAtom::Write() 51 | { 52 | MP4StringProperty* pLocationProp = 53 | (MP4StringProperty*)m_pProperties[2]; 54 | 55 | // if no url location has been set 56 | // then set self-contained flag 57 | // and don't attempt to write anything 58 | if (pLocationProp->GetValue() == NULL) { 59 | SetFlags(GetFlags() | 1); 60 | pLocationProp->SetImplicit(true); 61 | } else { 62 | SetFlags(GetFlags() & 0xFFFFFE); 63 | pLocationProp->SetImplicit(false); 64 | } 65 | 66 | // write atom as usual 67 | MP4Atom::Write(); 68 | } 69 | 70 | /////////////////////////////////////////////////////////////////////////////// 71 | 72 | } 73 | } // namespace mp4v2::impl 74 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/itmf/generic.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // The contents of this file are subject to the Mozilla Public License 4 | // Version 1.1 (the "License"); you may not use this file except in 5 | // compliance with the License. You may obtain a copy of the License at 6 | // http://www.mozilla.org/MPL/ 7 | // 8 | // Software distributed under the License is distributed on an "AS IS" 9 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 10 | // License for the specific language governing rights and limitations 11 | // under the License. 12 | // 13 | // The Original Code is MP4v2. 14 | // 15 | // The Initial Developer of the Original Code is Kona Blend. 16 | // Portions created by Kona Blend are Copyright (C) 2008. 17 | // All Rights Reserved. 18 | // 19 | // Contributors: 20 | // KonaBlend, kona8lend@gmail.com 21 | // 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef MP4V2_IMPL_ITMF_GENERIC_H 25 | #define MP4V2_IMPL_ITMF_GENERIC_H 26 | 27 | namespace mp4v2 { namespace impl { namespace itmf { 28 | 29 | /////////////////////////////////////////////////////////////////////////////// 30 | 31 | MP4ItmfItem* 32 | genericItemAlloc( const string& code, uint32_t numData ); 33 | 34 | void 35 | genericItemFree( MP4ItmfItem* item ); 36 | 37 | void 38 | genericItemListFree( MP4ItmfItemList* list ); 39 | 40 | /////////////////////////////////////////////////////////////////////////////// 41 | 42 | MP4ItmfItemList* 43 | genericGetItems( MP4File& file ); 44 | 45 | MP4ItmfItemList* 46 | genericGetItemsByCode( MP4File& file, const string& code ); 47 | 48 | MP4ItmfItemList* 49 | genericGetItemsByMeaning( MP4File& file, const string& meaning, const string& name ); 50 | 51 | /////////////////////////////////////////////////////////////////////////////// 52 | 53 | bool 54 | genericAddItem( MP4File& file, const MP4ItmfItem* item ); 55 | 56 | bool 57 | genericSetItem( MP4File& file, const MP4ItmfItem* item ); 58 | 59 | bool 60 | genericRemoveItem( MP4File& file, const MP4ItmfItem* item ); 61 | 62 | /////////////////////////////////////////////////////////////////////////////// 63 | 64 | }}} // namespace mp4v2::impl::itmf 65 | 66 | #endif // MP4V2_IMPL_ITMF_GENERIC_H 67 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/mdct.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: modified discrete cosine transform prototypes 14 | last mod: $Id: mdct.h 16227 2009-07-08 06:58:46Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _OGG_mdct_H_ 19 | #define _OGG_mdct_H_ 20 | 21 | #include "vorbis/codec.h" 22 | 23 | 24 | 25 | 26 | 27 | /*#define MDCT_INTEGERIZED <- be warned there could be some hurt left here*/ 28 | #ifdef MDCT_INTEGERIZED 29 | 30 | #define DATA_TYPE int 31 | #define REG_TYPE register int 32 | #define TRIGBITS 14 33 | #define cPI3_8 6270 34 | #define cPI2_8 11585 35 | #define cPI1_8 15137 36 | 37 | #define FLOAT_CONV(x) ((int)((x)*(1<>TRIGBITS) 39 | #define HALVE(x) ((x)>>1) 40 | 41 | #else 42 | 43 | #define DATA_TYPE float 44 | #define REG_TYPE float 45 | #define cPI3_8 .38268343236508977175F 46 | #define cPI2_8 .70710678118654752441F 47 | #define cPI1_8 .92387953251128675613F 48 | 49 | #define FLOAT_CONV(x) (x) 50 | #define MULT_NORM(x) (x) 51 | #define HALVE(x) ((x)*.5f) 52 | 53 | #endif 54 | 55 | 56 | typedef struct { 57 | int n; 58 | int log2n; 59 | 60 | DATA_TYPE *trig; 61 | int *bitrev; 62 | 63 | DATA_TYPE scale; 64 | } mdct_lookup; 65 | 66 | extern void mdct_init(mdct_lookup *lookup,int n); 67 | extern void mdct_clear(mdct_lookup *l); 68 | extern void mdct_forward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out); 69 | extern void mdct_backward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out); 70 | 71 | #endif 72 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/modes/setup_44p51.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: toplevel settings for 44.1/48kHz 5.1 surround modes 14 | last mod: $Id: setup_44p51.h 19013 2013-11-12 04:04:50Z giles $ 15 | 16 | ********************************************************************/ 17 | 18 | #include "modes/residue_44p51.h" 19 | 20 | static const double rate_mapping_44p51[12]={ 21 | 14000.,20000.,28000.,38000.,46000.,54000., 22 | 75000.,96000.,120000.,140000.,180000.,240001. 23 | }; 24 | 25 | static const ve_setup_data_template ve_setup_44_51={ 26 | 11, 27 | rate_mapping_44p51, 28 | quality_mapping_44, 29 | 6, 30 | 40000, 31 | 70000, 32 | 33 | blocksize_short_44, 34 | blocksize_long_44, 35 | 36 | _psy_tone_masteratt_44, 37 | _psy_tone_0dB, 38 | _psy_tone_suppress, 39 | 40 | _vp_tonemask_adj_otherblock, 41 | _vp_tonemask_adj_longblock, 42 | _vp_tonemask_adj_otherblock, 43 | 44 | _psy_noiseguards_44, 45 | _psy_noisebias_impulse, 46 | _psy_noisebias_padding, 47 | _psy_noisebias_trans, 48 | _psy_noisebias_long, 49 | _psy_noise_suppress, 50 | 51 | _psy_compand_44, 52 | _psy_compand_short_mapping, 53 | _psy_compand_long_mapping, 54 | 55 | {_noise_start_short_44,_noise_start_long_44}, 56 | {_noise_part_short_44,_noise_part_long_44}, 57 | _noise_thresh_44, 58 | 59 | _psy_ath_floater, 60 | _psy_ath_abs, 61 | 62 | _psy_lowpass_44, 63 | 64 | _psy_global_44, 65 | _global_mapping_44, 66 | _psy_stereo_modes_44, 67 | 68 | _floor_books, 69 | _floor, 70 | 3, 71 | _floor_mapping_44, 72 | 73 | _mapres_template_44_51 74 | }; 75 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_colr.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * Contributer has declined to give copyright information, and gives 15 | * it freely to the world. 16 | * 17 | * Contributor(s): 18 | */ 19 | 20 | #include "src/impl.h" 21 | 22 | namespace mp4v2 { 23 | namespace impl { 24 | 25 | /////////////////////////////////////////////////////////////////////////////// 26 | 27 | MP4ColrAtom::MP4ColrAtom(MP4File &file) 28 | : MP4Atom(file, "colr") 29 | { 30 | MP4StringProperty* cpt = new MP4StringProperty(*this,"colorParameterType"); 31 | cpt->SetFixedLength(4); 32 | AddProperty(cpt); /* 0 */ 33 | 34 | AddProperty( /* 1 */ new MP4Integer16Property(*this,"primariesIndex")); 35 | 36 | AddProperty( /* 2 */ new MP4Integer16Property(*this,"transferFunctionIndex")); 37 | 38 | AddProperty( /* 3 */ new MP4Integer16Property(*this,"matrixIndex")); 39 | } 40 | 41 | void MP4ColrAtom::Read() 42 | { 43 | MP4Atom::ReadProperties(0, 4); 44 | 45 | if (strcmp(((MP4StringProperty*)m_pProperties[0])->GetValue(), "nclx") == 0) { 46 | if (GetCount() == 4) { 47 | // nclx has an additional property. 48 | AddProperty( /* 4 */ new MP4Integer8Property(*this,"fullRangeFlag")); 49 | } 50 | MP4Atom::ReadProperties(4); 51 | } 52 | MP4Atom::Skip(); 53 | } 54 | 55 | void MP4ColrAtom::Generate() 56 | { 57 | MP4Atom::Generate(); 58 | 59 | ((MP4StringProperty*)m_pProperties[0])->SetValue("nclc"); 60 | // default to ITU BT.709 values 61 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 62 | ((MP4Integer16Property*)m_pProperties[2])->SetValue(1); 63 | ((MP4Integer16Property*)m_pProperties[3])->SetValue(1); 64 | } 65 | 66 | /////////////////////////////////////////////////////////////////////////////// 67 | 68 | } 69 | } // namespace mp4v2::impl 70 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/modes/setup_44u.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: toplevel settings for 44.1/48kHz uncoupled modes 14 | last mod: $Id: setup_44u.h 16962 2010-03-11 07:30:34Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | #include "modes/residue_44u.h" 19 | 20 | static const double rate_mapping_44_un[12]={ 21 | 32000.,48000.,60000.,70000.,80000.,86000., 22 | 96000.,110000.,120000.,140000.,160000.,240001. 23 | }; 24 | 25 | static const ve_setup_data_template ve_setup_44_uncoupled={ 26 | 11, 27 | rate_mapping_44_un, 28 | quality_mapping_44, 29 | -1, 30 | 40000, 31 | 50000, 32 | 33 | blocksize_short_44, 34 | blocksize_long_44, 35 | 36 | _psy_tone_masteratt_44, 37 | _psy_tone_0dB, 38 | _psy_tone_suppress, 39 | 40 | _vp_tonemask_adj_otherblock, 41 | _vp_tonemask_adj_longblock, 42 | _vp_tonemask_adj_otherblock, 43 | 44 | _psy_noiseguards_44, 45 | _psy_noisebias_impulse, 46 | _psy_noisebias_padding, 47 | _psy_noisebias_trans, 48 | _psy_noisebias_long, 49 | _psy_noise_suppress, 50 | 51 | _psy_compand_44, 52 | _psy_compand_short_mapping, 53 | _psy_compand_long_mapping, 54 | 55 | {_noise_start_short_44,_noise_start_long_44}, 56 | {_noise_part_short_44,_noise_part_long_44}, 57 | _noise_thresh_44, 58 | 59 | _psy_ath_floater, 60 | _psy_ath_abs, 61 | 62 | _psy_lowpass_44, 63 | 64 | _psy_global_44, 65 | _global_mapping_44, 66 | _psy_stereo_modes_44, 67 | 68 | _floor_books, 69 | _floor, 70 | 2, 71 | _floor_mapping_44, 72 | 73 | _mapres_template_44_uncoupled 74 | }; 75 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_enca.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | * Alix Marchandise-Franquet alix@cisco.com 21 | */ 22 | 23 | #include "src/impl.h" 24 | 25 | namespace mp4v2 { 26 | namespace impl { 27 | 28 | /////////////////////////////////////////////////////////////////////////////// 29 | 30 | MP4EncaAtom::MP4EncaAtom(MP4File &file) 31 | : MP4Atom(file, "enca") 32 | { 33 | AddReserved(*this, "reserved1", 6); /* 0 */ 34 | 35 | AddProperty( /* 1 */ 36 | new MP4Integer16Property(*this, "dataReferenceIndex")); 37 | 38 | AddReserved(*this, "reserved2", 16); /* 2 */ 39 | 40 | AddProperty( /* 3 */ 41 | new MP4Integer16Property(*this, "timeScale")); 42 | 43 | AddReserved(*this, "reserved3", 2); /* 4 */ 44 | 45 | ExpectChildAtom("esds", Required, OnlyOne); 46 | ExpectChildAtom("sinf", Required, OnlyOne); 47 | } 48 | 49 | void MP4EncaAtom::Generate() 50 | { 51 | MP4Atom::Generate(); 52 | 53 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 54 | 55 | // property reserved2 has non-zero fixed values 56 | static uint8_t reserved2[16] = { 57 | 0x00, 0x00, 0x00, 0x00, 58 | 0x00, 0x00, 0x00, 0x00, 59 | 0x00, 0x02, 0x00, 0x10, 60 | 0x00, 0x00, 0x00, 0x00, 61 | }; 62 | m_pProperties[2]->SetReadOnly(false); 63 | ((MP4BytesProperty*)m_pProperties[2])-> 64 | SetValue(reserved2, sizeof(reserved2)); 65 | m_pProperties[2]->SetReadOnly(true); 66 | } 67 | 68 | /////////////////////////////////////////////////////////////////////////////// 69 | 70 | } 71 | } // namespace mp4v2::impl 72 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_stbl.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { namespace impl { 25 | 26 | /////////////////////////////////////////////////////////////////////////////// 27 | 28 | MP4StblAtom::MP4StblAtom(MP4File &file) 29 | : MP4Atom(file, "stbl") 30 | { 31 | ExpectChildAtom("stsd", Required, OnlyOne); 32 | ExpectChildAtom("stts", Required, OnlyOne); 33 | ExpectChildAtom("ctts", Optional, OnlyOne); 34 | ExpectChildAtom("stsz", Required, OnlyOne); 35 | ExpectChildAtom("stz2", Optional, OnlyOne); 36 | ExpectChildAtom("stsc", Required, OnlyOne); 37 | ExpectChildAtom("stco", Optional, OnlyOne); 38 | ExpectChildAtom("co64", Optional, OnlyOne); 39 | ExpectChildAtom("stss", Optional, OnlyOne); 40 | ExpectChildAtom("stsh", Optional, OnlyOne); 41 | ExpectChildAtom("stdp", Optional, OnlyOne); 42 | ExpectChildAtom("sdtp", Optional, OnlyOne); 43 | } 44 | 45 | void MP4StblAtom::Generate() 46 | { 47 | // as usual 48 | MP4Atom::Generate(); 49 | 50 | // but we also need one of the chunk offset atoms 51 | MP4Atom* pChunkOffsetAtom; 52 | if (m_File.Use64Bits(GetType())) { 53 | pChunkOffsetAtom = CreateAtom(m_File, this, "co64"); 54 | } else { 55 | pChunkOffsetAtom = CreateAtom(m_File, this, "stco"); 56 | } 57 | 58 | AddChildAtom(pChunkOffsetAtom); 59 | 60 | // and ask it to self generate 61 | pChunkOffsetAtom->Generate(); 62 | } 63 | 64 | /////////////////////////////////////////////////////////////////////////////// 65 | 66 | }} // namespace mp4v2::impl 67 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_hinf.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { namespace impl { 25 | 26 | /////////////////////////////////////////////////////////////////////////////// 27 | 28 | MP4HinfAtom::MP4HinfAtom(MP4File &file) 29 | : MP4Atom(file, "hinf") 30 | { 31 | ExpectChildAtom("trpy", Optional, OnlyOne); 32 | ExpectChildAtom("nump", Optional, OnlyOne); 33 | ExpectChildAtom("tpyl", Optional, OnlyOne); 34 | ExpectChildAtom("maxr", Optional, Many); 35 | ExpectChildAtom("dmed", Optional, OnlyOne); 36 | ExpectChildAtom("dimm", Optional, OnlyOne); 37 | ExpectChildAtom("drep", Optional, OnlyOne); 38 | ExpectChildAtom("tmin", Optional, OnlyOne); 39 | ExpectChildAtom("tmax", Optional, OnlyOne); 40 | ExpectChildAtom("pmax", Optional, OnlyOne); 41 | ExpectChildAtom("dmax", Optional, OnlyOne); 42 | ExpectChildAtom("payt", Optional, OnlyOne); 43 | } 44 | 45 | void MP4HinfAtom::Generate() 46 | { 47 | // hinf is special in that although all it's child atoms 48 | // are optional (on read), if we generate it for writing 49 | // we really want all the children 50 | 51 | for (uint32_t i = 0; i < m_pChildAtomInfos.Size(); i++) { 52 | MP4Atom* pChildAtom = 53 | CreateAtom(m_File, this, m_pChildAtomInfos[i]->m_name); 54 | 55 | AddChildAtom(pChildAtom); 56 | 57 | // and ask it to self generate 58 | pChildAtom->Generate(); 59 | } 60 | } 61 | 62 | /////////////////////////////////////////////////////////////////////////////// 63 | 64 | }} // namespace mp4v2::impl 65 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_ac3.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * See ETSI TS 102 366 V1.2.1 Annex F for how to put Ac3 in MP4. 19 | * 20 | * Contributor(s): 21 | * Edward Groenendaal egroenen@cisco.com 22 | */ 23 | 24 | #include "src/impl.h" 25 | 26 | namespace mp4v2 { 27 | namespace impl { 28 | 29 | /////////////////////////////////////////////////////////////////////////////// 30 | 31 | MP4Ac3Atom::MP4Ac3Atom(MP4File &file) 32 | : MP4Atom(file, "ac-3") 33 | { 34 | AddReserved(*this, "reserved1", 6); /* 0 */ 35 | 36 | AddProperty( /* 1 */ 37 | new MP4Integer16Property(*this,"dataReferenceIndex")); 38 | 39 | AddReserved(*this,"reserved2", 8); /* 2 */ 40 | 41 | AddProperty( /* 3 */ 42 | new MP4Integer16Property(*this,"channelCount")); 43 | 44 | AddProperty( /* 4 */ 45 | new MP4Integer16Property(*this,"sampleSize")); 46 | 47 | AddReserved(*this,"reserved3", 4); /* 5 */ 48 | 49 | AddProperty( /* 6 */ 50 | new MP4Integer16Property(*this,"samplingRate")); 51 | 52 | AddReserved(*this,"reserved4", 2); /* 7 */ 53 | 54 | ExpectChildAtom("dac3", Required, OnlyOne); 55 | } 56 | 57 | void MP4Ac3Atom::Generate() 58 | { 59 | MP4Atom::Generate(); 60 | 61 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); // data-reference-index 62 | ((MP4Integer16Property*)m_pProperties[3])->SetValue(2); // channelCount - ignored 63 | ((MP4Integer16Property*)m_pProperties[4])->SetValue(0x0010); // sampleSize - ignored 64 | 65 | // The user should set the samplingRate as appropriate - and create the dac3 atom 66 | } 67 | 68 | /////////////////////////////////////////////////////////////////////////////// 69 | 70 | } 71 | } // namespace mp4v2::impl 72 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/exception.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // The contents of this file are subject to the Mozilla Public License 4 | // Version 1.1 (the "License"); you may not use this file except in 5 | // compliance with the License. You may obtain a copy of the License at 6 | // http://www.mozilla.org/MPL/ 7 | // 8 | // Software distributed under the License is distributed on an "AS IS" 9 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 10 | // License for the specific language governing rights and limitations 11 | // under the License. 12 | // 13 | // The Original Code is MP4v2. 14 | // 15 | // The Initial Developer of the Original Code is Kona Blend. 16 | // Portions created by Kona Blend are Copyright (C) 2008. 17 | // All Rights Reserved. 18 | // 19 | // Contributors: 20 | // Kona Blend, kona8lend@@gmail.com 21 | // David Byron, dbyron0@gmail.com 22 | // 23 | /////////////////////////////////////////////////////////////////////////////// 24 | 25 | #ifndef MP4V2_IMPL_MP4EXCEPTION_H 26 | #define MP4V2_IMPL_MP4EXCEPTION_H 27 | 28 | namespace mp4v2 { namespace impl { 29 | 30 | /////////////////////////////////////////////////////////////////////////////// 31 | 32 | class MP4V2_EXPORT Exception 33 | { 34 | public: 35 | explicit Exception( const string& what_, 36 | const char *file_, 37 | int line_, 38 | const char *function_ ); 39 | virtual ~Exception(); 40 | 41 | virtual string msg() const; 42 | 43 | public: 44 | const string what; 45 | const string file; 46 | const int line; 47 | const string function; 48 | }; 49 | 50 | class MP4V2_EXPORT PlatformException : public Exception 51 | { 52 | public: 53 | explicit PlatformException( const string& what_, 54 | int errno_, 55 | const char *file_, 56 | int line_, 57 | const char *function_ ); 58 | virtual ~PlatformException(); 59 | 60 | virtual string msg() const; 61 | 62 | public: 63 | const int m_errno; 64 | }; 65 | 66 | /////////////////////////////////////////////////////////////////////////////// 67 | 68 | }} // namespace mp4v2::impl 69 | 70 | #endif // MP4V2_IMPL_MP4EXCEPTION_H 71 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/platform_win32_impl.h: -------------------------------------------------------------------------------- 1 | // Note that we have a separate platform_win32_impl.h to deal with the fact that windows.h defines a macro 2 | // called FindAtom, which mp4v2 also defines. In older versions of visual studio, this actually causes 3 | // some pretty seriously issues with naming collisions and the defined macros (think infamous min/max macro 4 | // of windows.h vs stdc++'s min/max template functions) 5 | #include 6 | 7 | /////////////////////////////////////////////////////////////////////////////// 8 | 9 | namespace mp4v2 { namespace platform { namespace win32 { 10 | 11 | class Utf8ToFilename 12 | { 13 | public: 14 | Utf8ToFilename( const string &utf8string ); 15 | ~Utf8ToFilename( ); 16 | 17 | bool IsUTF16Valid( ) const; 18 | 19 | operator LPCWSTR( ) const { return _wideCharString; } 20 | operator LPWSTR( ) const { return _wideCharString; } 21 | 22 | private: 23 | Utf8ToFilename ( const Utf8ToFilename &src ); 24 | Utf8ToFilename &operator= ( const Utf8ToFilename &src ); 25 | 26 | wchar_t *ConvertToUTF16 ( const string &utf8 ); 27 | 28 | static int ConvertToUTF16Buf ( const char *utf8, 29 | wchar_t *utf16_buf, 30 | size_t num_bytes ); 31 | static int GetPrefixLen ( const string &utf8string ); 32 | 33 | static int IsAbsolute ( const string &utf8string ); 34 | 35 | static int IsPathSeparator ( char c ); 36 | 37 | static int IsUncPath ( const string &utf8string ); 38 | 39 | static const UINT8 *Utf8DecodeChar ( 40 | const UINT8 *utf8_char, 41 | size_t num_bytes, 42 | wchar_t *utf16, 43 | int *invalid 44 | ); 45 | 46 | static size_t Utf8LenFromUcs4 ( UINT32 ucs4 ); 47 | 48 | static UINT8 Utf8NumOctets ( UINT8 utf8_first_byte ); 49 | 50 | /** 51 | * The UTF-8 encoding of the filename actually used 52 | */ 53 | string _utf8; 54 | 55 | /** 56 | * The UTF-16 encoding of the filename actually used 57 | */ 58 | wchar_t* _wideCharString; 59 | 60 | public: 61 | 62 | /** 63 | * Accessor for @p _utf8 64 | */ 65 | const string& utf8; 66 | }; 67 | 68 | }}} // namespace mp4v2::platform::win32 69 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/qosqualifiers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #ifndef MP4V2_IMPL_QOSQUALIFIERS_H 23 | #define MP4V2_IMPL_QOSQUALIFIERS_H 24 | 25 | namespace mp4v2 { 26 | namespace impl { 27 | 28 | /////////////////////////////////////////////////////////////////////////////// 29 | 30 | const uint8_t MP4QosDescrTag = 0x0C; 31 | const uint8_t MP4QosTagsStart = 0x01; 32 | const uint8_t MP4MaxDelayQosTag = 0x01; 33 | const uint8_t MP4PrefMaxDelayQosTag = 0x02; 34 | const uint8_t MP4LossProbQosTag = 0x03; 35 | const uint8_t MP4MaxGapLossQosTag = 0x04; 36 | const uint8_t MP4MaxAUSizeQosTag = 0x41; 37 | const uint8_t MP4AvgAUSizeQosTag = 0x42; 38 | const uint8_t MP4MaxAURateQosTag = 0x43; 39 | const uint8_t MP4QosTagsEnd = 0xFF; 40 | 41 | class MP4QosDescriptorBase : public MP4Descriptor { 42 | public: 43 | MP4QosDescriptorBase(MP4Atom &parentAtom, uint8_t tag); 44 | private: 45 | MP4QosDescriptorBase(); 46 | MP4QosDescriptorBase ( const MP4QosDescriptorBase &src ); 47 | MP4QosDescriptorBase &operator= ( const MP4QosDescriptorBase &src ); 48 | }; 49 | 50 | class MP4UnknownQosQualifier : public MP4Descriptor { 51 | public: 52 | MP4UnknownQosQualifier(MP4Atom &parentAtom); 53 | void Read(MP4File& file); 54 | private: 55 | MP4UnknownQosQualifier(); 56 | MP4UnknownQosQualifier ( const MP4UnknownQosQualifier &src ); 57 | MP4UnknownQosQualifier &operator= ( const MP4UnknownQosQualifier &src ); 58 | }; 59 | 60 | /////////////////////////////////////////////////////////////////////////////// 61 | 62 | } 63 | } // namespace mp4v2::impl 64 | 65 | #endif // MP4V2_IMPL_QOSQUALIFIERS_H 66 | -------------------------------------------------------------------------------- /src/lib/winamp/include/ipc_pe.h: -------------------------------------------------------------------------------- 1 | #ifndef __IPC_PE_H 2 | #define __IPC_PE_H 3 | 4 | #define IPC_PE_GETCURINDEX 100 // returns current idx 5 | #define IPC_PE_GETINDEXTOTAL 101 // returns number of items 6 | #define IPC_PE_GETINDEXINFO 102 // (copydata) lpData is of type callbackinfo, callback is called with copydata/fileinfo structure and msg IPC_PE_GETINDEXINFORESULT 7 | #define IPC_PE_GETINDEXINFORESULT 103 // callback message for IPC_PE_GETINDEXINFO 8 | #define IPC_PE_DELETEINDEX 104 // lParam = index 9 | #define IPC_PE_SWAPINDEX 105 // (lParam & 0xFFFF0000) >> 16 = from, (lParam & 0xFFFF) = to 10 | #define IPC_PE_INSERTFILENAME 106 // (copydata) lpData is of type fileinfo 11 | #define IPC_PE_GETDIRTY 107 // returns 1 if the playlist changed since the last IPC_PE_SETCLEAN 12 | #define IPC_PE_SETCLEAN 108 // resets the dirty flag until next modification 13 | #define IPC_PE_GETIDXFROMPOINT 109 // pass a point parm, return a playlist index 14 | #define IPC_PE_SAVEEND 110 // pass index to save from 15 | #define IPC_PE_RESTOREEND 111 // no parm 16 | #define IPC_PE_GETNEXTSELECTED 112 // same as IPC_PLAYLIST_GET_NEXT_SELECTED for the main window 17 | #define IPC_PE_GETSELECTEDCOUNT 113 18 | #define IPC_PE_INSERTFILENAMEW 114 // (copydata) lpData is of type fileinfoW 19 | #define IPC_PE_GETINDEXINFO_TITLE 115 // like IPC_PE_GETINDEXINFO, but writes the title to char file[MAX_PATH] instead of filename 20 | #define IPC_PE_GETINDEXINFORESULT_TITLE 116 // callback message for IPC_PE_GETINDEXINFO 21 | typedef struct { 22 | char file[MAX_PATH]; 23 | int index; 24 | } fileinfo; 25 | 26 | typedef struct { 27 | wchar_t file[MAX_PATH]; 28 | int index; 29 | } fileinfoW; 30 | 31 | typedef struct { 32 | HWND callback; 33 | int index; 34 | } callbackinfo; 35 | 36 | // the following messages are in_process ONLY 37 | 38 | #define IPC_PE_GETINDEXTITLE 200 // lParam = pointer to fileinfo2 struct 39 | #define IPC_PE_GETINDEXTITLEW 201 // lParam = pointer to fileinfo2W struct 40 | #define IPC_PE_GETINDEXINFO_INPROC 202 // lParam = pointer to fileinfo struct 41 | #define IPC_PE_GETINDEXINFOW_INPROC 203 // lParam = pointer to fileinfoW struct 42 | 43 | typedef struct { 44 | int fileindex; 45 | char filetitle[256]; 46 | char filelength[16]; 47 | } fileinfo2; 48 | 49 | typedef struct 50 | { 51 | int fileindex; 52 | wchar_t filetitle[256]; 53 | wchar_t filelength[16]; 54 | } fileinfo2W; 55 | 56 | #endif -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/envelope.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: PCM data envelope analysis and manipulation 14 | last mod: $Id: envelope.h 16227 2009-07-08 06:58:46Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _V_ENVELOPE_ 19 | #define _V_ENVELOPE_ 20 | 21 | #include "mdct.h" 22 | 23 | #define VE_PRE 16 24 | #define VE_WIN 4 25 | #define VE_POST 2 26 | #define VE_AMP (VE_PRE+VE_POST-1) 27 | 28 | #define VE_BANDS 7 29 | #define VE_NEARDC 15 30 | 31 | #define VE_MINSTRETCH 2 /* a bit less than short block */ 32 | #define VE_MAXSTRETCH 12 /* one-third full block */ 33 | 34 | typedef struct { 35 | float ampbuf[VE_AMP]; 36 | int ampptr; 37 | 38 | float nearDC[VE_NEARDC]; 39 | float nearDC_acc; 40 | float nearDC_partialacc; 41 | int nearptr; 42 | 43 | } envelope_filter_state; 44 | 45 | typedef struct { 46 | int begin; 47 | int end; 48 | float *window; 49 | float total; 50 | } envelope_band; 51 | 52 | typedef struct { 53 | int ch; 54 | int winlength; 55 | int searchstep; 56 | float minenergy; 57 | 58 | mdct_lookup mdct; 59 | float *mdct_win; 60 | 61 | envelope_band band[VE_BANDS]; 62 | envelope_filter_state *filter; 63 | int stretch; 64 | 65 | int *mark; 66 | 67 | long storage; 68 | long current; 69 | long curmark; 70 | long cursor; 71 | } envelope_lookup; 72 | 73 | extern void _ve_envelope_init(envelope_lookup *e,vorbis_info *vi); 74 | extern void _ve_envelope_clear(envelope_lookup *e); 75 | extern long _ve_envelope_search(vorbis_dsp_state *v); 76 | extern void _ve_envelope_shift(envelope_lookup *e,long shift); 77 | extern int _ve_envelope_mark(vorbis_dsp_state *v); 78 | 79 | 80 | #endif 81 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_amr.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * 3GPP features implementation is based on 3GPP's TS26.234-v5.60, 19 | * and was contributed by Ximpo Group Ltd. 20 | * 21 | * Portions created by Ximpo Group Ltd. are 22 | * Copyright (C) Ximpo Group Ltd. 2003, 2004. All Rights Reserved. 23 | * 24 | * Contributor(s): 25 | * Ximpo Group Ltd. mp4v2@ximpo.com 26 | */ 27 | 28 | #include "src/impl.h" 29 | 30 | namespace mp4v2 { 31 | namespace impl { 32 | 33 | /////////////////////////////////////////////////////////////////////////////// 34 | 35 | MP4AmrAtom::MP4AmrAtom(MP4File &file, const char *type) 36 | : MP4Atom(file, type) 37 | { 38 | AddReserved(*this,"reserved1", 6); /* 0 */ 39 | 40 | AddProperty( /* 1 */ 41 | new MP4Integer16Property(*this,"dataReferenceIndex")); 42 | 43 | AddReserved(*this,"reserved2", 16); /* 2 */ 44 | 45 | AddProperty( /* 3 */ 46 | new MP4Integer16Property(*this,"timeScale")); 47 | 48 | AddReserved(*this,"reserved3", 2); /* 4 */ 49 | 50 | ExpectChildAtom("damr", Required, OnlyOne); 51 | } 52 | 53 | void MP4AmrAtom::Generate() 54 | { 55 | MP4Atom::Generate(); 56 | 57 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 58 | 59 | // property reserved2 has non-zero fixed values 60 | static uint8_t reserved2[16] = { 61 | 0x00, 0x00, 0x00, 0x00, 62 | 0x00, 0x00, 0x00, 0x00, 63 | 0x00, 0x02, 0x00, 0x10, 64 | 0x00, 0x00, 0x00, 0x00, 65 | }; 66 | m_pProperties[2]->SetReadOnly(false); 67 | ((MP4BytesProperty*)m_pProperties[2])-> 68 | SetValue(reserved2, sizeof(reserved2)); 69 | m_pProperties[2]->SetReadOnly(true); 70 | } 71 | 72 | /////////////////////////////////////////////////////////////////////////////// 73 | 74 | } 75 | } // namespace mp4v2::impl 76 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_tfhd.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4TfhdAtom::MP4TfhdAtom(MP4File &file) 30 | : MP4Atom(file, "tfhd") 31 | { 32 | AddVersionAndFlags(); /* 0, 1 */ 33 | AddProperty( /* 2 */ 34 | new MP4Integer32Property(*this, "trackId")); 35 | } 36 | 37 | void MP4TfhdAtom::AddProperties(uint32_t flags) 38 | { 39 | if (flags & 0x01) { 40 | // note this property is signed 64! 41 | AddProperty( 42 | new MP4Integer64Property(*this, "baseDataOffset")); 43 | } 44 | if (flags & 0x02) { 45 | AddProperty( 46 | new MP4Integer32Property(*this, "sampleDescriptionIndex")); 47 | } 48 | if (flags & 0x08) { 49 | AddProperty( 50 | new MP4Integer32Property(*this, "defaultSampleDuration")); 51 | } 52 | if (flags & 0x10) { 53 | AddProperty( 54 | new MP4Integer32Property(*this, "defaultSampleSize")); 55 | } 56 | if (flags & 0x20) { 57 | AddProperty( 58 | new MP4Integer32Property(*this, "defaultSampleFlags")); 59 | } 60 | } 61 | 62 | void MP4TfhdAtom::Read() 63 | { 64 | /* read atom version, flags, and trackId */ 65 | ReadProperties(0, 3); 66 | 67 | /* need to create the properties based on the atom flags */ 68 | AddProperties(GetFlags()); 69 | 70 | /* now we can read the remaining properties */ 71 | ReadProperties(3); 72 | 73 | Skip(); // to end of atom 74 | } 75 | 76 | /////////////////////////////////////////////////////////////////////////////// 77 | 78 | } 79 | } // namespace mp4v2::impl 80 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/atom_stsz.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Dave Mackie dmackie@cisco.com 20 | */ 21 | 22 | #include "src/impl.h" 23 | 24 | namespace mp4v2 { 25 | namespace impl { 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | 29 | MP4StszAtom::MP4StszAtom(MP4File &file) 30 | : MP4Atom(file, "stsz") 31 | { 32 | AddVersionAndFlags(); /* 0, 1 */ 33 | 34 | AddProperty( /* 2 */ 35 | new MP4Integer32Property(*this, "sampleSize")); 36 | 37 | MP4Integer32Property* pCount = 38 | new MP4Integer32Property(*this, "sampleCount"); 39 | AddProperty(pCount); /* 3 */ 40 | 41 | MP4TableProperty* pTable = new MP4TableProperty(*this, "entries", pCount); 42 | AddProperty(pTable); /* 4 */ 43 | 44 | pTable->AddProperty( /* 4/0 */ 45 | new MP4Integer32Property(pTable->GetParentAtom(), "entrySize")); 46 | } 47 | 48 | void MP4StszAtom::Read() 49 | { 50 | ReadProperties(0, 4); 51 | 52 | uint32_t sampleSize = 53 | ((MP4Integer32Property*)m_pProperties[2])->GetValue(); 54 | 55 | // only attempt to read entries table if sampleSize is zero 56 | // i.e sample size is not constant 57 | m_pProperties[4]->SetImplicit(sampleSize != 0); 58 | 59 | ReadProperties(4); 60 | 61 | Skip(); // to end of atom 62 | } 63 | 64 | void MP4StszAtom::Write() 65 | { 66 | uint32_t sampleSize = 67 | ((MP4Integer32Property*)m_pProperties[2])->GetValue(); 68 | 69 | // only attempt to write entries table if sampleSize is zero 70 | // i.e sample size is not constant 71 | m_pProperties[4]->SetImplicit(sampleSize != 0); 72 | 73 | MP4Atom::Write(); 74 | } 75 | 76 | /////////////////////////////////////////////////////////////////////////////// 77 | 78 | } 79 | } // namespace mp4v2::impl 80 | -------------------------------------------------------------------------------- /src/lib/mp4v2/libplatform/platform_posix.h: -------------------------------------------------------------------------------- 1 | #ifndef MP4V2_PLATFORM_POSIX_H 2 | #define MP4V2_PLATFORM_POSIX_H 3 | 4 | /////////////////////////////////////////////////////////////////////////////// 5 | 6 | #include "libplatform/config.h" 7 | 8 | /////////////////////////////////////////////////////////////////////////////// 9 | 10 | // constant macros are not usually used with C++ so the standard mechanism to 11 | // activate it is to define before stdint.h 12 | #ifndef __STDC_CONSTANT_MACROS 13 | # define __STDC_CONSTANT_MACROS 14 | #endif 15 | 16 | // format macros are not usually used with C++ so the standard mechanism to 17 | // activate it is to define before inttypes.h 18 | #ifndef __STDC_FORMAT_MACROS 19 | # define __STDC_FORMAT_MACROS 20 | #endif 21 | 22 | #ifdef NEED_LFS_ACTIVATION 23 | # ifndef _LARGEFILE_SOURCE 24 | # define _LARGEFILE_SOURCE 25 | # define _FILE_OFFSET_BITS 64 26 | # endif 27 | #endif 28 | 29 | /////////////////////////////////////////////////////////////////////////////// 30 | 31 | #include "libplatform/platform_base.h" 32 | #include 33 | #include 34 | #include 35 | #include 36 | 37 | #include 38 | 39 | /////////////////////////////////////////////////////////////////////////////// 40 | 41 | namespace mp4v2 { namespace platform { 42 | using namespace std; 43 | 44 | using ::int8_t; 45 | using ::int16_t; 46 | using ::int32_t; 47 | using ::int64_t; 48 | 49 | using ::uint8_t; 50 | using ::uint16_t; 51 | using ::uint32_t; 52 | using ::uint64_t; 53 | }} // namespace mp4v2::platform 54 | 55 | /////////////////////////////////////////////////////////////////////////////// 56 | 57 | // win32 platform requires O_BINARY when using old open() calls so we add 58 | // this harmless bit-flag for posix to avoid .cpp platform conditionals 59 | #ifndef O_BINARY 60 | # define O_BINARY 0 61 | #endif 62 | 63 | /////////////////////////////////////////////////////////////////////////////// 64 | 65 | // ARM seems to require integer instructions operands to have 4-byte alignment 66 | // so we set this macro to for some int<->string code to manually copy string 67 | // bytes into an int which aligns it. This is much easier than trying to 68 | // align pertinent string data (constants) from in text sections. 69 | #if defined( __arm__ ) 70 | # define MP4V2_INTSTRING_ALIGNMENT 1 71 | #else 72 | # undef MP4V2_INTSTRING_ALIGNMENT 73 | #endif 74 | 75 | /////////////////////////////////////////////////////////////////////////////// 76 | 77 | #endif // MP4V2_PLATFORM_POSIX_H 78 | -------------------------------------------------------------------------------- /src/lib/oggvorbis/lib/vorbis/modes/psych_11.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 | * by the Xiph.Org Foundation http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: 11kHz settings 14 | last mod: $Id: psych_11.h 16227 2009-07-08 06:58:46Z xiphmont $ 15 | 16 | ********************************************************************/ 17 | 18 | static const double _psy_lowpass_11[3]={4.5,5.5,30.,}; 19 | 20 | static const att3 _psy_tone_masteratt_11[3]={ 21 | {{ 30, 25, 12}, 0, 0}, /* 0 */ 22 | {{ 30, 25, 12}, 0, 0}, /* 0 */ 23 | {{ 20, 0, -14}, 0, 0}, /* 0 */ 24 | }; 25 | 26 | static const vp_adjblock _vp_tonemask_adj_11[3]={ 27 | /* adjust for mode zero */ 28 | /* 63 125 250 500 1 2 4 8 16 */ 29 | {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0,10, 2, 0,99,99,99}}, /* 0 */ 30 | {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0, 5, 0, 0,99,99,99}}, /* 1 */ 31 | {{-20,-20,-20,-20,-20,-16,-10, 0, 0, 0, 0, 0, 0, 0,99,99,99}}, /* 2 */ 32 | }; 33 | 34 | 35 | static const noise3 _psy_noisebias_11[3]={ 36 | /* 63 125 250 500 1k 2k 4k 8k 16k*/ 37 | {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 10, 10, 12, 12, 12, 99, 99, 99}, 38 | {-15,-15,-15,-15,-10,-10, -5, 0, 0, 4, 4, 5, 5, 10, 99, 99, 99}, 39 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}}, 40 | 41 | {{{-10,-10,-10,-10, -5, -5, -5, 0, 4, 10, 10, 12, 12, 12, 99, 99, 99}, 42 | {-15,-15,-15,-15,-10,-10, -5, -5, -5, 0, 0, 0, 0, 0, 99, 99, 99}, 43 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, 99, 99, 99}}}, 44 | 45 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 99, 99, 99}, 46 | {-30,-30,-30,-30,-26,-22,-20,-14,-12,-12,-10,-10,-10,-10, 99, 99, 99}, 47 | {-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26,-24, 99, 99, 99}}}, 48 | }; 49 | 50 | static const double _noise_thresh_11[3]={ .3,.5,.5 }; 51 | 52 | -------------------------------------------------------------------------------- /src/lib/mp4v2/src/3gp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * The contents of this file are subject to the Mozilla Public 3 | * License Version 1.1 (the "License"); you may not use this file 4 | * except in compliance with the License. You may obtain a copy of 5 | * the License at http://www.mozilla.org/MPL/ 6 | * 7 | * Software distributed under the License is distributed on an "AS 8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 9 | * implied. See the License for the specific language governing 10 | * rights and limitations under the License. 11 | * 12 | * The Original Code is MPEG4IP. 13 | * 14 | * The Initial Developer of the Original Code is Cisco Systems Inc. 15 | * Portions created by Cisco Systems Inc. are 16 | * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved. 17 | * 18 | * 3GPP features implementation is based on 3GPP's TS26.234-v5.60, 19 | * and was contributed by Ximpo Group Ltd. 20 | * 21 | * Portions created by Ximpo Group Ltd. are 22 | * Copyright (C) Ximpo Group Ltd. 2003, 2004. All Rights Reserved. 23 | * 24 | * Contributor(s): 25 | * Ximpo Group Ltd. mp4v2@ximpo.com 26 | */ 27 | 28 | #include "src/impl.h" 29 | 30 | namespace mp4v2 { namespace impl { 31 | 32 | /////////////////////////////////////////////////////////////////////////////// 33 | 34 | #define _3GP_MAJOR_BRAND "3gp5" 35 | #define _3GP_MINOR_VERSION 0x0001 36 | 37 | void MP4File::Make3GPCompliant(const char* fileName, char* majorBrand, uint32_t minorVersion, char** supportedBrands, uint32_t supportedBrandsCount, bool deleteIodsAtom) 38 | { 39 | char brand[5] = "3gp5"; 40 | char* _3gpSupportedBrands[1] = { (char*)&brand }; 41 | 42 | if (majorBrand) { 43 | if (!supportedBrands || !supportedBrandsCount) { 44 | throw new Exception("Invalid parameters", __FILE__, __LINE__, __FUNCTION__); 45 | } 46 | } 47 | 48 | MakeFtypAtom( 49 | majorBrand ? majorBrand : (char*)brand, 50 | majorBrand ? minorVersion : _3GP_MINOR_VERSION, 51 | majorBrand ? supportedBrands : (char**)_3gpSupportedBrands, 52 | majorBrand ? supportedBrandsCount : 1); 53 | 54 | if (deleteIodsAtom) { 55 | // Delete the iods atom, if it exists.... 56 | MP4Atom* iodsAtom = m_pRootAtom->FindAtom("moov.iods"); 57 | if (iodsAtom) { 58 | MP4Atom* moovAtom = m_pRootAtom->FindAtom("moov"); 59 | ASSERT(moovAtom); 60 | 61 | moovAtom->DeleteChildAtom(iodsAtom); 62 | } 63 | } 64 | 65 | } 66 | 67 | /////////////////////////////////////////////////////////////////////////////// 68 | 69 | }} // namespace mp4v2::impl 70 | --------------------------------------------------------------------------------