├── README.md ├── build └── install │ ├── arm64 │ ├── bin │ │ └── faac │ ├── include │ │ ├── faac.h │ │ └── faaccfg.h │ ├── lib │ │ ├── libfaac.a │ │ └── libfaac.la │ └── share │ │ └── man │ │ └── man1 │ │ └── faac.1 │ ├── armv7 │ ├── bin │ │ └── faac │ ├── include │ │ ├── faac.h │ │ └── faaccfg.h │ ├── lib │ │ ├── libfaac.a │ │ └── libfaac.la │ └── share │ │ └── man │ │ └── man1 │ │ └── faac.1 │ ├── armv7s │ ├── bin │ │ └── faac │ ├── include │ │ ├── faac.h │ │ └── faaccfg.h │ ├── lib │ │ ├── libfaac.a │ │ └── libfaac.la │ └── share │ │ └── man │ │ └── man1 │ │ └── faac.1 │ ├── i386 │ ├── bin │ │ └── faac │ ├── include │ │ ├── faac.h │ │ └── faaccfg.h │ ├── lib │ │ ├── libfaac.a │ │ └── libfaac.la │ └── share │ │ └── man │ │ └── man1 │ │ └── faac.1 │ ├── universal │ ├── include │ │ ├── faac.h │ │ └── faaccfg.h │ └── lib │ │ └── libfaac.a │ └── x86_64 │ ├── bin │ └── faac │ ├── include │ ├── faac.h │ └── faaccfg.h │ ├── lib │ ├── libfaac.a │ └── libfaac.la │ └── share │ └── man │ └── man1 │ └── faac.1 ├── build_faac_ios2.sh ├── faac-1.28.tar.gz ├── faac-iOS-1.28..tgz └── src └── faac-1.28 ├── AUTHORS ├── COPYING ├── ChangeLog ├── INSTALL ├── Makefile ├── Makefile.am ├── Makefile.in ├── NEWS ├── README ├── TODO ├── aclocal.m4 ├── autom4te.cache ├── output.0 ├── output.1 ├── requests ├── traces.0 └── traces.1 ├── bootstrap ├── common ├── Cfaac │ ├── AudioCoding.bmp │ ├── CRegistry.cpp │ ├── CRegistry.h │ ├── CTag.cpp │ ├── CTag.h │ ├── Cfaac.cpp │ ├── Cfaac.h │ ├── Cfaad.cpp │ ├── Cfaad.h │ ├── DecDialog.cpp │ ├── DecDialog.h │ ├── Email.bmp │ ├── EncDialog.cpp │ ├── EncDialog.h │ ├── FAAC.rc │ ├── Open.bmp │ ├── ReadMe.txt │ ├── TypeDef.h │ ├── id3v2.ico │ ├── mpeg4ip-v.bmp │ └── resource.h ├── Makefile ├── Makefile.am ├── Makefile.in └── mp4v2 │ ├── .deps │ ├── 3gp.Po │ ├── atom_amr.Po │ ├── atom_avc1.Po │ ├── atom_avcC.Po │ ├── atom_d263.Po │ ├── atom_damr.Po │ ├── atom_dref.Po │ ├── atom_elst.Po │ ├── atom_enca.Po │ ├── atom_encv.Po │ ├── atom_free.Po │ ├── atom_ftyp.Po │ ├── atom_gmin.Po │ ├── atom_hdlr.Po │ ├── atom_hinf.Po │ ├── atom_hnti.Po │ ├── atom_href.Po │ ├── atom_mdat.Po │ ├── atom_mdhd.Po │ ├── atom_meta.Po │ ├── atom_mp4s.Po │ ├── atom_mp4v.Po │ ├── atom_mvhd.Po │ ├── atom_ohdr.Po │ ├── atom_root.Po │ ├── atom_rtp.Po │ ├── atom_s263.Po │ ├── atom_sdp.Po │ ├── atom_smi.Po │ ├── atom_sound.Po │ ├── atom_standard.Po │ ├── atom_stbl.Po │ ├── atom_stdp.Po │ ├── atom_stsc.Po │ ├── atom_stsd.Po │ ├── atom_stsz.Po │ ├── atom_stz2.Po │ ├── atom_text.Po │ ├── atom_tfhd.Po │ ├── atom_tkhd.Po │ ├── atom_treftype.Po │ ├── atom_trun.Po │ ├── atom_udta.Po │ ├── atom_url.Po │ ├── atom_urn.Po │ ├── atom_video.Po │ ├── atom_vmhd.Po │ ├── descriptors.Po │ ├── isma.Po │ ├── mp4.Po │ ├── mp4atom.Po │ ├── mp4container.Po │ ├── mp4descriptor.Po │ ├── mp4file.Po │ ├── mp4file_io.Po │ ├── mp4info.Po │ ├── mp4meta.Po │ ├── mp4property.Po │ ├── mp4track.Po │ ├── mp4util.Po │ ├── ocidescriptors.Po │ ├── odcommands.Po │ ├── qosqualifiers.Po │ ├── rtphint.Po │ └── virtual_io.Po │ ├── 3gp.cpp │ ├── 3gp.o │ ├── API_CHANGES │ ├── INTERNALS │ ├── Makefile │ ├── Makefile.am │ ├── Makefile.in │ ├── README │ ├── TODO │ ├── atom_amr.cpp │ ├── atom_amr.o │ ├── atom_avc1.cpp │ ├── atom_avc1.o │ ├── atom_avcC.cpp │ ├── atom_avcC.o │ ├── atom_d263.cpp │ ├── atom_d263.o │ ├── atom_damr.cpp │ ├── atom_damr.o │ ├── atom_dref.cpp │ ├── atom_dref.o │ ├── atom_elst.cpp │ ├── atom_elst.o │ ├── atom_enca.cpp │ ├── atom_enca.o │ ├── atom_encv.cpp │ ├── atom_encv.o │ ├── atom_free.cpp │ ├── atom_free.o │ ├── atom_ftyp.cpp │ ├── atom_ftyp.o │ ├── atom_gmin.cpp │ ├── atom_gmin.o │ ├── atom_hdlr.cpp │ ├── atom_hdlr.o │ ├── atom_hinf.cpp │ ├── atom_hinf.o │ ├── atom_hnti.cpp │ ├── atom_hnti.o │ ├── atom_href.cpp │ ├── atom_href.o │ ├── atom_mdat.cpp │ ├── atom_mdat.o │ ├── atom_mdhd.cpp │ ├── atom_mdhd.o │ ├── atom_meta.cpp │ ├── atom_meta.o │ ├── atom_mp4a.cpp │ ├── atom_mp4s.cpp │ ├── atom_mp4s.o │ ├── atom_mp4v.cpp │ ├── atom_mp4v.o │ ├── atom_mvhd.cpp │ ├── atom_mvhd.o │ ├── atom_ohdr.cpp │ ├── atom_ohdr.o │ ├── atom_root.cpp │ ├── atom_root.o │ ├── atom_rtp.cpp │ ├── atom_rtp.o │ ├── atom_s263.cpp │ ├── atom_s263.o │ ├── atom_sdp.cpp │ ├── atom_sdp.o │ ├── atom_smi.cpp │ ├── atom_smi.o │ ├── atom_sound.cpp │ ├── atom_sound.o │ ├── atom_standard.cpp │ ├── atom_standard.o │ ├── atom_stbl.cpp │ ├── atom_stbl.o │ ├── atom_stdp.cpp │ ├── atom_stdp.o │ ├── atom_stsc.cpp │ ├── atom_stsc.o │ ├── atom_stsd.cpp │ ├── atom_stsd.o │ ├── atom_stsz.cpp │ ├── atom_stsz.o │ ├── atom_stz2.cpp │ ├── atom_stz2.o │ ├── atom_text.cpp │ ├── atom_text.o │ ├── atom_tfhd.cpp │ ├── atom_tfhd.o │ ├── atom_tkhd.cpp │ ├── atom_tkhd.o │ ├── atom_treftype.cpp │ ├── atom_treftype.o │ ├── atom_trun.cpp │ ├── atom_trun.o │ ├── atom_udta.cpp │ ├── atom_udta.o │ ├── atom_url.cpp │ ├── atom_url.o │ ├── atom_urn.cpp │ ├── atom_urn.o │ ├── atom_video.cpp │ ├── atom_video.o │ ├── atom_vmhd.cpp │ ├── atom_vmhd.o │ ├── atoms.h │ ├── descriptors.cpp │ ├── descriptors.h │ ├── descriptors.o │ ├── isma.cpp │ ├── isma.o │ ├── libmp4v2.a │ ├── libmp4v2_st60.vcproj │ ├── mp4.cpp │ ├── mp4.h │ ├── mp4.o │ ├── mp4array.h │ ├── mp4atom.cpp │ ├── mp4atom.h │ ├── mp4atom.o │ ├── mp4common.h │ ├── mp4container.cpp │ ├── mp4container.h │ ├── mp4container.o │ ├── mp4descriptor.cpp │ ├── mp4descriptor.h │ ├── mp4descriptor.o │ ├── mp4file.cpp │ ├── mp4file.h │ ├── mp4file.o │ ├── mp4file_io.cpp │ ├── mp4file_io.o │ ├── mp4info.cpp │ ├── mp4info.o │ ├── mp4meta.cpp │ ├── mp4meta.o │ ├── mp4property.cpp │ ├── mp4property.h │ ├── mp4property.o │ ├── mp4track.cpp │ ├── mp4track.h │ ├── mp4track.o │ ├── mp4util.cpp │ ├── mp4util.h │ ├── mp4util.o │ ├── mpeg4ip.h │ ├── mpeg4ip_config.h │ ├── mpeg4ip_version.h │ ├── mpeg4ip_win32.h │ ├── need_for_win32.c │ ├── ocidescriptors.cpp │ ├── ocidescriptors.h │ ├── ocidescriptors.o │ ├── odcommands.cpp │ ├── odcommands.h │ ├── odcommands.o │ ├── qosqualifiers.cpp │ ├── qosqualifiers.h │ ├── qosqualifiers.o │ ├── rtphint.cpp │ ├── rtphint.h │ ├── rtphint.o │ ├── virtual_io.cpp │ ├── virtual_io.h │ └── virtual_io.o ├── compile ├── config.guess ├── config.h ├── config.h.in ├── config.log ├── config.status ├── config.sub ├── configure ├── configure.in ├── depcomp ├── docs ├── faac.1 ├── faac.html ├── libfaac.html └── libfaac.pdf ├── frontend ├── .deps │ ├── input.Po │ └── main.Po ├── Makefile ├── Makefile.am ├── Makefile.in ├── faac ├── faac.sln ├── faac.vcproj ├── faacgui.rc ├── faacgui.sln ├── faacgui.vcproj ├── getopt.c ├── getopt.h ├── input.c ├── input.h ├── input.o ├── main.c ├── main.o ├── maingui.c └── resource.h ├── include ├── Makefile ├── Makefile.am ├── Makefile.in ├── faac.h └── faaccfg.h ├── install-sh ├── libfaac ├── .deps │ ├── aacquant.Plo │ ├── backpred.Plo │ ├── bitstream.Plo │ ├── channels.Plo │ ├── fft.Plo │ ├── filtbank.Plo │ ├── frame.Plo │ ├── huffman.Plo │ ├── kiss_fft.Plo │ ├── kiss_fftr.Plo │ ├── ltp.Plo │ ├── midside.Plo │ ├── psychkni.Plo │ ├── tns.Plo │ └── util.Plo ├── .libs │ ├── libfaac.a │ ├── libfaac.la │ └── libfaac.lai ├── Makefile ├── Makefile.am ├── Makefile.in ├── aacquant.c ├── aacquant.h ├── aacquant.lo ├── aacquant.o ├── backpred.c ├── backpred.h ├── backpred.lo ├── backpred.o ├── bitstream.c ├── bitstream.h ├── bitstream.lo ├── bitstream.o ├── channels.c ├── channels.h ├── channels.lo ├── channels.o ├── coder.h ├── fft.c ├── fft.h ├── fft.lo ├── fft.o ├── filtbank.c ├── filtbank.h ├── filtbank.lo ├── filtbank.o ├── frame.c ├── frame.h ├── frame.lo ├── frame.o ├── huffman.c ├── huffman.h ├── huffman.lo ├── huffman.o ├── hufftab.h ├── kiss_fft │ ├── CHANGELOG │ ├── COPYING │ ├── README │ ├── README.kiss_fft │ ├── TIPS │ ├── _kiss_fft_guts.h │ ├── kiss_fft.c │ ├── kiss_fft.h │ ├── kiss_fftr.c │ └── kiss_fftr.h ├── libfaac.def ├── libfaac.la ├── libfaac.vcproj ├── libfaac_dll.sln ├── libfaac_dll.vcproj ├── libfaac_dll_drm.sln ├── libfaac_dll_drm.vcproj ├── libfaacdrm.def ├── ltp.c ├── ltp.h ├── ltp.lo ├── ltp.o ├── midside.c ├── midside.h ├── midside.lo ├── midside.o ├── psych.h ├── psychkni.c ├── psychkni.lo ├── psychkni.o ├── tns.c ├── tns.h ├── tns.lo ├── tns.o ├── util.c ├── util.h ├── util.lo ├── util.o └── version.h ├── libtool ├── ltmain.sh ├── missing ├── plugins └── cooledit │ ├── Copying │ ├── FAAC.def │ ├── FAAC.sln │ ├── FAAC.vcproj │ ├── Faac.cpp │ ├── Faad.cpp │ ├── Main.cpp │ ├── Readme.txt │ ├── aacInfoLib.sln │ ├── aacInfoLib.vcproj │ ├── defines.h │ └── filters.h ├── project ├── lcc │ └── Makefile └── mingw32 │ ├── Makefile │ └── faac.dev └── stamp-h1 /README.md: -------------------------------------------------------------------------------- 1 | # faac-ios-build 2 | 编译好的iOS libfaac 静态库和编译脚本 3 | 4 | archs: i386 x86_64 armv7 armv7s arm64 5 | 6 | 完整静态库:build/install/universal 7 | -------------------------------------------------------------------------------- /build/install/arm64/bin/faac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/arm64/bin/faac -------------------------------------------------------------------------------- /build/install/arm64/include/faac.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: faac.h,v 1.36 2009/01/25 18:50:32 menno Exp $ 20 | */ 21 | 22 | #ifndef _FAAC_H_ 23 | #define _FAAC_H_ 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif /* __cplusplus */ 28 | 29 | #if defined(_WIN32) && !defined(__MINGW32__) 30 | # ifndef FAACAPI 31 | # define FAACAPI __stdcall 32 | # endif 33 | #else 34 | # ifndef FAACAPI 35 | # define FAACAPI 36 | # endif 37 | #endif 38 | 39 | #pragma pack(push, 1) 40 | 41 | typedef struct { 42 | void *ptr; 43 | char *name; 44 | } 45 | psymodellist_t; 46 | 47 | #include "faaccfg.h" 48 | 49 | 50 | typedef void *faacEncHandle; 51 | 52 | #ifndef HAVE_INT32_T 53 | typedef signed int int32_t; 54 | #endif 55 | 56 | /* 57 | Allows an application to get FAAC version info. This is intended 58 | purely for informative purposes. 59 | 60 | Returns FAAC_CFG_VERSION. 61 | */ 62 | int FAACAPI faacEncGetVersion(char **faac_id_string, 63 | char **faac_copyright_string); 64 | 65 | 66 | faacEncConfigurationPtr FAACAPI 67 | faacEncGetCurrentConfiguration(faacEncHandle hEncoder); 68 | 69 | 70 | int FAACAPI faacEncSetConfiguration(faacEncHandle hEncoder, 71 | faacEncConfigurationPtr config); 72 | 73 | 74 | faacEncHandle FAACAPI faacEncOpen(unsigned long sampleRate, 75 | unsigned int numChannels, 76 | unsigned long *inputSamples, 77 | unsigned long *maxOutputBytes); 78 | 79 | 80 | int FAACAPI faacEncGetDecoderSpecificInfo(faacEncHandle hEncoder, unsigned char **ppBuffer, 81 | unsigned long *pSizeOfDecoderSpecificInfo); 82 | 83 | 84 | int FAACAPI faacEncEncode(faacEncHandle hEncoder, int32_t * inputBuffer, unsigned int samplesInput, 85 | unsigned char *outputBuffer, 86 | unsigned int bufferSize); 87 | 88 | 89 | int FAACAPI faacEncClose(faacEncHandle hEncoder); 90 | 91 | 92 | 93 | #pragma pack(pop) 94 | 95 | #ifdef __cplusplus 96 | } 97 | #endif /* __cplusplus */ 98 | 99 | #endif /* _FAAC_H_ */ 100 | -------------------------------------------------------------------------------- /build/install/arm64/lib/libfaac.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/arm64/lib/libfaac.a -------------------------------------------------------------------------------- /build/install/arm64/lib/libfaac.la: -------------------------------------------------------------------------------- 1 | # libfaac.la - a libtool library file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='' 9 | 10 | # Names of this library. 11 | library_names='' 12 | 13 | # The name of the static archive. 14 | old_library='libfaac.a' 15 | 16 | # Linker flags that cannot go in dependency_libs. 17 | inherited_linker_flags=' ' 18 | 19 | # Libraries that this one depends upon. 20 | dependency_libs=' -lm -L=/usr/lib' 21 | 22 | # Names of additional weak libraries provided by this library 23 | weak_library_names='' 24 | 25 | # Version information for libfaac. 26 | current=0 27 | age=0 28 | revision=0 29 | 30 | # Is this an already installed library? 31 | installed=yes 32 | 33 | # Should we warn about portability when linking against -modules? 34 | shouldnotlink=no 35 | 36 | # Files to dlopen/dlpreopen 37 | dlopen='' 38 | dlpreopen='' 39 | 40 | # Directory that this library needs to be installed in: 41 | libdir='/Users/ricky/Desktop/faacbuild2/build/install/arm64/lib' 42 | -------------------------------------------------------------------------------- /build/install/armv7/bin/faac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/armv7/bin/faac -------------------------------------------------------------------------------- /build/install/armv7/include/faac.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: faac.h,v 1.36 2009/01/25 18:50:32 menno Exp $ 20 | */ 21 | 22 | #ifndef _FAAC_H_ 23 | #define _FAAC_H_ 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif /* __cplusplus */ 28 | 29 | #if defined(_WIN32) && !defined(__MINGW32__) 30 | # ifndef FAACAPI 31 | # define FAACAPI __stdcall 32 | # endif 33 | #else 34 | # ifndef FAACAPI 35 | # define FAACAPI 36 | # endif 37 | #endif 38 | 39 | #pragma pack(push, 1) 40 | 41 | typedef struct { 42 | void *ptr; 43 | char *name; 44 | } 45 | psymodellist_t; 46 | 47 | #include "faaccfg.h" 48 | 49 | 50 | typedef void *faacEncHandle; 51 | 52 | #ifndef HAVE_INT32_T 53 | typedef signed int int32_t; 54 | #endif 55 | 56 | /* 57 | Allows an application to get FAAC version info. This is intended 58 | purely for informative purposes. 59 | 60 | Returns FAAC_CFG_VERSION. 61 | */ 62 | int FAACAPI faacEncGetVersion(char **faac_id_string, 63 | char **faac_copyright_string); 64 | 65 | 66 | faacEncConfigurationPtr FAACAPI 67 | faacEncGetCurrentConfiguration(faacEncHandle hEncoder); 68 | 69 | 70 | int FAACAPI faacEncSetConfiguration(faacEncHandle hEncoder, 71 | faacEncConfigurationPtr config); 72 | 73 | 74 | faacEncHandle FAACAPI faacEncOpen(unsigned long sampleRate, 75 | unsigned int numChannels, 76 | unsigned long *inputSamples, 77 | unsigned long *maxOutputBytes); 78 | 79 | 80 | int FAACAPI faacEncGetDecoderSpecificInfo(faacEncHandle hEncoder, unsigned char **ppBuffer, 81 | unsigned long *pSizeOfDecoderSpecificInfo); 82 | 83 | 84 | int FAACAPI faacEncEncode(faacEncHandle hEncoder, int32_t * inputBuffer, unsigned int samplesInput, 85 | unsigned char *outputBuffer, 86 | unsigned int bufferSize); 87 | 88 | 89 | int FAACAPI faacEncClose(faacEncHandle hEncoder); 90 | 91 | 92 | 93 | #pragma pack(pop) 94 | 95 | #ifdef __cplusplus 96 | } 97 | #endif /* __cplusplus */ 98 | 99 | #endif /* _FAAC_H_ */ 100 | -------------------------------------------------------------------------------- /build/install/armv7/lib/libfaac.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/armv7/lib/libfaac.a -------------------------------------------------------------------------------- /build/install/armv7/lib/libfaac.la: -------------------------------------------------------------------------------- 1 | # libfaac.la - a libtool library file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='' 9 | 10 | # Names of this library. 11 | library_names='' 12 | 13 | # The name of the static archive. 14 | old_library='libfaac.a' 15 | 16 | # Linker flags that cannot go in dependency_libs. 17 | inherited_linker_flags=' ' 18 | 19 | # Libraries that this one depends upon. 20 | dependency_libs=' -lm -L=/usr/lib' 21 | 22 | # Names of additional weak libraries provided by this library 23 | weak_library_names='' 24 | 25 | # Version information for libfaac. 26 | current=0 27 | age=0 28 | revision=0 29 | 30 | # Is this an already installed library? 31 | installed=yes 32 | 33 | # Should we warn about portability when linking against -modules? 34 | shouldnotlink=no 35 | 36 | # Files to dlopen/dlpreopen 37 | dlopen='' 38 | dlpreopen='' 39 | 40 | # Directory that this library needs to be installed in: 41 | libdir='/Users/ricky/Desktop/faacbuild2/build/install/armv7/lib' 42 | -------------------------------------------------------------------------------- /build/install/armv7s/bin/faac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/armv7s/bin/faac -------------------------------------------------------------------------------- /build/install/armv7s/lib/libfaac.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/armv7s/lib/libfaac.a -------------------------------------------------------------------------------- /build/install/armv7s/lib/libfaac.la: -------------------------------------------------------------------------------- 1 | # libfaac.la - a libtool library file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='' 9 | 10 | # Names of this library. 11 | library_names='' 12 | 13 | # The name of the static archive. 14 | old_library='libfaac.a' 15 | 16 | # Linker flags that cannot go in dependency_libs. 17 | inherited_linker_flags=' ' 18 | 19 | # Libraries that this one depends upon. 20 | dependency_libs=' -lm -L=/usr/lib' 21 | 22 | # Names of additional weak libraries provided by this library 23 | weak_library_names='' 24 | 25 | # Version information for libfaac. 26 | current=0 27 | age=0 28 | revision=0 29 | 30 | # Is this an already installed library? 31 | installed=yes 32 | 33 | # Should we warn about portability when linking against -modules? 34 | shouldnotlink=no 35 | 36 | # Files to dlopen/dlpreopen 37 | dlopen='' 38 | dlpreopen='' 39 | 40 | # Directory that this library needs to be installed in: 41 | libdir='/Users/ricky/Desktop/faacbuild2/build/install/armv7s/lib' 42 | -------------------------------------------------------------------------------- /build/install/i386/bin/faac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/i386/bin/faac -------------------------------------------------------------------------------- /build/install/i386/include/faac.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: faac.h,v 1.36 2009/01/25 18:50:32 menno Exp $ 20 | */ 21 | 22 | #ifndef _FAAC_H_ 23 | #define _FAAC_H_ 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif /* __cplusplus */ 28 | 29 | #if defined(_WIN32) && !defined(__MINGW32__) 30 | # ifndef FAACAPI 31 | # define FAACAPI __stdcall 32 | # endif 33 | #else 34 | # ifndef FAACAPI 35 | # define FAACAPI 36 | # endif 37 | #endif 38 | 39 | #pragma pack(push, 1) 40 | 41 | typedef struct { 42 | void *ptr; 43 | char *name; 44 | } 45 | psymodellist_t; 46 | 47 | #include "faaccfg.h" 48 | 49 | 50 | typedef void *faacEncHandle; 51 | 52 | #ifndef HAVE_INT32_T 53 | typedef signed int int32_t; 54 | #endif 55 | 56 | /* 57 | Allows an application to get FAAC version info. This is intended 58 | purely for informative purposes. 59 | 60 | Returns FAAC_CFG_VERSION. 61 | */ 62 | int FAACAPI faacEncGetVersion(char **faac_id_string, 63 | char **faac_copyright_string); 64 | 65 | 66 | faacEncConfigurationPtr FAACAPI 67 | faacEncGetCurrentConfiguration(faacEncHandle hEncoder); 68 | 69 | 70 | int FAACAPI faacEncSetConfiguration(faacEncHandle hEncoder, 71 | faacEncConfigurationPtr config); 72 | 73 | 74 | faacEncHandle FAACAPI faacEncOpen(unsigned long sampleRate, 75 | unsigned int numChannels, 76 | unsigned long *inputSamples, 77 | unsigned long *maxOutputBytes); 78 | 79 | 80 | int FAACAPI faacEncGetDecoderSpecificInfo(faacEncHandle hEncoder, unsigned char **ppBuffer, 81 | unsigned long *pSizeOfDecoderSpecificInfo); 82 | 83 | 84 | int FAACAPI faacEncEncode(faacEncHandle hEncoder, int32_t * inputBuffer, unsigned int samplesInput, 85 | unsigned char *outputBuffer, 86 | unsigned int bufferSize); 87 | 88 | 89 | int FAACAPI faacEncClose(faacEncHandle hEncoder); 90 | 91 | 92 | 93 | #pragma pack(pop) 94 | 95 | #ifdef __cplusplus 96 | } 97 | #endif /* __cplusplus */ 98 | 99 | #endif /* _FAAC_H_ */ 100 | -------------------------------------------------------------------------------- /build/install/i386/lib/libfaac.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/i386/lib/libfaac.a -------------------------------------------------------------------------------- /build/install/i386/lib/libfaac.la: -------------------------------------------------------------------------------- 1 | # libfaac.la - a libtool library file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='' 9 | 10 | # Names of this library. 11 | library_names='' 12 | 13 | # The name of the static archive. 14 | old_library='libfaac.a' 15 | 16 | # Linker flags that cannot go in dependency_libs. 17 | inherited_linker_flags=' ' 18 | 19 | # Libraries that this one depends upon. 20 | dependency_libs=' -lm -L=/usr/lib' 21 | 22 | # Names of additional weak libraries provided by this library 23 | weak_library_names='' 24 | 25 | # Version information for libfaac. 26 | current=0 27 | age=0 28 | revision=0 29 | 30 | # Is this an already installed library? 31 | installed=yes 32 | 33 | # Should we warn about portability when linking against -modules? 34 | shouldnotlink=no 35 | 36 | # Files to dlopen/dlpreopen 37 | dlopen='' 38 | dlpreopen='' 39 | 40 | # Directory that this library needs to be installed in: 41 | libdir='/Users/ricky/Desktop/faacbuild2/build/install/i386/lib' 42 | -------------------------------------------------------------------------------- /build/install/universal/lib/libfaac.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/universal/lib/libfaac.a -------------------------------------------------------------------------------- /build/install/x86_64/bin/faac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/x86_64/bin/faac -------------------------------------------------------------------------------- /build/install/x86_64/lib/libfaac.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/build/install/x86_64/lib/libfaac.a -------------------------------------------------------------------------------- /build/install/x86_64/lib/libfaac.la: -------------------------------------------------------------------------------- 1 | # libfaac.la - a libtool library file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='' 9 | 10 | # Names of this library. 11 | library_names='' 12 | 13 | # The name of the static archive. 14 | old_library='libfaac.a' 15 | 16 | # Linker flags that cannot go in dependency_libs. 17 | inherited_linker_flags=' ' 18 | 19 | # Libraries that this one depends upon. 20 | dependency_libs=' -lm -L=/usr/lib' 21 | 22 | # Names of additional weak libraries provided by this library 23 | weak_library_names='' 24 | 25 | # Version information for libfaac. 26 | current=0 27 | age=0 28 | revision=0 29 | 30 | # Is this an already installed library? 31 | installed=yes 32 | 33 | # Should we warn about portability when linking against -modules? 34 | shouldnotlink=no 35 | 36 | # Files to dlopen/dlpreopen 37 | dlopen='' 38 | dlpreopen='' 39 | 40 | # Directory that this library needs to be installed in: 41 | libdir='/Users/ricky/Desktop/faacbuild2/build/install/x86_64/lib' 42 | -------------------------------------------------------------------------------- /build_faac_ios2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # http://www.linuxfromscratch.org/blfs/view/svn/multimedia/faac.html 4 | # ftp://mirror.ovh.net/gentoo-distfiles/distfiles/ 5 | 6 | major=1 7 | minor=28 8 | micro= 9 | 10 | XCD_ROOT="/Applications/Xcode.app/Contents/Developer" 11 | TOL_ROOT="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain" 12 | SDK_ROOT="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk" 13 | SDK_SML_ROOT="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk" 14 | 15 | export PATH=$TOL_ROOT/usr/bin:$PATH 16 | 17 | work=`pwd` 18 | srcs=$work/src 19 | buid=$work/build 20 | insl=$buid/install 21 | name=faac-${major}.${minor} 22 | pakt=${name}.tar.gz 23 | dest=$work/faac-iOS-${major}.${minor}.${micro}.tgz 24 | 25 | rm -rf $srcs $buid $dest && mkdir -p $srcs $buid 26 | 27 | 28 | archs="i386 x86_64 armv7 armv7s arm64" 29 | 30 | for a in $archs; do 31 | case $a in 32 | arm*) 33 | sys_root=${SDK_ROOT} 34 | host=arm-apple-darwin 35 | ;; 36 | i386|x86_64) 37 | sys_root=${SDK_SML_ROOT} 38 | host=$a-apple-darwin 39 | ;; 40 | esac 41 | prefix=$insl/$a && rm -rf $prefix && mkdir -p $prefix 42 | rm -rf $srcs && mkdir -p $srcs && cd $work && tar xvzf $pakt -C $srcs && cd $srcs/$name 43 | 44 | 45 | export CC="$TOL_ROOT/usr/bin/clang -arch $a -isysroot $sys_root" 46 | export CXX="$TOL_ROOT/usr/bin/clang++ -arch $a -isysroot $sys_root" 47 | export CXXFLAGS="-arch $a -isysroot $sys_root" 48 | export CFLAGS="-arch $a -isysroot $sys_root" 49 | export LDFLAGS="-isysroot $sys_root" 50 | export LIBS="-L${sys_root}/usr/lib" 51 | 52 | chmod +x bootstrap 53 | ./bootstrap \ 54 | &&./configure \ 55 | --host=$host \ 56 | --with-sysroot=$sys_root \ 57 | --prefix=$prefix \ 58 | --disable-shared \ 59 | --enable-static \ 60 | --disable-faac \ 61 | --with-mp4v2 \ 62 | &&make && make install 63 | lipo_archs="$lipo_archs $prefix/lib/libfaac.a" 64 | 65 | echo 'continue any key pressed..' 66 | read -n 1 67 | done 68 | 69 | univ=$insl/universal && mkdir -p $univ/lib 70 | cp -r $prefix/include $univ/ 71 | lipo $lipo_archs -create -output $univ/lib/libfaac.a 72 | ranlib $univ/lib/libfaac.a 73 | strip -S $univ/lib/libfaac.a 74 | 75 | cd $univ && tar cvzf $dest * -------------------------------------------------------------------------------- /faac-1.28.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/faac-1.28.tar.gz -------------------------------------------------------------------------------- /faac-iOS-1.28..tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/faac-iOS-1.28..tgz -------------------------------------------------------------------------------- /src/faac-1.28/AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/AUTHORS -------------------------------------------------------------------------------- /src/faac-1.28/ChangeLog: -------------------------------------------------------------------------------- 1 | 2009-02-02 - Version 1.28 2 | * Prevent out of range scalefactors 3 | * Updated to latest mpeg4ip mp4 file format library 4 | * Added -s option to make the encoder output optimized mp4 layout 5 | * Improved JPEG detection for album art 6 | * Lot's of compilation issues solved 7 | -------------------------------------------------------------------------------- /src/faac-1.28/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = include libfaac common frontend 2 | -------------------------------------------------------------------------------- /src/faac-1.28/NEWS: -------------------------------------------------------------------------------- 1 | D'oh! ;-) 2 | 3 | The most important news in the last weeks probably was moving libmp4v2 from 4 | FAAD2 to the FAAC folder in the currently available snapshots on 5 | Audiocoding.com and in the CVS. So FAAC doesn't need an installed FAAD2 6 | anymore if it is compiled with MP4 writing and tagging support. Yes, FAAC can 7 | do that on its own now, thanks to Dan and Case... 8 | 9 | Volker Fischer adapted FAAC to Digital Radio Mondiale, i.e. it works as an AAC 10 | LC encoder in his DReaM receiver/transmitter software now. There are still 11 | things to straighten out like the frame length, but these test transmissions 12 | can be decoded by the official DRM receiver from FhG/Merlin, too. 13 | 14 | There's a new FAAC project summary on Freshmeat.net with many links to existing 15 | ports and packages as well as other applications using either FAAC or FAAD2: 16 | http://freshmeat.net/projects/faac/ And Audiocoding.com has been added to the 17 | Open Directory Project on dmoz.org, too, which serves as a database for many 18 | important search engines, e.g. Google, Yahoo, AOL and others. 19 | 20 | The Winamp and CoolEdit output plugins by Antonio Foranna have been updated 21 | quite often recently (MP4 tagging and importing tags from input files), and 22 | he'll probably be an official project member soon. By the way, the currently 23 | available compiles on RareWares need the external id3lib.dll in your system 24 | directory, otherwise they won't show up in Winamp's output plugins folder. 25 | CoolEdit even quits with an error message at the start. 26 | 27 | Sad news was that knik quit developing FAAC after bringing it to its current 28 | competitive state which was proven in the last AAC comparison from 2004 on 29 | http://www.rjamorim.com/test/aac128v2/results.html So if someone out there 30 | feels like tuning the only available open source AAC encoder, go ahead... 31 | 32 | Hans-Juergen (Oct 17, 2004) 33 | 34 | P.S.: See also the updated ChangeLog for all changes since the last 35 | ChangeLog from Nov 24, 2003. 36 | -------------------------------------------------------------------------------- /src/faac-1.28/TODO: -------------------------------------------------------------------------------- 1 | TODO: In any order 2 | 3 | Big list, but a lot of it can be done fairly easily with some old code. 4 | Note: most of these issues are quite old, and it's not clear who submitted them 5 | in this file and why and/or if some of them are fixed in the meantime. The 6 | ChangeLog might give some insight on this though. 7 | 8 | - DONE: Add frequency cutoff filter 9 | - DONE: Add ADTS headers 10 | - DONE: Write GUI 11 | - DONE: Add TNS 12 | - DONE: Add LTP 13 | - DONE: Add backward prediction (MPEG2-AAC)???? 14 | - DONE: Test (and maybe fix) sample rates other than 44100 Hz 15 | - DONE: Test (and maybe fix) multichannel and mono support 16 | - DONE: Figure out how to read and write ".mp4" format 17 | - DONE: Write documentation for library interface 18 | - DONE: Improve command line tool 19 | - DONE: VBR quantizer 20 | - DONE: Speedup 21 | - Done: Clean up psychoacoustics code 22 | - Done: Add Window shape switching 23 | 24 | - Add PNS 25 | - Add IS 26 | - Add bit reservoir control 27 | - Add pulse coding (?) 28 | - Rewrite noiseless coding (now taken from old version) (?) 29 | - Better grouping support (?) 30 | - Fix short block psychoacoustics (?) 31 | - Fix TNS (hans-juergen, Oct 17, 2004) 32 | - Fix LTP (hans-juergen, Oct 17, 2004) 33 | - Fix Main (hans-juergen, Oct 17, 2004) 34 | - Add resampler and downmixer (hans-juergen, Oct 17, 2004) 35 | - Add HE AAC (hans-juergen, Oct 17, 2004) 36 | - Fix mysterious crash/freeze with some decoded WAV files on 37 | Linux: endianness? TNS? M/S? decoder bug? (hans-juergen, Oct 17, 2004) 38 | - Fix default ABR cutoff frequencies at different bitrates 39 | (hans-juergen, Oct 17, 2004) 40 | -------------------------------------------------------------------------------- /src/faac-1.28/bootstrap: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | aclocal -I . 4 | autoheader 5 | if test "`uname -s`" = Darwin; then 6 | glibtoolize --automake 7 | else 8 | libtoolize --automake 9 | fi 10 | automake --add-missing 11 | autoconf 12 | -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/AudioCoding.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/Cfaac/AudioCoding.bmp -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/CRegistry.h: -------------------------------------------------------------------------------- 1 | /* 2 | CRegistry class 3 | Copyright (C) 2002-2004 Antonio Foranna 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with this program; if not, write to the Free Software 16 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 | 18 | The author can be contacted at: 19 | ntnfrn_email-temp@yahoo.it 20 | */ 21 | 22 | //--------------------------------------------------------------------------- 23 | #ifndef CRegistryH 24 | #define CRegistryH 25 | //--------------------------------------------------------------------------- 26 | 27 | #include 28 | #include 29 | #include 30 | //#include 31 | 32 | class CRegistry 33 | { 34 | public: 35 | CRegistry(); 36 | ~CRegistry(); 37 | 38 | BOOL Open(HKEY hKey, char *SubKey); 39 | BOOL OpenCreate(HKEY hKey, char *SubKey); 40 | void Close(); 41 | void DeleteVal(char *SubKey); 42 | void DeleteKey(char *SubKey); 43 | 44 | void SetBool(char *keyStr , bool val); 45 | void SetByte(char *keyStr , BYTE val); 46 | void SetWord(char *keyStr , WORD val); 47 | void SetDword(char *keyStr , DWORD val); 48 | void SetFloat(char *keyStr , float val); 49 | void SetStr(char *keyStr , char *valStr); 50 | void SetValN(char *keyStr , BYTE *addr, DWORD size); 51 | 52 | bool GetSetBool(char *keyStr, bool var); 53 | BYTE GetSetByte(char *keyStr, BYTE var); 54 | WORD GetSetWord(char *keyStr, WORD var); 55 | DWORD GetSetDword(char *keyStr, DWORD var); 56 | float GetSetFloat(char *keyStr, float var); 57 | char *GetSetStr(char *keyStr, char *String); 58 | int GetSetValN(char *keyStr, BYTE *defData, DWORD defSize, BYTE **dest); 59 | 60 | HKEY regKey; 61 | char *path; 62 | }; 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/CTag.h: -------------------------------------------------------------------------------- 1 | /* 2 | CTag - Class to read/write id3v2/mp4 tags 3 | Copyright (C) 2004 Antonio Foranna 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with this program; if not, write to the Free Software 16 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 | 18 | The author can be contacted at: 19 | ntnfrn_email-temp@yahoo.it 20 | */ 21 | 22 | #ifndef _CTag_H 23 | #define _CTag_H 24 | 25 | // ********************************************************************************************* 26 | 27 | #include 28 | #include // id3 tag 29 | #include "CRegistry.h" 30 | #include "Defines.h" 31 | 32 | // ********************************************************************************************* 33 | 34 | #define REG_TAGON "Tag On" 35 | #define REG_TAGIMPORT "Tag import" 36 | #define REG_ARTIST "Tag Artist" 37 | #define REG_TITLE "Tag Title" 38 | #define REG_ALBUM "Tag Album" 39 | #define REG_YEAR "Tag Year" 40 | #define REG_GENRE "Tag Genre" 41 | #define REG_WRITER "Tag Writer" 42 | #define REG_COMMENT "Tag Comment" 43 | #define REG_TRACK "Tag Track" 44 | #define REG_NTRACKS "Tag Tracks" 45 | #define REG_DISK "Tag Disk" 46 | #define REG_NDISKS "Tag Disks" 47 | #define REG_COMPILATION "Tag Compilation" 48 | #define REG_ARTFILE "Tag Art file" 49 | 50 | // ********************************************************************************************* 51 | 52 | typedef struct 53 | { 54 | char *data; 55 | DWORD size; 56 | DWORD pictureType; // front, back, icon, ... 57 | char *mimeType, // jpg, png, gif 58 | *format, // ??? 59 | *description; // text description 60 | } id3Picture; 61 | 62 | class CMP4Tag 63 | { 64 | private: 65 | int check_image_header(const char *buf); 66 | int ReadCoverArtFile(char *pCoverArtFile, char **artBuf); 67 | 68 | public: 69 | CMP4Tag(); 70 | virtual ~CMP4Tag() { FreeTag(); } 71 | 72 | virtual void FreeTag(); 73 | virtual int WriteMP4Tag(MP4FileHandle MP4File); 74 | virtual int WriteAacTag(char *Filename); 75 | virtual int ReadMp4Tag(char *Filename); 76 | virtual int ReadAacTag(char *Filename); 77 | 78 | char *copyright; // used in Cfaad 79 | char *artist, *title, *album, *year, *genre, *writer, *comment; 80 | WORD trackno,ntracks, discno,ndiscs; 81 | BYTE compilation; 82 | char *artFilename; 83 | id3Picture art; // used in ReadAacTag(). Remark: field not stored into registry 84 | }; 85 | 86 | #endif -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/DecDialog.h: -------------------------------------------------------------------------------- 1 | extern BOOL DialogMsgProcDec(HWND hWndDlg, UINT Message, WPARAM wParam, LPARAM lParam); 2 | extern int ShowDlg4RawAAC(); 3 | 4 | static const char* mpeg4AudioNames[]= 5 | { 6 | "Raw PCM", 7 | "AAC Main", 8 | "AAC LC (Low Complexity)", 9 | "AAC SSR", 10 | "AAC LTP (Long Term Prediction)", 11 | "AAC HE (High Efficiency)", 12 | "AAC Scalable", 13 | "TwinVQ", 14 | "CELP", 15 | "HVXC", 16 | "Reserved", 17 | "Reserved", 18 | "TTSI", 19 | "Main synthetic", 20 | "Wavetable synthesis", 21 | "General MIDI", 22 | "Algorithmic Synthesis and Audio FX", 23 | // defined in MPEG-4 version 2 24 | "ER AAC LC (Low Complexity)", 25 | "Reserved", 26 | "ER AAC LTP (Long Term Prediction)", 27 | "ER AAC Scalable", 28 | "ER TwinVQ", 29 | "ER BSAC", 30 | "ER AAC LD (Low Delay)", 31 | "ER CELP", 32 | "ER HVXC", 33 | "ER HILN", 34 | "ER Parametric", 35 | "Reserved", 36 | "Reserved", 37 | "Reserved", 38 | "Reserved" 39 | }; 40 | -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/Email.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/Cfaac/Email.bmp -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/EncDialog.h: -------------------------------------------------------------------------------- 1 | extern BOOL DialogMsgProcAbout(HWND hWndDlg, UINT Message, WPARAM wParam, LPARAM lParam); 2 | extern BOOL CALLBACK DIALOGMsgProcEnc(HWND hWndDlg, UINT Message, WPARAM wParam, LPARAM lParam); 3 | -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/Open.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/Cfaac/Open.bmp -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/ReadMe.txt: -------------------------------------------------------------------------------- 1 | +----------------------------------------------------------------+ 2 | | | 3 | | Cfaac Readme | 4 | | ------------ | 5 | | | 6 | +----------------------------------------------------------------+ 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License. 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY. 12 | 13 | ---------------------------------------------------------------------------- 14 | 15 | Cfaac is a set of classes to develop plugins (to import/export .aac/.mp4 files) with ease. 16 | 17 | ---------------------------------------------------------------------------- 18 | 19 | For suggestions, bugs report, etc., you can contact me at 20 | ntnfrn_email-temp@yahoo.it 21 | -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/TypeDef.h: -------------------------------------------------------------------------------- 1 | /* 2 | FAAC - codec plugin for Cooledit 3 | Copyright (C) 2002-2004 Antonio Foranna 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with this program; if not, write to the Free Software 16 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 | 18 | The author can be contacted at: 19 | ntnfrn_email-temp@yahoo.it 20 | */ 21 | 22 | //--------------------------------------------------------------------------- 23 | #ifndef TypeDefH 24 | #define TypeDefH 25 | //--------------------------------------------------------------------------- 26 | 27 | /* typedef.h */ 28 | 29 | #ifndef BYTE 30 | typedef unsigned char BYTE; 31 | #endif 32 | #ifndef WORD 33 | typedef unsigned short WORD; 34 | #endif 35 | #ifndef DWORD 36 | typedef unsigned long DWORD; 37 | #endif 38 | #ifndef QWORD 39 | typedef unsigned __int64 QWORD; 40 | #endif 41 | 42 | //--------------------------------------------------------------------------- 43 | #endif 44 | //--------------------------------------------------------------------------- 45 | 46 | -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/id3v2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/Cfaac/id3v2.ico -------------------------------------------------------------------------------- /src/faac-1.28/common/Cfaac/mpeg4ip-v.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/Cfaac/mpeg4ip-v.bmp -------------------------------------------------------------------------------- /src/faac-1.28/common/Makefile.am: -------------------------------------------------------------------------------- 1 | if WITH_MP4V2 2 | SUBDIRS = mp4v2 3 | else 4 | SUBDIRS = 5 | endif 6 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/3gp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/3gp.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/Makefile.am: -------------------------------------------------------------------------------- 1 | INCLUDES = -I$(top_srcdir)/include 2 | 3 | AM_CXXFLAGS = -Wall 4 | 5 | noinst_LIBRARIES = libmp4v2.a 6 | 7 | noinst_HEADERS = mp4.h mpeg4ip.h mpeg4ip_version.h mpeg4ip_config.h 8 | 9 | libmp4v2_a_SOURCES = \ 10 | 3gp.cpp \ 11 | atom_amr.cpp \ 12 | atom_avc1.cpp \ 13 | atom_avcC.cpp \ 14 | atom_d263.cpp \ 15 | atom_damr.cpp \ 16 | atom_dref.cpp \ 17 | atom_elst.cpp \ 18 | atom_enca.cpp \ 19 | atom_encv.cpp \ 20 | atom_free.cpp \ 21 | atom_ftyp.cpp \ 22 | atom_gmin.cpp \ 23 | atom_hdlr.cpp \ 24 | atom_hinf.cpp \ 25 | atom_hnti.cpp \ 26 | atom_href.cpp \ 27 | atom_mdat.cpp \ 28 | atom_mdhd.cpp \ 29 | atom_meta.cpp \ 30 | atom_mp4s.cpp \ 31 | atom_mp4v.cpp \ 32 | atom_mvhd.cpp \ 33 | atom_ohdr.cpp \ 34 | atom_root.cpp \ 35 | atom_rtp.cpp \ 36 | atom_s263.cpp \ 37 | atom_sdp.cpp \ 38 | atoms.h \ 39 | atom_smi.cpp \ 40 | atom_sound.cpp \ 41 | atom_standard.cpp \ 42 | atom_stbl.cpp \ 43 | atom_stdp.cpp \ 44 | atom_stsc.cpp \ 45 | atom_stsd.cpp \ 46 | atom_stsz.cpp \ 47 | atom_stz2.cpp \ 48 | atom_text.cpp \ 49 | atom_tfhd.cpp \ 50 | atom_tkhd.cpp \ 51 | atom_treftype.cpp \ 52 | atom_trun.cpp \ 53 | atom_udta.cpp \ 54 | atom_url.cpp \ 55 | atom_urn.cpp \ 56 | atom_video.cpp \ 57 | atom_vmhd.cpp \ 58 | descriptors.cpp \ 59 | descriptors.h \ 60 | isma.cpp \ 61 | mp4array.h \ 62 | mp4atom.cpp \ 63 | mp4atom.h \ 64 | mp4common.h \ 65 | mp4container.cpp \ 66 | mp4container.h \ 67 | mp4.cpp \ 68 | mp4descriptor.cpp \ 69 | mp4descriptor.h \ 70 | mp4file.cpp \ 71 | mp4file.h \ 72 | mp4file_io.cpp \ 73 | mp4info.cpp \ 74 | mp4meta.cpp \ 75 | mp4property.cpp \ 76 | mp4property.h \ 77 | mp4track.cpp \ 78 | mp4track.h \ 79 | mp4util.cpp \ 80 | mp4util.h \ 81 | ocidescriptors.cpp \ 82 | ocidescriptors.h \ 83 | odcommands.cpp \ 84 | odcommands.h \ 85 | qosqualifiers.cpp \ 86 | qosqualifiers.h \ 87 | rtphint.cpp \ 88 | rtphint.h \ 89 | virtual_io.cpp \ 90 | virtual_io.h 91 | 92 | EXTRA_DIST = API_CHANGES \ 93 | INTERNALS \ 94 | libmp4v260.dsp \ 95 | libmp4v2_st60.dsp \ 96 | TODO 97 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/README: -------------------------------------------------------------------------------- 1 | July 18, 2002 2 | 3 | MP4V2 Library 4 | ============= 5 | 6 | This library provides functions to read, create, and modify mp4 files. 7 | 8 | The detailed documentation of the library is available as a set of man pages 9 | in mpeg4ip/doc/mp4v2. The MP4.3 man page gives an overview of the library. 10 | 11 | Alternately mp4.h in this directory specifies the complete API. 12 | 13 | The file INTERNALS provides an overview of what is happening behind the API. 14 | Note that although we using C++ object oriented features internally, that's 15 | all hidden behind a flat C style API (with C linkage conventions). 16 | 17 | The test and util subdirectories contain some simple programs that use 18 | this library. 19 | 20 | Once make install is run, to use this library, you should: 21 | To use this library in your application, it should be sufficient to: 22 | 23 | 1) add the installed library to your final link: 24 | e.g. gcc ... -o foo foo.cpp -lmp4v2 25 | 26 | 2) include mp4.h into your code, 27 | e.g. #include 28 | 29 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/TODO: -------------------------------------------------------------------------------- 1 | 2 | Add ability to create samples referenced in multiple tracks 3 | 4 | Add ability to create atoms/properties via set or add operations 5 | 6 | Exploit extended format (ISO v2) 7 | 8 | List all possible atoms/properties with types 9 | 10 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 29 | 30 | MP4AmrAtom::MP4AmrAtom(const char *type) 31 | : MP4Atom(type) 32 | { 33 | AddReserved("reserved1", 6); /* 0 */ 34 | 35 | AddProperty( /* 1 */ 36 | new MP4Integer16Property("dataReferenceIndex")); 37 | 38 | AddReserved("reserved2", 16); /* 2 */ 39 | 40 | AddProperty( /* 3 */ 41 | new MP4Integer16Property("timeScale")); 42 | 43 | AddReserved("reserved3", 2); /* 4 */ 44 | 45 | ExpectChildAtom("damr", Required, OnlyOne); 46 | } 47 | 48 | void MP4AmrAtom::Generate() 49 | { 50 | MP4Atom::Generate(); 51 | 52 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 53 | 54 | // property reserved2 has non-zero fixed values 55 | static u_int8_t reserved2[16] = { 56 | 0x00, 0x00, 0x00, 0x00, 57 | 0x00, 0x00, 0x00, 0x00, 58 | 0x00, 0x02, 0x00, 0x10, 59 | 0x00, 0x00, 0x00, 0x00, 60 | }; 61 | m_pProperties[2]->SetReadOnly(false); 62 | ((MP4BytesProperty*)m_pProperties[2])-> 63 | SetValue(reserved2, sizeof(reserved2)); 64 | m_pProperties[2]->SetReadOnly(true); 65 | } 66 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_amr.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_amr.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_avc1.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 | 22 | #include "mp4common.h" 23 | 24 | MP4Avc1Atom::MP4Avc1Atom() 25 | : MP4Atom("avc1") 26 | { 27 | AddReserved("reserved1", 6); /* 0 */ 28 | 29 | AddProperty( /* 1 */ 30 | new MP4Integer16Property("dataReferenceIndex")); 31 | 32 | AddReserved("reserved2", 16); /* 2 */ 33 | 34 | AddProperty( /* 3 */ 35 | new MP4Integer16Property("width")); 36 | AddProperty( /* 4 */ 37 | new MP4Integer16Property("height")); 38 | 39 | AddReserved("reserved3", 14); /* 5 */ 40 | 41 | MP4StringProperty* pProp = 42 | new MP4StringProperty("compressorName"); 43 | pProp->SetFixedLength(32); 44 | pProp->SetValue("AVC Coding"); 45 | AddProperty(pProp); /* 6 */ 46 | 47 | AddReserved("reserved4", 4); /* 7 */ 48 | 49 | ExpectChildAtom("avcC", Required, OnlyOne); 50 | ExpectChildAtom("btrt", Optional, OnlyOne); 51 | // for now ExpectChildAtom("m4ds", Optional, OnlyOne); 52 | } 53 | 54 | void MP4Avc1Atom::Generate() 55 | { 56 | MP4Atom::Generate(); 57 | 58 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 59 | 60 | // property reserved3 has non-zero fixed values 61 | static u_int8_t reserved3[14] = { 62 | 0x00, 0x48, 0x00, 0x00, 63 | 0x00, 0x48, 0x00, 0x00, 64 | 0x00, 0x00, 0x00, 0x00, 65 | 0x00, 0x01, 66 | }; 67 | m_pProperties[5]->SetReadOnly(false); 68 | ((MP4BytesProperty*)m_pProperties[5])-> 69 | SetValue(reserved3, sizeof(reserved3)); 70 | m_pProperties[5]->SetReadOnly(true); 71 | 72 | // property reserved4 has non-zero fixed values 73 | static u_int8_t reserved4[4] = { 74 | 0x00, 0x18, 0xFF, 0xFF, 75 | }; 76 | m_pProperties[7]->SetReadOnly(false); 77 | ((MP4BytesProperty*)m_pProperties[7])-> 78 | SetValue(reserved4, sizeof(reserved4)); 79 | m_pProperties[7]->SetReadOnly(true); 80 | } 81 | 82 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_avc1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_avc1.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_avcC.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_avcC.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_d263.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 "mp4common.h" 29 | 30 | #define H263_VENDOR 0x6d346970 31 | 32 | MP4D263Atom::MP4D263Atom() 33 | : MP4Atom("d263") 34 | { 35 | AddProperty( /* 0 */ 36 | new MP4Integer32Property("vendor")); 37 | 38 | AddProperty( /* 1 */ 39 | new MP4Integer8Property("decoderVersion")); 40 | 41 | AddProperty( /* 2 */ 42 | new MP4Integer8Property("h263Level")); 43 | 44 | AddProperty( /* 3 */ 45 | new MP4Integer8Property("h263Profile")); 46 | 47 | ExpectChildAtom("bitr", Optional, OnlyOne); 48 | 49 | } 50 | 51 | void MP4D263Atom::Generate() 52 | { 53 | MP4Atom::Generate(); 54 | 55 | ((MP4Integer32Property*)m_pProperties[0])->SetValue(H263_VENDOR); 56 | ((MP4Integer8Property*)m_pProperties[1])->SetValue(1); 57 | 58 | } 59 | 60 | void MP4D263Atom::Write() 61 | { 62 | // Check whether we have valid values in the bitr atom 63 | // (if it exists, of course) 64 | MP4Atom* bitrAtom = FindAtom("d263.bitr"); 65 | if (bitrAtom) { 66 | u_int32_t avgBitrate; 67 | u_int32_t maxBitrate; 68 | 69 | MP4Integer32Property* pProp; 70 | bitrAtom->FindProperty("bitr.avgBitrate", 71 | (MP4Property**)&pProp, 72 | NULL); 73 | ASSERT(pProp); 74 | avgBitrate = pProp->GetValue(); 75 | 76 | bitrAtom->FindProperty("bitr.maxBitrate", 77 | (MP4Property**)&pProp, 78 | NULL); 79 | ASSERT(pProp); 80 | maxBitrate = pProp->GetValue(); 81 | 82 | if(!maxBitrate && !avgBitrate) { 83 | DeleteChildAtom(bitrAtom); 84 | } 85 | } 86 | 87 | MP4Atom::Write(); 88 | } 89 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_d263.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_d263.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 29 | 30 | #define AMR_VENDOR 0x6d346970 31 | 32 | MP4DamrAtom::MP4DamrAtom() 33 | : MP4Atom("damr") 34 | { 35 | AddProperty( /* 0 */ 36 | new MP4Integer32Property("vendor")); 37 | 38 | AddProperty( /* 1 */ 39 | new MP4Integer8Property("decoderVersion")); 40 | 41 | AddProperty( /* 2 */ 42 | new MP4Integer16Property("modeSet")); 43 | 44 | AddProperty( /* 3 */ 45 | new MP4Integer8Property("modeChangePeriod")); 46 | 47 | AddProperty( /* 4 */ 48 | new MP4Integer8Property("framesPerSample")); 49 | 50 | } 51 | 52 | void MP4DamrAtom::Generate() 53 | { 54 | MP4Atom::Generate(); 55 | 56 | ((MP4Integer32Property*)m_pProperties[0])->SetValue(AMR_VENDOR); 57 | ((MP4Integer8Property*)m_pProperties[1])->SetValue(1); 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_damr.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_damr.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4DrefAtom::MP4DrefAtom() 25 | : MP4Atom("dref") 26 | { 27 | AddVersionAndFlags(); 28 | 29 | MP4Integer32Property* pCount = 30 | new MP4Integer32Property("entryCount"); 31 | pCount->SetReadOnly(); 32 | AddProperty(pCount); 33 | 34 | ExpectChildAtom("url ", Optional, Many); 35 | ExpectChildAtom("urn ", Optional, Many); 36 | ExpectChildAtom("alis", Optional, Many); 37 | } 38 | 39 | void MP4DrefAtom::Read() 40 | { 41 | /* do the usual read */ 42 | MP4Atom::Read(); 43 | 44 | // check that number of children == entryCount 45 | MP4Integer32Property* pCount = 46 | (MP4Integer32Property*)m_pProperties[2]; 47 | 48 | if (m_pChildAtoms.Size() != pCount->GetValue()) { 49 | VERBOSE_READ(GetVerbosity(), 50 | MP4Printf("Warning: dref inconsistency with number of entries")); 51 | 52 | /* fix it */ 53 | pCount->SetReadOnly(false); 54 | pCount->SetValue(m_pChildAtoms.Size()); 55 | pCount->SetReadOnly(true); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_dref.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_dref.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_elst.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 "mp4common.h" 23 | 24 | MP4ElstAtom::MP4ElstAtom() 25 | : MP4Atom("elst") 26 | { 27 | AddVersionAndFlags(); 28 | 29 | MP4Integer32Property* pCount = 30 | new MP4Integer32Property("entryCount"); 31 | AddProperty(pCount); 32 | 33 | MP4TableProperty* pTable = new MP4TableProperty("entries", pCount); 34 | AddProperty(pTable); 35 | } 36 | 37 | void MP4ElstAtom::AddProperties(u_int8_t version) 38 | { 39 | MP4TableProperty* pTable = (MP4TableProperty*)m_pProperties[3]; 40 | 41 | if (version == 1) { 42 | pTable->AddProperty( 43 | new MP4Integer64Property("segmentDuration")); 44 | pTable->AddProperty( 45 | new MP4Integer64Property("mediaTime")); 46 | } else { 47 | pTable->AddProperty( 48 | new MP4Integer32Property("segmentDuration")); 49 | pTable->AddProperty( 50 | new MP4Integer32Property("mediaTime")); 51 | } 52 | 53 | pTable->AddProperty( 54 | new MP4Integer16Property("mediaRate")); 55 | pTable->AddProperty( 56 | new MP4Integer16Property("reserved")); 57 | } 58 | 59 | void MP4ElstAtom::Generate() 60 | { 61 | SetVersion(0); 62 | AddProperties(GetVersion()); 63 | 64 | MP4Atom::Generate(); 65 | } 66 | 67 | void MP4ElstAtom::Read() 68 | { 69 | /* read atom version */ 70 | ReadProperties(0, 1); 71 | 72 | /* need to create the properties based on the atom version */ 73 | AddProperties(GetVersion()); 74 | 75 | /* now we can read the remaining properties */ 76 | ReadProperties(1); 77 | 78 | Skip(); // to end of atom 79 | } 80 | 81 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_elst.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_elst.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 24 | 25 | MP4EncaAtom::MP4EncaAtom() 26 | : MP4Atom("enca") 27 | { 28 | AddReserved("reserved1", 6); /* 0 */ 29 | 30 | AddProperty( /* 1 */ 31 | new MP4Integer16Property("dataReferenceIndex")); 32 | 33 | AddReserved("reserved2", 16); /* 2 */ 34 | 35 | AddProperty( /* 3 */ 36 | new MP4Integer16Property("timeScale")); 37 | 38 | AddReserved("reserved3", 2); /* 4 */ 39 | 40 | ExpectChildAtom("esds", Required, OnlyOne); 41 | ExpectChildAtom("sinf", Required, OnlyOne); 42 | } 43 | 44 | void MP4EncaAtom::Generate() 45 | { 46 | MP4Atom::Generate(); 47 | 48 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 49 | 50 | // property reserved2 has non-zero fixed values 51 | static u_int8_t reserved2[16] = { 52 | 0x00, 0x00, 0x00, 0x00, 53 | 0x00, 0x00, 0x00, 0x00, 54 | 0x00, 0x02, 0x00, 0x10, 55 | 0x00, 0x00, 0x00, 0x00, 56 | }; 57 | m_pProperties[2]->SetReadOnly(false); 58 | ((MP4BytesProperty*)m_pProperties[2])-> 59 | SetValue(reserved2, sizeof(reserved2)); 60 | m_pProperties[2]->SetReadOnly(true); 61 | } 62 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_enca.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_enca.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_encv.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 "mp4common.h" 24 | 25 | MP4EncvAtom::MP4EncvAtom() 26 | : MP4Atom("encv") 27 | { 28 | AddReserved("reserved1", 6); /* 0 */ 29 | 30 | AddProperty( /* 1 */ 31 | new MP4Integer16Property("dataReferenceIndex")); 32 | 33 | AddReserved("reserved2", 16); /* 2 */ 34 | 35 | AddProperty( /* 3 */ 36 | new MP4Integer16Property("width")); 37 | AddProperty( /* 4 */ 38 | new MP4Integer16Property("height")); 39 | 40 | AddReserved("reserved3", 14); /* 5 */ 41 | 42 | MP4StringProperty* pProp = 43 | new MP4StringProperty("compressorName"); 44 | pProp->SetFixedLength(32); 45 | pProp->SetValue(""); 46 | AddProperty(pProp); /* 6 */ 47 | AddReserved("reserved4", 4); /* 7 */ 48 | 49 | ExpectChildAtom("esds", Required, OnlyOne); 50 | ExpectChildAtom("sinf", Required, OnlyOne); 51 | ExpectChildAtom("avcC", Optional, OnlyOne); 52 | } 53 | 54 | void MP4EncvAtom::Generate() 55 | { 56 | MP4Atom::Generate(); 57 | 58 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 59 | 60 | // property reserved3 has non-zero fixed values 61 | static u_int8_t reserved3[14] = { 62 | 0x00, 0x48, 0x00, 0x00, 63 | 0x00, 0x48, 0x00, 0x00, 64 | 0x00, 0x00, 0x00, 0x00, 65 | 0x00, 0x01, 66 | }; 67 | m_pProperties[5]->SetReadOnly(false); 68 | ((MP4BytesProperty*)m_pProperties[5])-> 69 | SetValue(reserved3, sizeof(reserved3)); 70 | m_pProperties[5]->SetReadOnly(true); 71 | 72 | // property reserved4 has non-zero fixed values 73 | static u_int8_t reserved4[4] = { 74 | 0x00, 0x18, 0xFF, 0xFF, 75 | }; 76 | m_pProperties[7]->SetReadOnly(false); 77 | ((MP4BytesProperty*)m_pProperties[7])-> 78 | SetValue(reserved4, sizeof(reserved4)); 79 | m_pProperties[7]->SetReadOnly(true); 80 | } 81 | 82 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_encv.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_encv.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4FreeAtom::MP4FreeAtom() 25 | : MP4Atom("free") 26 | { 27 | } 28 | 29 | void MP4FreeAtom::Read() 30 | { 31 | Skip(); 32 | } 33 | 34 | void MP4FreeAtom::Write() 35 | { 36 | ASSERT(m_pFile); 37 | 38 | bool use64 = (GetSize() > (0xFFFFFFFF - 8)); 39 | BeginWrite(use64); 40 | #if 1 41 | for (uint64_t ix = 0; ix < GetSize(); ix++) { 42 | m_pFile->WriteUInt8(0); 43 | } 44 | #else 45 | m_pFile->SetPosition(m_pFile->GetPosition() + GetSize()); 46 | #endif 47 | FinishWrite(use64); 48 | } 49 | 50 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_free.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_free.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4FtypAtom::MP4FtypAtom() 25 | : MP4Atom("ftyp") 26 | { 27 | MP4StringProperty* pProp = new MP4StringProperty("majorBrand"); 28 | pProp->SetFixedLength(4); 29 | AddProperty(pProp); /* 0 */ 30 | 31 | AddProperty( /* 1 */ 32 | new MP4Integer32Property("minorVersion")); 33 | 34 | MP4Integer32Property* pCount = 35 | new MP4Integer32Property("compatibleBrandsCount"); 36 | pCount->SetImplicit(); 37 | AddProperty(pCount); /* 2 */ 38 | 39 | MP4TableProperty* pTable = 40 | new MP4TableProperty("compatibleBrands", pCount); 41 | AddProperty(pTable); /* 3 */ 42 | 43 | pProp = new MP4StringProperty("brand"); 44 | pProp->SetFixedLength(4); 45 | pTable->AddProperty(pProp); 46 | } 47 | 48 | void MP4FtypAtom::Generate() 49 | { 50 | MP4Atom::Generate(); 51 | 52 | ((MP4StringProperty*)m_pProperties[0])->SetValue("mp42"); 53 | 54 | MP4StringProperty* pBrandProperty = (MP4StringProperty*) 55 | ((MP4TableProperty*)m_pProperties[3])->GetProperty(0); 56 | ASSERT(pBrandProperty); 57 | pBrandProperty->AddValue("mp42"); 58 | pBrandProperty->AddValue("isom"); 59 | ((MP4Integer32Property*)m_pProperties[2])->IncrementValue(); 60 | ((MP4Integer32Property*)m_pProperties[2])->IncrementValue(); 61 | } 62 | 63 | void MP4FtypAtom::Read() 64 | { 65 | // table entry count computed from atom size 66 | ((MP4Integer32Property*)m_pProperties[2])->SetReadOnly(false); 67 | ((MP4Integer32Property*)m_pProperties[2])->SetValue((m_size - 8) / 4); 68 | ((MP4Integer32Property*)m_pProperties[2])->SetReadOnly(true); 69 | 70 | MP4Atom::Read(); 71 | } 72 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_ftyp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_ftyp.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 21 | 22 | MP4GminAtom::MP4GminAtom() 23 | : MP4Atom("gmin") 24 | { 25 | 26 | AddVersionAndFlags(); /* 0, 1 */ 27 | 28 | AddProperty(new MP4Integer16Property("graphicsMode")); /* 2 */ 29 | AddProperty(new MP4Integer16Property("opColorRed")); /* 3 */ 30 | AddProperty(new MP4Integer16Property("opColorGreen")); /* 4 */ 31 | AddProperty(new MP4Integer16Property("opColorBlue")); /* 5 */ 32 | AddProperty(new MP4Integer16Property("balance")); /* 6 */ 33 | AddReserved("reserved", 2); /* 7 */ 34 | 35 | } 36 | 37 | void MP4GminAtom::Generate() 38 | { 39 | 40 | MP4Atom::Generate(); 41 | 42 | ((MP4Integer16Property*)m_pProperties[2])->SetValue(0x0040); 43 | ((MP4Integer16Property*)m_pProperties[3])->SetValue(0x8000); 44 | ((MP4Integer16Property*)m_pProperties[4])->SetValue(0x8000); 45 | ((MP4Integer16Property*)m_pProperties[5])->SetValue(0x8000); 46 | ((MP4Integer16Property*)m_pProperties[6])->SetValue(0x0000); 47 | 48 | } 49 | 50 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_gmin.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_gmin.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_hdlr.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 "mp4common.h" 23 | 24 | MP4HdlrAtom::MP4HdlrAtom() 25 | : MP4Atom("hdlr") 26 | { 27 | AddVersionAndFlags(); /* 0, 1 */ 28 | AddReserved("reserved1", 4); /* 2 */ 29 | MP4StringProperty* pProp = new MP4StringProperty("handlerType"); 30 | pProp->SetFixedLength(4); 31 | AddProperty(pProp); /* 3 */ 32 | AddReserved("reserved2", 12); /* 4 */ 33 | AddProperty( /* 5 */ 34 | new MP4StringProperty("name")); 35 | } 36 | 37 | // There is a spec incompatiblity between QT and MP4 38 | // QT says name field is a counted string 39 | // MP4 says name field is a null terminated string 40 | // Here we attempt to make all things work 41 | void MP4HdlrAtom::Read() 42 | { 43 | // read all the properties but the "name" field 44 | ReadProperties(0, 5); 45 | uint64_t pos = m_pFile->GetPosition(); 46 | uint64_t end = GetEnd(); 47 | if (pos == end) return; 48 | 49 | // take a peek at the next byte 50 | u_int8_t strLength; 51 | m_pFile->PeekBytes(&strLength, 1); 52 | // if the value matches the remaining atom length 53 | if (pos + strLength + 1 == end) { 54 | // read a counted string 55 | MP4StringProperty* pNameProp = 56 | (MP4StringProperty*)m_pProperties[5]; 57 | pNameProp->SetCountedFormat(true); 58 | ReadProperties(5); 59 | pNameProp->SetCountedFormat(false); 60 | } else { 61 | // read a null terminated string 62 | ReadProperties(5); 63 | } 64 | 65 | Skip(); // to end of atom 66 | } 67 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_hdlr.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_hdlr.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4HinfAtom::MP4HinfAtom() 25 | : MP4Atom("hinf") 26 | { 27 | ExpectChildAtom("trpy", Optional, OnlyOne); 28 | ExpectChildAtom("nump", Optional, OnlyOne); 29 | ExpectChildAtom("tpyl", Optional, OnlyOne); 30 | ExpectChildAtom("maxr", Optional, Many); 31 | ExpectChildAtom("dmed", Optional, OnlyOne); 32 | ExpectChildAtom("dimm", Optional, OnlyOne); 33 | ExpectChildAtom("drep", Optional, OnlyOne); 34 | ExpectChildAtom("tmin", Optional, OnlyOne); 35 | ExpectChildAtom("tmax", Optional, OnlyOne); 36 | ExpectChildAtom("pmax", Optional, OnlyOne); 37 | ExpectChildAtom("dmax", Optional, OnlyOne); 38 | ExpectChildAtom("payt", Optional, OnlyOne); 39 | } 40 | 41 | void MP4HinfAtom::Generate() 42 | { 43 | // hinf is special in that although all it's child atoms 44 | // are optional (on read), if we generate it for writing 45 | // we really want all the children 46 | 47 | for (u_int32_t i = 0; i < m_pChildAtomInfos.Size(); i++) { 48 | MP4Atom* pChildAtom = 49 | CreateAtom(m_pChildAtomInfos[i]->m_name); 50 | 51 | AddChildAtom(pChildAtom); 52 | 53 | // and ask it to self generate 54 | pChildAtom->Generate(); 55 | } 56 | } 57 | 58 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_hinf.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_hinf.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4HntiAtom::MP4HntiAtom() 25 | : MP4Atom("hnti") 26 | { 27 | } 28 | 29 | void MP4HntiAtom::Read() 30 | { 31 | MP4Atom* grandParent = m_pParentAtom->GetParentAtom(); 32 | ASSERT(grandParent); 33 | if (ATOMID(grandParent->GetType()) == ATOMID("trak")) { 34 | ExpectChildAtom("sdp ", Optional, OnlyOne); 35 | } else { 36 | ExpectChildAtom("rtp ", Optional, OnlyOne); 37 | } 38 | 39 | MP4Atom::Read(); 40 | } 41 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_hnti.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_hnti.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4HrefAtom::MP4HrefAtom() 25 | : MP4Atom("href") 26 | { 27 | AddReserved("reserved1", 6); /* 0 */ 28 | 29 | AddProperty( /* 1 */ 30 | new MP4Integer16Property("dataReferenceIndex")); 31 | ExpectChildAtom("burl", Optional, OnlyOne); 32 | } 33 | 34 | void MP4HrefAtom::Generate() 35 | { 36 | MP4Atom::Generate(); 37 | 38 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_href.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_href.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4MdatAtom::MP4MdatAtom() 25 | : MP4Atom("mdat") 26 | { 27 | } 28 | 29 | void MP4MdatAtom::Read() 30 | { 31 | Skip(); 32 | } 33 | 34 | void MP4MdatAtom::Write() 35 | { 36 | // should never get here 37 | ASSERT(false); 38 | } 39 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_mdat.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_mdat.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_mdhd.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 "mp4common.h" 23 | 24 | MP4MdhdAtom::MP4MdhdAtom() 25 | : MP4Atom("mdhd") 26 | { 27 | AddVersionAndFlags(); 28 | } 29 | 30 | void MP4MdhdAtom::AddProperties(u_int8_t version) 31 | { 32 | if (version == 1) { 33 | AddProperty( 34 | new MP4Integer64Property("creationTime")); 35 | AddProperty( 36 | new MP4Integer64Property("modificationTime")); 37 | } else { 38 | AddProperty( 39 | new MP4Integer32Property("creationTime")); 40 | AddProperty( 41 | new MP4Integer32Property("modificationTime")); 42 | } 43 | 44 | AddProperty( 45 | new MP4Integer32Property("timeScale")); 46 | 47 | if (version == 1) { 48 | AddProperty( 49 | new MP4Integer64Property("duration")); 50 | } else { 51 | AddProperty( 52 | new MP4Integer32Property("duration")); 53 | } 54 | 55 | AddProperty( 56 | new MP4Integer16Property("language")); 57 | AddReserved("reserved", 2); 58 | } 59 | 60 | void MP4MdhdAtom::Generate() 61 | { 62 | u_int8_t version = m_pFile->Use64Bits(GetType()) ? 1 : 0; 63 | SetVersion(version); 64 | AddProperties(version); 65 | 66 | MP4Atom::Generate(); 67 | 68 | // set creation and modification times 69 | MP4Timestamp now = MP4GetAbsTimestamp(); 70 | if (version == 1) { 71 | ((MP4Integer64Property*)m_pProperties[2])->SetValue(now); 72 | ((MP4Integer64Property*)m_pProperties[3])->SetValue(now); 73 | } else { 74 | ((MP4Integer32Property*)m_pProperties[2])->SetValue(now); 75 | ((MP4Integer32Property*)m_pProperties[3])->SetValue(now); 76 | } 77 | } 78 | 79 | void MP4MdhdAtom::Read() 80 | { 81 | /* read atom version */ 82 | ReadProperties(0, 1); 83 | 84 | /* need to create the properties based on the atom version */ 85 | AddProperties(GetVersion()); 86 | 87 | /* now we can read the remaining properties */ 88 | ReadProperties(1); 89 | 90 | Skip(); // to end of atom 91 | } 92 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_mdhd.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_mdhd.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_meta.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 | * M. Bakker mbakker at nero.com 20 | * 21 | * Apple iTunes META data 22 | */ 23 | 24 | #include "mp4common.h" 25 | 26 | MP4Meta1Atom::MP4Meta1Atom(const char *name) 27 | : MP4Atom(name) 28 | { 29 | AddVersionAndFlags(); /* 0, 1 */ 30 | 31 | AddProperty(new MP4BytesProperty("metadata")); /* 2 */ 32 | } 33 | 34 | void MP4Meta1Atom::Read() 35 | { 36 | // calculate size of the metadata from the atom size 37 | ((MP4BytesProperty*)m_pProperties[2])->SetValueSize(m_size - 4); 38 | 39 | MP4Atom::Read(); 40 | } 41 | 42 | MP4DataAtom::MP4DataAtom() 43 | : MP4Atom("data") 44 | { 45 | AddVersionAndFlags(); /* 0, 1 */ 46 | AddReserved("reserved2", 4); /* 2 */ 47 | 48 | AddProperty( 49 | new MP4BytesProperty("metadata")); /* 3 */ 50 | } 51 | 52 | void MP4DataAtom::Read() 53 | { 54 | // calculate size of the metadata from the atom size 55 | ((MP4BytesProperty*)m_pProperties[3])->SetValueSize(m_size - 8); 56 | 57 | MP4Atom::Read(); 58 | } 59 | 60 | 61 | // MP4Meta2Atom is for \251nam and \251cmt flags, which appear differently 62 | // in .mov and in itunes file. In .movs, they appear under udata, in 63 | // itunes, they appear under ilst. 64 | MP4Meta2Atom::MP4Meta2Atom (const char *name) : MP4Atom(name) 65 | { 66 | } 67 | 68 | void MP4Meta2Atom::Read () 69 | { 70 | MP4Atom *parent = GetParentAtom(); 71 | if (ATOMID(parent->GetType()) == ATOMID("udta")) { 72 | // add data property 73 | AddReserved("reserved2", 4); /* 0 */ 74 | 75 | AddProperty( 76 | new MP4BytesProperty("metadata")); /* 1 */ 77 | ((MP4BytesProperty*)m_pProperties[1])->SetValueSize(m_size - 4); 78 | } else { 79 | ExpectChildAtom("data", Required, OnlyOne); 80 | } 81 | MP4Atom::Read(); 82 | } 83 | 84 | 85 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_meta.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_meta.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_mp4a.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 "mp4common.h" 23 | 24 | MP4Mp4aAtom::MP4Mp4aAtom() 25 | : MP4Atom("mp4a") 26 | { 27 | AddReserved("reserved1", 6); /* 0 */ 28 | 29 | AddProperty( /* 1 */ 30 | new MP4Integer16Property("dataReferenceIndex")); 31 | 32 | AddReserved("reserved2", 16); /* 2 */ 33 | 34 | AddProperty( /* 3 */ 35 | new MP4Integer16Property("timeScale")); 36 | 37 | AddReserved("reserved3", 2); /* 4 */ 38 | 39 | ExpectChildAtom("esds", Required, OnlyOne); 40 | } 41 | 42 | void MP4Mp4aAtom::Generate() 43 | { 44 | MP4Atom::Generate(); 45 | 46 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 47 | 48 | // property reserved2 has non-zero fixed values 49 | static u_int8_t reserved2[16] = { 50 | 0x00, 0x00, 0x00, 0x00, 51 | 0x00, 0x00, 0x00, 0x00, 52 | 0x00, 0x02, 0x00, 0x10, 53 | 0x00, 0x00, 0x00, 0x00, 54 | }; 55 | m_pProperties[2]->SetReadOnly(false); 56 | ((MP4BytesProperty*)m_pProperties[2])-> 57 | SetValue(reserved2, sizeof(reserved2)); 58 | m_pProperties[2]->SetReadOnly(true); 59 | } 60 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4Mp4sAtom::MP4Mp4sAtom() 25 | : MP4Atom("mp4s") 26 | { 27 | AddReserved("reserved1", 6); 28 | AddProperty( 29 | new MP4Integer16Property("dataReferenceIndex")); 30 | 31 | ExpectChildAtom("esds", Required, OnlyOne); 32 | } 33 | 34 | void MP4Mp4sAtom::Generate() 35 | { 36 | MP4Atom::Generate(); 37 | 38 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 39 | } 40 | 41 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_mp4s.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_mp4s.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_mp4v.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 "mp4common.h" 23 | 24 | MP4Mp4vAtom::MP4Mp4vAtom() 25 | : MP4Atom("mp4v") 26 | { 27 | AddReserved("reserved1", 6); /* 0 */ 28 | 29 | AddProperty( /* 1 */ 30 | new MP4Integer16Property("dataReferenceIndex")); 31 | 32 | AddReserved("reserved2", 16); /* 2 */ 33 | 34 | AddProperty( /* 3 */ 35 | new MP4Integer16Property("width")); 36 | AddProperty( /* 4 */ 37 | new MP4Integer16Property("height")); 38 | 39 | AddReserved("reserved3", 14); /* 5 */ 40 | 41 | MP4StringProperty* pProp = 42 | new MP4StringProperty("compressorName"); 43 | pProp->SetFixedLength(32); 44 | pProp->SetValue(""); 45 | AddProperty(pProp); /* 6 */ 46 | 47 | AddReserved("reserved4", 4); /* 7 */ 48 | 49 | ExpectChildAtom("esds", Required, OnlyOne); 50 | } 51 | 52 | void MP4Mp4vAtom::Generate() 53 | { 54 | MP4Atom::Generate(); 55 | 56 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 57 | 58 | // property reserved3 has non-zero fixed values 59 | static u_int8_t reserved3[14] = { 60 | 0x00, 0x48, 0x00, 0x00, 61 | 0x00, 0x48, 0x00, 0x00, 62 | 0x00, 0x00, 0x00, 0x00, 63 | 0x00, 0x01, 64 | }; 65 | m_pProperties[5]->SetReadOnly(false); 66 | ((MP4BytesProperty*)m_pProperties[5])-> 67 | SetValue(reserved3, sizeof(reserved3)); 68 | m_pProperties[5]->SetReadOnly(true); 69 | 70 | // property reserved4 has non-zero fixed values 71 | static u_int8_t reserved4[4] = { 72 | 0x00, 0x18, 0xFF, 0xFF, 73 | }; 74 | m_pProperties[7]->SetReadOnly(false); 75 | ((MP4BytesProperty*)m_pProperties[7])-> 76 | SetValue(reserved4, sizeof(reserved4)); 77 | m_pProperties[7]->SetReadOnly(true); 78 | } 79 | 80 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_mp4v.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_mp4v.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_mvhd.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_mvhd.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_ohdr.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_ohdr.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_root.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_root.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_rtp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_rtp.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_s263.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 "mp4common.h" 29 | 30 | MP4S263Atom::MP4S263Atom() 31 | : MP4Atom("s263") 32 | { 33 | AddReserved("reserved1", 6); /* 0 */ 34 | 35 | AddProperty( /* 1 */ 36 | new MP4Integer16Property("dataReferenceIndex")); 37 | 38 | AddReserved("reserved2", 16); /* 2 */ 39 | 40 | AddProperty( /* 3 */ 41 | new MP4Integer16Property("width")); 42 | 43 | AddProperty( /* 4 */ 44 | new MP4Integer16Property("height")); 45 | 46 | AddReserved("reserved3", 50); /* 5 */ 47 | 48 | 49 | ExpectChildAtom("d263", Required, OnlyOne); 50 | } 51 | 52 | void MP4S263Atom::Generate() 53 | { 54 | MP4Atom::Generate(); 55 | 56 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 57 | 58 | // property reserved2 has non-zero fixed values 59 | static u_int8_t reserved3[50] = { 60 | 0x00, 0x48, 0x00, 0x00, 61 | 0x00, 0x48, 0x00, 0x00, 62 | 0x00, 0x00, 0x00, 0x00, 63 | 0x00, 0x01, 0x00, 0x00, 64 | 0x00, 0x00, 0x00, 0x00, 65 | 0x00, 0x00, 0x00, 0x00, 66 | 0x00, 0x00, 0x00, 0x00, 67 | 0x00, 0x00, 0x00, 0x00, 68 | 0x00, 0x00, 0x00, 0x00, 69 | 0x00, 0x00, 0x00, 0x00, 70 | 0x00, 0x00, 0x00, 0x00, 71 | 0x00, 0x00, 0x00, 0x24, 72 | 0xFF, 0xFF 73 | }; 74 | m_pProperties[5]->SetReadOnly(false); 75 | ((MP4BytesProperty*)m_pProperties[5])-> 76 | SetValue(reserved3, sizeof(reserved3)); 77 | m_pProperties[5]->SetReadOnly(true); 78 | } 79 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_s263.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_s263.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4SdpAtom::MP4SdpAtom() : MP4Atom("sdp ") 25 | { 26 | AddProperty( 27 | new MP4StringProperty("sdpText")); 28 | } 29 | 30 | void MP4SdpAtom::Read() 31 | { 32 | // read sdp string, length is implicit in size of atom 33 | u_int64_t size = GetEnd() - m_pFile->GetPosition(); 34 | char* data = (char*)MP4Malloc(size + 1); 35 | ASSERT(data != NULL); 36 | m_pFile->ReadBytes((u_int8_t*)data, size); 37 | data[size] = '\0'; 38 | ((MP4StringProperty*)m_pProperties[0])->SetValue(data); 39 | MP4Free(data); 40 | } 41 | 42 | void MP4SdpAtom::Write() 43 | { 44 | // since length of string is implicit in size of atom 45 | // we need to handle this specially, and not write the terminating \0 46 | MP4StringProperty* pSdp = (MP4StringProperty*)m_pProperties[0]; 47 | const char* sdpText = pSdp->GetValue(); 48 | if (sdpText) { 49 | pSdp->SetFixedLength(strlen(sdpText)); 50 | } 51 | MP4Atom::Write(); 52 | pSdp->SetFixedLength(0); 53 | } 54 | 55 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_sdp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_sdp.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 25 | 26 | MP4SmiAtom::MP4SmiAtom() 27 | : MP4Atom("meta") 28 | { 29 | 30 | AddProperty( new MP4BytesProperty("metadata")); 31 | 32 | } 33 | 34 | void MP4SmiAtom::Read() 35 | { 36 | // calculate size of the metadata from the atom size 37 | ((MP4BytesProperty*)m_pProperties[0])->SetValueSize(m_size); 38 | 39 | MP4Atom::Read(); 40 | } 41 | 42 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_smi.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_smi.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_sound.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_sound.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_standard.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_standard.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4StblAtom::MP4StblAtom() 25 | : MP4Atom("stbl") 26 | { 27 | ExpectChildAtom("stsd", Required, OnlyOne); 28 | ExpectChildAtom("stts", Required, OnlyOne); 29 | ExpectChildAtom("ctts", Optional, OnlyOne); 30 | ExpectChildAtom("stsz", Required, OnlyOne); 31 | ExpectChildAtom("stz2", Optional, OnlyOne); 32 | ExpectChildAtom("stsc", Required, OnlyOne); 33 | ExpectChildAtom("stco", Optional, OnlyOne); 34 | ExpectChildAtom("co64", Optional, OnlyOne); 35 | ExpectChildAtom("stss", Optional, OnlyOne); 36 | ExpectChildAtom("stsh", Optional, OnlyOne); 37 | ExpectChildAtom("stdp", Optional, OnlyOne); 38 | } 39 | 40 | void MP4StblAtom::Generate() 41 | { 42 | // as usual 43 | MP4Atom::Generate(); 44 | 45 | // but we also need one of the chunk offset atoms 46 | MP4Atom* pChunkOffsetAtom; 47 | if (m_pFile->Use64Bits(GetType())) { 48 | pChunkOffsetAtom = CreateAtom("co64"); 49 | } else { 50 | pChunkOffsetAtom = CreateAtom("stco"); 51 | } 52 | 53 | AddChildAtom(pChunkOffsetAtom); 54 | 55 | // and ask it to self generate 56 | pChunkOffsetAtom->Generate(); 57 | } 58 | 59 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_stbl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_stbl.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4StdpAtom::MP4StdpAtom() 25 | : MP4Atom("stdp") 26 | { 27 | AddVersionAndFlags(); 28 | 29 | MP4Integer32Property* pCount = 30 | new MP4Integer32Property("entryCount"); 31 | pCount->SetImplicit(); 32 | AddProperty(pCount); 33 | 34 | MP4TableProperty* pTable = new MP4TableProperty("entries", pCount); 35 | AddProperty(pTable); 36 | 37 | pTable->AddProperty( 38 | new MP4Integer16Property("priority")); 39 | } 40 | 41 | void MP4StdpAtom::Read() 42 | { 43 | // table entry count computed from atom size 44 | ((MP4Integer32Property*)m_pProperties[2])->SetReadOnly(false); 45 | ((MP4Integer32Property*)m_pProperties[2])->SetValue((m_size - 4) / 2); 46 | ((MP4Integer32Property*)m_pProperties[2])->SetReadOnly(true); 47 | 48 | MP4Atom::Read(); 49 | } 50 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_stdp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_stdp.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_stsc.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 "mp4common.h" 23 | 24 | MP4StscAtom::MP4StscAtom() 25 | : MP4Atom("stsc") 26 | { 27 | AddVersionAndFlags(); 28 | 29 | MP4Integer32Property* pCount = 30 | new MP4Integer32Property("entryCount"); 31 | AddProperty(pCount); 32 | 33 | MP4TableProperty* pTable = new MP4TableProperty("entries", pCount); 34 | AddProperty(pTable); 35 | 36 | pTable->AddProperty( 37 | new MP4Integer32Property("firstChunk")); 38 | pTable->AddProperty( 39 | new MP4Integer32Property("samplesPerChunk")); 40 | pTable->AddProperty( 41 | new MP4Integer32Property("sampleDescriptionIndex")); 42 | 43 | // As an optimization we add an implicit property to this table, 44 | // "firstSample" that corresponds to the first sample of the firstChunk 45 | MP4Integer32Property* pSample = 46 | new MP4Integer32Property("firstSample"); 47 | pSample->SetImplicit(); 48 | pTable->AddProperty(pSample); 49 | } 50 | 51 | void MP4StscAtom::Read() 52 | { 53 | // Read as usual 54 | MP4Atom::Read(); 55 | 56 | // Compute the firstSample values for later use 57 | u_int32_t count = 58 | ((MP4Integer32Property*)m_pProperties[2])->GetValue(); 59 | 60 | MP4Integer32Property* pFirstChunk = (MP4Integer32Property*) 61 | ((MP4TableProperty*)m_pProperties[3])->GetProperty(0); 62 | MP4Integer32Property* pSamplesPerChunk = (MP4Integer32Property*) 63 | ((MP4TableProperty*)m_pProperties[3])->GetProperty(1); 64 | MP4Integer32Property* pFirstSample = (MP4Integer32Property*) 65 | ((MP4TableProperty*)m_pProperties[3])->GetProperty(3); 66 | 67 | MP4SampleId sampleId = 1; 68 | 69 | for (u_int32_t i = 0; i < count; i++) { 70 | pFirstSample->SetValue(sampleId, i); 71 | 72 | if (i < count - 1) { 73 | sampleId += 74 | (pFirstChunk->GetValue(i+1) - pFirstChunk->GetValue(i)) 75 | * pSamplesPerChunk->GetValue(i); 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_stsc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_stsc.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_stsd.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 - 2004. 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 | * Dave Mackie dmackie@cisco.com 26 | * Alix Marchandise-Franquet alix@cisco.com 27 | * Ximpo Group Ltd. mp4v2@ximpo.com 28 | */ 29 | 30 | #include "mp4common.h" 31 | 32 | MP4StsdAtom::MP4StsdAtom() 33 | : MP4Atom("stsd") 34 | { 35 | AddVersionAndFlags(); 36 | 37 | MP4Integer32Property* pCount = 38 | new MP4Integer32Property("entryCount"); 39 | pCount->SetReadOnly(); 40 | AddProperty(pCount); 41 | 42 | ExpectChildAtom("mp4a", Optional, Many); 43 | ExpectChildAtom("enca", Optional, Many); 44 | ExpectChildAtom("mp4s", Optional, Many); 45 | ExpectChildAtom("mp4v", Optional, Many); 46 | ExpectChildAtom("encv", Optional, Many); 47 | ExpectChildAtom("rtp ", Optional, Many); 48 | ExpectChildAtom("samr", Optional, Many); // For AMR-NB 49 | ExpectChildAtom("sawb", Optional, Many); // For AMR-WB 50 | ExpectChildAtom("s263", Optional, Many); // For H.263 51 | ExpectChildAtom("avc1", Optional, Many); 52 | ExpectChildAtom("alac", Optional, Many); 53 | ExpectChildAtom("text", Optional, Many); 54 | } 55 | 56 | void MP4StsdAtom::Read() 57 | { 58 | /* do the usual read */ 59 | MP4Atom::Read(); 60 | 61 | // check that number of children == entryCount 62 | MP4Integer32Property* pCount = 63 | (MP4Integer32Property*)m_pProperties[2]; 64 | 65 | if (m_pChildAtoms.Size() != pCount->GetValue()) { 66 | VERBOSE_READ(GetVerbosity(), 67 | printf("Warning: stsd inconsistency with number of entries")); 68 | 69 | /* fix it */ 70 | pCount->SetReadOnly(false); 71 | pCount->SetValue(m_pChildAtoms.Size()); 72 | pCount->SetReadOnly(true); 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_stsd.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_stsd.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4StszAtom::MP4StszAtom() 25 | : MP4Atom("stsz") 26 | { 27 | AddVersionAndFlags(); /* 0, 1 */ 28 | 29 | AddProperty( /* 2 */ 30 | new MP4Integer32Property("sampleSize")); 31 | 32 | MP4Integer32Property* pCount = 33 | new MP4Integer32Property("sampleCount"); 34 | AddProperty(pCount); /* 3 */ 35 | 36 | MP4TableProperty* pTable = new MP4TableProperty("entries", pCount); 37 | AddProperty(pTable); /* 4 */ 38 | 39 | pTable->AddProperty( /* 4/0 */ 40 | new MP4Integer32Property("entrySize")); 41 | } 42 | 43 | void MP4StszAtom::Read() 44 | { 45 | ReadProperties(0, 4); 46 | 47 | u_int32_t sampleSize = 48 | ((MP4Integer32Property*)m_pProperties[2])->GetValue(); 49 | 50 | // only attempt to read entries table if sampleSize is zero 51 | // i.e sample size is not constant 52 | m_pProperties[4]->SetImplicit(sampleSize != 0); 53 | 54 | ReadProperties(4); 55 | 56 | Skip(); // to end of atom 57 | } 58 | 59 | void MP4StszAtom::Write() 60 | { 61 | u_int32_t sampleSize = 62 | ((MP4Integer32Property*)m_pProperties[2])->GetValue(); 63 | 64 | // only attempt to write entries table if sampleSize is zero 65 | // i.e sample size is not constant 66 | m_pProperties[4]->SetImplicit(sampleSize != 0); 67 | 68 | MP4Atom::Write(); 69 | } 70 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_stsz.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_stsz.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_stz2.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 "mp4common.h" 23 | 24 | /* 25 | * This is used for the 4 bit sample size below. We need the sampleCount 26 | * to be correct for the number of samples, but the table size needs to 27 | * be correct to read and write it. 28 | */ 29 | 30 | class MP4HalfSizeTableProperty : public MP4TableProperty 31 | { 32 | public: 33 | MP4HalfSizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : 34 | MP4TableProperty(name, pCountProperty) {}; 35 | 36 | // The count is half the actual size 37 | u_int32_t GetCount() { 38 | return (m_pCountProperty->GetValue() + 1)/ 2; 39 | }; 40 | void SetCount(u_int32_t count) { 41 | m_pCountProperty->SetValue(count * 2); 42 | }; 43 | }; 44 | 45 | 46 | MP4Stz2Atom::MP4Stz2Atom() 47 | : MP4Atom("stz2") 48 | { 49 | AddVersionAndFlags(); /* 0, 1 */ 50 | 51 | AddReserved("reserved", 3); /* 2 */ 52 | 53 | AddProperty( /* 3 */ 54 | new MP4Integer8Property("fieldSize")); 55 | 56 | MP4Integer32Property* pCount = 57 | new MP4Integer32Property("sampleCount"); 58 | AddProperty(pCount); /* 4 */ 59 | 60 | } 61 | 62 | void MP4Stz2Atom::Read() 63 | { 64 | ReadProperties(0, 4); 65 | 66 | uint8_t fieldSize = 67 | ((MP4Integer8Property *)m_pProperties[3])->GetValue(); 68 | // uint32_t sampleCount = 0; 69 | 70 | MP4Integer32Property* pCount = 71 | (MP4Integer32Property *)m_pProperties[4]; 72 | 73 | MP4TableProperty *pTable; 74 | if (fieldSize != 4) { 75 | pTable = new MP4TableProperty("entries", pCount); 76 | } else { 77 | // 4 bit field size uses a special table. 78 | pTable = new MP4HalfSizeTableProperty("entries", pCount); 79 | } 80 | 81 | AddProperty(pTable); 82 | 83 | if (fieldSize == 16) { 84 | pTable->AddProperty( /* 5/0 */ 85 | new MP4Integer16Property("entrySize")); 86 | } else { 87 | pTable->AddProperty( /* 5/0 */ 88 | new MP4Integer8Property("entrySize")); 89 | } 90 | 91 | ReadProperties(4); 92 | 93 | Skip(); // to end of atom 94 | } 95 | 96 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_stz2.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_stz2.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_text.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_text.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4TfhdAtom::MP4TfhdAtom() 25 | : MP4Atom("tfhd") 26 | { 27 | AddVersionAndFlags(); /* 0, 1 */ 28 | AddProperty( /* 2 */ 29 | new MP4Integer32Property("trackId")); 30 | } 31 | 32 | void MP4TfhdAtom::AddProperties(u_int32_t flags) 33 | { 34 | if (flags & 0x01) { 35 | // note this property is signed 64! 36 | AddProperty( 37 | new MP4Integer64Property("baseDataOffset")); 38 | } 39 | if (flags & 0x02) { 40 | AddProperty( 41 | new MP4Integer32Property("sampleDescriptionIndex")); 42 | } 43 | if (flags & 0x08) { 44 | AddProperty( 45 | new MP4Integer32Property("defaultSampleDuration")); 46 | } 47 | if (flags & 0x10) { 48 | AddProperty( 49 | new MP4Integer32Property("defaultSampleSize")); 50 | } 51 | if (flags & 0x20) { 52 | AddProperty( 53 | new MP4Integer32Property("defaultSampleFlags")); 54 | } 55 | } 56 | 57 | void MP4TfhdAtom::Read() 58 | { 59 | /* read atom version, flags, and trackId */ 60 | ReadProperties(0, 3); 61 | 62 | /* need to create the properties based on the atom flags */ 63 | AddProperties(GetFlags()); 64 | 65 | /* now we can read the remaining properties */ 66 | ReadProperties(3); 67 | 68 | Skip(); // to end of atom 69 | } 70 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_tfhd.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_tfhd.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_tkhd.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_tkhd.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4TrefTypeAtom::MP4TrefTypeAtom(const char* type) 25 | : MP4Atom(type) 26 | { 27 | MP4Integer32Property* pCount = 28 | new MP4Integer32Property("entryCount"); 29 | pCount->SetImplicit(); 30 | AddProperty(pCount); /* 0 */ 31 | 32 | MP4TableProperty* pTable = new MP4TableProperty("entries", pCount); 33 | AddProperty(pTable); /* 1 */ 34 | 35 | pTable->AddProperty( /* 1, 0 */ 36 | new MP4Integer32Property("trackId")); 37 | } 38 | 39 | void MP4TrefTypeAtom::Read() 40 | { 41 | // table entry count computed from atom size 42 | ((MP4Integer32Property*)m_pProperties[0])->SetReadOnly(false); 43 | ((MP4Integer32Property*)m_pProperties[0])->SetValue(m_size / 4); 44 | ((MP4Integer32Property*)m_pProperties[0])->SetReadOnly(true); 45 | 46 | MP4Atom::Read(); 47 | } 48 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_treftype.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_treftype.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_trun.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 "mp4common.h" 23 | 24 | MP4TrunAtom::MP4TrunAtom() 25 | : MP4Atom("trun") 26 | { 27 | AddVersionAndFlags(); /* 0, 1 */ 28 | AddProperty( /* 2 */ 29 | new MP4Integer32Property("sampleCount")); 30 | } 31 | 32 | void MP4TrunAtom::AddProperties(u_int32_t flags) 33 | { 34 | if (flags & 0x01) { 35 | // Note this is a signed 32 value 36 | AddProperty( 37 | new MP4Integer32Property("dataOffset")); 38 | } 39 | if (flags & 0x04) { 40 | AddProperty( 41 | new MP4Integer32Property("firstSampleFlags")); 42 | } 43 | 44 | MP4TableProperty* pTable = 45 | new MP4TableProperty("samples", 46 | (MP4Integer32Property *)m_pProperties[2]); 47 | AddProperty(pTable); 48 | 49 | if (flags & 0x100) { 50 | pTable->AddProperty( 51 | new MP4Integer32Property("sampleDuration")); 52 | } 53 | if (flags & 0x200) { 54 | pTable->AddProperty( 55 | new MP4Integer32Property("sampleSize")); 56 | } 57 | if (flags & 0x400) { 58 | pTable->AddProperty( 59 | new MP4Integer32Property("sampleFlags")); 60 | } 61 | if (flags & 0x800) { 62 | pTable->AddProperty( 63 | new MP4Integer32Property("sampleCompositionTimeOffset")); 64 | } 65 | } 66 | 67 | void MP4TrunAtom::Read() 68 | { 69 | /* read atom version, flags, and sampleCount */ 70 | ReadProperties(0, 3); 71 | 72 | /* need to create the properties based on the atom flags */ 73 | AddProperties(GetFlags()); 74 | 75 | /* now we can read the remaining properties */ 76 | ReadProperties(3); 77 | 78 | Skip(); // to end of atom 79 | } 80 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_trun.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_trun.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4UdtaAtom::MP4UdtaAtom() 25 | : MP4Atom("udta") 26 | { 27 | ExpectChildAtom("cprt", Optional, Many); 28 | ExpectChildAtom("hnti", Optional, OnlyOne); 29 | ExpectChildAtom("meta", Optional, OnlyOne); 30 | ExpectChildAtom("\251cpy", Optional, OnlyOne); 31 | ExpectChildAtom("\251des", Optional, OnlyOne); 32 | ExpectChildAtom("\251nam", Optional, OnlyOne); 33 | ExpectChildAtom("\251cmt", Optional, OnlyOne); 34 | ExpectChildAtom("\251prd", Optional, OnlyOne); 35 | } 36 | 37 | void MP4UdtaAtom::Read() 38 | { 39 | if (ATOMID(m_pParentAtom->GetType()) == ATOMID("trak")) { 40 | ExpectChildAtom("hinf", Optional, OnlyOne); 41 | } 42 | 43 | MP4Atom::Read(); 44 | } 45 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_udta.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_udta.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4UrlAtom::MP4UrlAtom(const char *type) 25 | : MP4Atom(type) 26 | { 27 | AddVersionAndFlags(); 28 | AddProperty(new MP4StringProperty("location")); 29 | } 30 | 31 | void MP4UrlAtom::Read() 32 | { 33 | // read the version and flags properties 34 | ReadProperties(0, 2); 35 | 36 | // check if self-contained flag is set 37 | if (!(GetFlags() & 1)) { 38 | // if not then read url location 39 | ReadProperties(2); 40 | } 41 | 42 | Skip(); // to end of atom 43 | } 44 | 45 | void MP4UrlAtom::Write() 46 | { 47 | MP4StringProperty* pLocationProp = 48 | (MP4StringProperty*)m_pProperties[2]; 49 | 50 | // if no url location has been set 51 | // then set self-contained flag 52 | // and don't attempt to write anything 53 | if (pLocationProp->GetValue() == NULL) { 54 | SetFlags(GetFlags() | 1); 55 | pLocationProp->SetImplicit(true); 56 | } else { 57 | SetFlags(GetFlags() & 0xFFFFFE); 58 | pLocationProp->SetImplicit(false); 59 | } 60 | 61 | // write atom as usual 62 | MP4Atom::Write(); 63 | } 64 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_url.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_url.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4UrnAtom::MP4UrnAtom() 25 | : MP4Atom("urn ") 26 | { 27 | AddVersionAndFlags(); 28 | AddProperty(new MP4StringProperty("name")); 29 | AddProperty(new MP4StringProperty("location")); 30 | } 31 | 32 | void MP4UrnAtom::Read() 33 | { 34 | // read the version, flags, and name properties 35 | ReadProperties(0, 3); 36 | 37 | // check if location is present 38 | if (m_pFile->GetPosition() < GetEnd()) { 39 | // read it 40 | ReadProperties(3); 41 | } 42 | 43 | Skip(); // to end of atom 44 | } 45 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_urn.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_urn.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_video.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 | 22 | #include "mp4common.h" 23 | 24 | MP4VideoAtom::MP4VideoAtom (const char *type) 25 | : MP4Atom(type) 26 | { 27 | AddReserved("reserved1", 6); /* 0 */ 28 | 29 | AddProperty( /* 1 */ 30 | new MP4Integer16Property("dataReferenceIndex")); 31 | 32 | AddReserved("reserved2", 16); /* 2 */ 33 | 34 | AddProperty( /* 3 */ 35 | new MP4Integer16Property("width")); 36 | AddProperty( /* 4 */ 37 | new MP4Integer16Property("height")); 38 | 39 | AddReserved("reserved3", 14); /* 5 */ 40 | 41 | MP4StringProperty* pProp = 42 | new MP4StringProperty("compressorName"); 43 | pProp->SetFixedLength(32); 44 | pProp->SetValue(""); 45 | AddProperty(pProp); /* 6 */ 46 | 47 | AddProperty(/* 7 */ 48 | new MP4Integer16Property("depth")); 49 | AddProperty(/* 8 */ 50 | new MP4Integer16Property("colorTableId")); 51 | ExpectChildAtom("smi ", Optional, OnlyOne); 52 | } 53 | 54 | void MP4VideoAtom::Generate() 55 | { 56 | MP4Atom::Generate(); 57 | 58 | ((MP4Integer16Property*)m_pProperties[1])->SetValue(1); 59 | 60 | // property reserved3 has non-zero fixed values 61 | static u_int8_t reserved3[14] = { 62 | 0x00, 0x48, 0x00, 0x00, 63 | 0x00, 0x48, 0x00, 0x00, 64 | 0x00, 0x00, 0x00, 0x00, 65 | 0x00, 0x01, 66 | }; 67 | m_pProperties[5]->SetReadOnly(false); 68 | ((MP4BytesProperty*)m_pProperties[5])-> 69 | SetValue(reserved3, sizeof(reserved3)); 70 | m_pProperties[5]->SetReadOnly(true); 71 | 72 | // depth and color table id values - should be set later 73 | // as far as depth - color table is most likely 0xff 74 | ((MP4IntegerProperty *)m_pProperties[7])->SetValue(0x18); 75 | ((MP4IntegerProperty *)m_pProperties[8])->SetValue(0xffff); 76 | 77 | } 78 | 79 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_video.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_video.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 "mp4common.h" 23 | 24 | MP4VmhdAtom::MP4VmhdAtom() 25 | : MP4Atom("vmhd") 26 | { 27 | AddVersionAndFlags(); 28 | AddReserved("reserved", 8); 29 | } 30 | 31 | void MP4VmhdAtom::Generate() 32 | { 33 | MP4Atom::Generate(); 34 | 35 | SetFlags(1); 36 | } 37 | 38 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/atom_vmhd.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/atom_vmhd.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/descriptors.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/descriptors.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/isma.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/isma.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/libmp4v2.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/libmp4v2.a -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4atom.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4atom.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4common.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 __MP4_COMMON_INCLUDED__ 23 | #define __MP4_COMMON_INCLUDED__ 24 | 25 | // common includes for everything 26 | // with an internal view of the library 27 | // i.e. all the .cpp's just #include "mp4common.h" 28 | 29 | #include "mpeg4ip.h" 30 | 31 | #include "mp4.h" 32 | #include "mp4util.h" 33 | #include "mp4array.h" 34 | #include "mp4track.h" 35 | #include "mp4file.h" 36 | #include "mp4property.h" 37 | #include "mp4container.h" 38 | #include "mp4descriptor.h" 39 | #include "mp4atom.h" 40 | 41 | #include "atoms.h" 42 | #include "descriptors.h" 43 | #include "ocidescriptors.h" 44 | #include "qosqualifiers.h" 45 | 46 | #include "odcommands.h" 47 | 48 | #include "rtphint.h" 49 | #include "virtual_io.h" 50 | #endif /* __MP4_COMMON_INCLUDED__ */ 51 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4container.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 __MP4_CONTAINER_INCLUDED__ 23 | #define __MP4_CONTAINER_INCLUDED__ 24 | 25 | // base class - container of mp4 properties 26 | class MP4Container { 27 | public: 28 | MP4Container() { } 29 | 30 | virtual ~MP4Container(); 31 | 32 | void AddProperty(MP4Property* pProperty); 33 | 34 | virtual void Read(MP4File* pFile); 35 | 36 | virtual void Write(MP4File* pFile); 37 | 38 | virtual void Dump(FILE* pFile, u_int8_t indent, bool dumpImplicits); 39 | 40 | MP4Property* GetProperty(u_int32_t index) { 41 | return m_pProperties[index]; 42 | } 43 | 44 | // LATER MP4Property* GetProperty(const char* name); throw on error 45 | // LATER MP4Property* FindProperty(const char* name, u_int32_t* pIndex = NULL); returns NULL on error 46 | 47 | bool FindProperty(const char* name, 48 | MP4Property** ppProperty, u_int32_t* pIndex = NULL); 49 | 50 | void FindIntegerProperty(const char* name, 51 | MP4Property** ppProperty, u_int32_t* pIndex = NULL); 52 | 53 | u_int64_t GetIntegerProperty(const char* name); 54 | 55 | void SetIntegerProperty(const char* name, u_int64_t value); 56 | 57 | void FindFloatProperty(const char* name, 58 | MP4Property** ppProperty, u_int32_t* pIndex = NULL); 59 | 60 | float GetFloatProperty(const char* name); 61 | 62 | void SetFloatProperty(const char* name, float value); 63 | 64 | void FindStringProperty(const char* name, 65 | MP4Property** ppProperty, u_int32_t* pIndex = NULL); 66 | 67 | const char* GetStringProperty(const char* name); 68 | 69 | void SetStringProperty(const char* name, const char* value); 70 | 71 | void FindBytesProperty(const char* name, 72 | MP4Property** ppProperty, u_int32_t* pIndex = NULL); 73 | 74 | void GetBytesProperty(const char* name, 75 | u_int8_t** ppValue, u_int32_t* pValueSize); 76 | 77 | void SetBytesProperty(const char* name, 78 | const u_int8_t* pValue, u_int32_t valueSize); 79 | 80 | protected: 81 | MP4PropertyArray m_pProperties; 82 | }; 83 | 84 | #endif /* __MP4_CONTAINER_INCLUDED__ */ 85 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4container.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4container.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4descriptor.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4descriptor.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4file.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4file.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4file_io.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4file_io.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4info.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4info.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4meta.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4meta.cpp -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4meta.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4meta.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4property.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4property.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4track.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4track.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mp4util.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/mp4util.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mpeg4ip_config.h: -------------------------------------------------------------------------------- 1 | ../../config.h -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/mpeg4ip_version.h: -------------------------------------------------------------------------------- 1 | #define MPEG4IP_PACKAGE "mpeg4ip" 2 | #define MPEG4IP_VERSION "1.6.1" 3 | #define MPEG4IP_MAJOR_VERSION 0x1 4 | #define MPEG4IP_MINOR_VERSION 0x6 5 | #define MPEG4IP_CVS_VERSION 0x1 6 | #define MPEG4IP_HEX_VERSION ((MPEG4IP_MAJOR_VERSION << 16) | (MPEG4IP_MINOR_VERSION << 8) | MPEG4IP_CVS_VERSION) 7 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/need_for_win32.c: -------------------------------------------------------------------------------- 1 | #include "mpeg4ip.h" 2 | #include 3 | 4 | int gettimeofday (struct timeval *t, void *foo) 5 | { 6 | struct _timeb temp; 7 | _ftime(&temp); 8 | t->tv_sec = temp.time; 9 | t->tv_usec = temp.millitm * 1000; 10 | return (0); 11 | } 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/ocidescriptors.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/ocidescriptors.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/odcommands.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 __ODCOMMANDS_INCLUDED__ 23 | #define __ODCOMMANDS_INCLUDED__ 24 | 25 | // OD stream command descriptors 26 | const u_int8_t MP4ODUpdateODCommandTag = 0x01; 27 | const u_int8_t MP4ODRemoveODCommandTag = 0x02; 28 | const u_int8_t MP4ESUpdateODCommandTag = 0x03; 29 | const u_int8_t MP4ESRemoveODCommandTag = 0x04; 30 | const u_int8_t MP4IPMPUpdateODCommandTag = 0x05; 31 | const u_int8_t MP4IPMPRemoveODCommandTag = 0x06; 32 | const u_int8_t MP4ESRemoveRefODCommandTag = 0x07; 33 | 34 | class MP4ODUpdateDescriptor : public MP4Descriptor { 35 | public: 36 | MP4ODUpdateDescriptor(); 37 | }; 38 | 39 | class MP4ODRemoveDescriptor : public MP4Descriptor { 40 | public: 41 | MP4ODRemoveDescriptor(); 42 | void Read(MP4File* pFile); 43 | }; 44 | 45 | class MP4ESUpdateDescriptor : public MP4Descriptor { 46 | public: 47 | MP4ESUpdateDescriptor(); 48 | }; 49 | 50 | class MP4ESRemoveDescriptor : public MP4Descriptor { 51 | public: 52 | MP4ESRemoveDescriptor(); 53 | }; 54 | 55 | MP4Descriptor* CreateODCommand(u_int8_t tag); 56 | 57 | #endif /* __ODCOMMANDS_INCLUDED__ */ 58 | 59 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/odcommands.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/odcommands.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/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 __QOSQUALIFIERS_INCLUDED__ 23 | #define __QOSQUALIFIERS_INCLUDED__ 24 | 25 | const u_int8_t MP4QosDescrTag = 0x0C; 26 | 27 | #if 0 28 | class MP4QosDescriptor : public MP4Descriptor { 29 | public: 30 | MP4QosDescriptor(); 31 | }; 32 | 33 | typedef MP4Descriptor MP4QosQualifier; 34 | #endif 35 | 36 | const u_int8_t MP4QosTagsStart = 0x01; 37 | const u_int8_t MP4MaxDelayQosTag = 0x01; 38 | const u_int8_t MP4PrefMaxDelayQosTag = 0x02; 39 | const u_int8_t MP4LossProbQosTag = 0x03; 40 | const u_int8_t MP4MaxGapLossQosTag = 0x04; 41 | const u_int8_t MP4MaxAUSizeQosTag = 0x41; 42 | const u_int8_t MP4AvgAUSizeQosTag = 0x42; 43 | const u_int8_t MP4MaxAURateQosTag = 0x43; 44 | const u_int8_t MP4QosTagsEnd = 0xFF; 45 | 46 | #if 0 47 | class MP4MaxDelayQosQualifier : public MP4QosQualifier { 48 | public: 49 | MP4MaxDelayQosQualifier(); 50 | }; 51 | 52 | class MP4PrefMaxDelayQosQualifier : public MP4QosQualifier { 53 | public: 54 | MP4PrefMaxDelayQosQualifier(); 55 | }; 56 | 57 | class MP4LossProbQosQualifier : public MP4QosQualifier { 58 | public: 59 | MP4LossProbQosQualifier(); 60 | }; 61 | 62 | class MP4MaxGapLossQosQualifier : public MP4QosQualifier { 63 | public: 64 | MP4MaxGapLossQosQualifier(); 65 | }; 66 | 67 | class MP4MaxAUSizeQosQualifier : public MP4QosQualifier { 68 | public: 69 | MP4MaxAUSizeQosQualifier(); 70 | }; 71 | 72 | class MP4AvgAUSizeQosQualifier : public MP4QosQualifier { 73 | public: 74 | MP4AvgAUSizeQosQualifier(); 75 | }; 76 | 77 | class MP4MaxAURateQosQualifier : public MP4QosQualifier { 78 | public: 79 | MP4MaxAURateQosQualifier(); 80 | }; 81 | #else 82 | class MP4QosDescriptorBase : public MP4Descriptor { 83 | public: 84 | MP4QosDescriptorBase(uint8_t tag); 85 | }; 86 | 87 | #endif 88 | class MP4UnknownQosQualifier : public MP4Descriptor { 89 | public: 90 | MP4UnknownQosQualifier(); 91 | void Read(MP4File* pFile); 92 | }; 93 | 94 | #endif /* __QOSQUALIFIERS_INCLUDED__ */ 95 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/qosqualifiers.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/qosqualifiers.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/rtphint.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/rtphint.o -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/virtual_io.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 - 2005. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Ben Allison benski at nullsoft.com 20 | * 21 | * Virtual I/O support, for file support other than fopen/fread/fwrite 22 | */ 23 | 24 | #include "mp4common.h" 25 | #include "virtual_io.h" 26 | 27 | /* --------- Virtual IO for FILE * --------- */ 28 | 29 | u_int64_t FILE_GetFileLength(void *user) 30 | { 31 | FILE *fp = (FILE *)user; 32 | struct stat s; 33 | if (fstat(fileno(fp), &s) < 0) { 34 | throw new MP4Error(errno, "stat failed", "MP4Open"); 35 | } 36 | return s.st_size; 37 | } 38 | 39 | int FILE_SetPosition(void *user, u_int64_t position) 40 | { 41 | FILE *fp = (FILE *)user; 42 | fpos_t fpos; 43 | VAR_TO_FPOS(fpos, position); 44 | return fsetpos(fp, &fpos); 45 | } 46 | 47 | int FILE_GetPosition(void *user, u_int64_t *position) 48 | { 49 | FILE *fp = (FILE *)user; 50 | fpos_t fpos; 51 | if (fgetpos(fp, &fpos) < 0) { 52 | throw new MP4Error(errno, "MP4GetPosition"); 53 | } 54 | 55 | FPOS_TO_VAR(fpos, u_int64_t, *position); 56 | return 0; 57 | } 58 | 59 | size_t FILE_Read(void *user, void *buffer, size_t size) 60 | { 61 | FILE *fp = (FILE *)user; 62 | return fread(buffer, 1, size, fp); 63 | } 64 | 65 | size_t FILE_Write(void *user, void *buffer, size_t size) 66 | { 67 | FILE *fp = (FILE *)user; 68 | return fwrite(buffer, 1, size, fp); 69 | } 70 | 71 | int FILE_EndOfFile(void *user) 72 | { 73 | FILE *fp = (FILE *)user; 74 | return feof(fp); 75 | } 76 | 77 | int FILE_Close(void *user) 78 | { 79 | FILE *fp = (FILE *)user; 80 | return fclose(fp); 81 | } 82 | 83 | Virtual_IO FILE_virtual_IO = 84 | { 85 | FILE_GetFileLength, 86 | FILE_SetPosition, 87 | FILE_GetPosition, 88 | FILE_Read, 89 | FILE_Write, 90 | FILE_EndOfFile, 91 | FILE_Close, 92 | }; 93 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/virtual_io.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 - 2005. All Rights Reserved. 17 | * 18 | * Contributor(s): 19 | * Ben Allison benski at nullsoft.com 20 | * 21 | * Virtual I/O support, for file support other than fopen/fread/fwrite 22 | */ 23 | 24 | #ifndef __VIRTUAL_IO_INCLUDED__ 25 | #define __VIRTUAL_IO_INCLUDED__ 26 | 27 | #include "mpeg4ip.h" 28 | 29 | extern Virtual_IO FILE_virtual_IO; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/faac-1.28/common/mp4v2/virtual_io.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/common/mp4v2/virtual_io.o -------------------------------------------------------------------------------- /src/faac-1.28/compile: -------------------------------------------------------------------------------- 1 | /usr/local/Cellar/automake/1.15/share/automake-1.15/compile -------------------------------------------------------------------------------- /src/faac-1.28/configure.in: -------------------------------------------------------------------------------- 1 | AC_PREREQ(2.50) 2 | AC_INIT(FAAC, 1.28, faac-dev@lists.sourceforge.net) 3 | AC_CONFIG_AUX_DIR(.) 4 | AM_INIT_AUTOMAKE 5 | 6 | AM_CONFIG_HEADER(config.h) 7 | 8 | AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes) 9 | AC_ARG_ENABLE( drm, [ --enable-drm Digital Radio Mondiale support], enable_drm=$enableval, enable_drm=no) 10 | 11 | AC_DEFUN([MY_DEFINE], [ AC_DEFINE($1, 1, [define if needed]) ]) 12 | 13 | CFLAGS=${CFLAGS:-"-O2 -Wall"} 14 | 15 | AC_PROG_CC 16 | AC_PROG_CXX 17 | AM_PROG_LIBTOOL 18 | 19 | AC_CHECK_HEADERS(getopt.h) 20 | 21 | AC_CHECK_TYPES(u_int32_t) 22 | AC_CHECK_TYPES(u_int16_t) 23 | AC_CHECK_TYPES(int32_t) 24 | AC_CHECK_TYPES(int16_t) 25 | 26 | AC_CHECK_DECL(strcasecmp, MY_DEFINE(HAVE_STRCASECMP)) 27 | 28 | AC_CHECK_LIB(gnugetopt, getopt_long) 29 | 30 | AM_CONDITIONAL(WITH_MP4V2, false) 31 | 32 | AC_CHECK_DECLS([MP4Create, MP4MetadataDelete], 33 | AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes, 34 | external_mp4v2=no, -lstdc++), 35 | external_mp4v2=no, [#include ]) 36 | 37 | if test x$external_mp4v2 = xyes; then 38 | AC_MSG_NOTICE([*** Building with external mp4v2 ***]) 39 | else 40 | if test x$WITHMP4V2 = xyes; then 41 | AC_MSG_NOTICE([*** Building with internal mp4v2 ***]) 42 | AM_CONDITIONAL(WITH_MP4V2, true) 43 | AC_CONFIG_LINKS(common/mp4v2/mpeg4ip_config.h:config.h) 44 | MY_DEFINE(HAVE_LIBMP4V2) 45 | else 46 | AC_MSG_NOTICE([*** Building WITHOUT mp4v2 ***]) 47 | fi 48 | fi 49 | 50 | dnl Check for DRM mode 51 | if test "x$enable_drm" = "xyes"; then 52 | AC_DEFINE(DRM, 1, [Define if you want to encode for DRM]) 53 | AM_CONDITIONAL(USE_DRM, true) 54 | CFLAGS="$CFLAGS -DDRM" 55 | else 56 | AM_CONDITIONAL(USE_DRM, false) 57 | fi 58 | 59 | AC_C_BIGENDIAN 60 | 61 | dnl Checks for header files required for mp4.h 62 | AC_HEADER_STDC 63 | AC_SYS_LARGEFILE 64 | AC_CHECK_HEADERS(stdint.h inttypes.h) 65 | AC_CHECK_HEADERS(mathf.h) 66 | AC_CHECK_HEADERS(float.h) 67 | AC_CHECK_DECL(strchr, MY_DEFINE(HAVE_STRCHR)) 68 | AC_CHECK_DECL(memcpy, MY_DEFINE(HAVE_MEMCPY)) 69 | AC_CHECK_DECL(strsep, MY_DEFINE(HAVE_STRSEP)) 70 | AC_CHECK_HEADERS(sys/time.h) 71 | AC_HEADER_TIME 72 | AC_TYPE_OFF_T 73 | AC_CHECK_TYPES([in_port_t, socklen_t], , , 74 | [#include 75 | #include 76 | #include ]) 77 | AC_CHECK_MEMBERS(fpos_t.__pos,,, [#include ]) 78 | 79 | AC_OUTPUT([ 80 | common/Makefile 81 | common/mp4v2/Makefile 82 | libfaac/Makefile 83 | frontend/Makefile 84 | include/Makefile 85 | Makefile]) 86 | -------------------------------------------------------------------------------- /src/faac-1.28/docs/faac.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/docs/faac.html -------------------------------------------------------------------------------- /src/faac-1.28/docs/libfaac.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/docs/libfaac.pdf -------------------------------------------------------------------------------- /src/faac-1.28/frontend/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = faac 2 | man_MANS = ../docs/faac.1 3 | 4 | faac_SOURCES = main.c input.c 5 | 6 | if WITH_MP4V2 7 | INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/common/mp4v2 8 | LDADD = $(top_builddir)/libfaac/libfaac.la $(top_srcdir)/common/mp4v2/libmp4v2.a -lm -lstdc++ 9 | else 10 | INCLUDES = -I$(top_srcdir)/include 11 | LDADD = $(top_builddir)/libfaac/libfaac.la -lm 12 | endif 13 | -------------------------------------------------------------------------------- /src/faac-1.28/frontend/faac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/frontend/faac -------------------------------------------------------------------------------- /src/faac-1.28/frontend/faac.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 9.00 3 | # Visual Studio 2005 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "faac", "faac.vcproj", "{92992E74-AEDE-46DC-AD8C-ADEA876F1A4C}" 5 | ProjectSection(ProjectDependencies) = postProject 6 | {55C87BFB-9C9C-41E0-B9DC-57F41F679D4B} = {55C87BFB-9C9C-41E0-B9DC-57F41F679D4B} 7 | {9CC48C6E-92EB-4814-AD37-97AB3622AB65} = {9CC48C6E-92EB-4814-AD37-97AB3622AB65} 8 | EndProjectSection 9 | EndProject 10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaac", "..\libfaac\libfaac.vcproj", "{9CC48C6E-92EB-4814-AD37-97AB3622AB65}" 11 | EndProject 12 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp4v2_st", "..\common\mp4v2\libmp4v2_st60.vcproj", "{55C87BFB-9C9C-41E0-B9DC-57F41F679D4B}" 13 | EndProject 14 | Global 15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 16 | Debug|Win32 = Debug|Win32 17 | Release|Win32 = Release|Win32 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {92992E74-AEDE-46DC-AD8C-ADEA876F1A4C}.Debug|Win32.ActiveCfg = Debug|Win32 21 | {92992E74-AEDE-46DC-AD8C-ADEA876F1A4C}.Debug|Win32.Build.0 = Debug|Win32 22 | {92992E74-AEDE-46DC-AD8C-ADEA876F1A4C}.Release|Win32.ActiveCfg = Release|Win32 23 | {92992E74-AEDE-46DC-AD8C-ADEA876F1A4C}.Release|Win32.Build.0 = Release|Win32 24 | {9CC48C6E-92EB-4814-AD37-97AB3622AB65}.Debug|Win32.ActiveCfg = Debug|Win32 25 | {9CC48C6E-92EB-4814-AD37-97AB3622AB65}.Debug|Win32.Build.0 = Debug|Win32 26 | {9CC48C6E-92EB-4814-AD37-97AB3622AB65}.Release|Win32.ActiveCfg = Release|Win32 27 | {9CC48C6E-92EB-4814-AD37-97AB3622AB65}.Release|Win32.Build.0 = Release|Win32 28 | {55C87BFB-9C9C-41E0-B9DC-57F41F679D4B}.Debug|Win32.ActiveCfg = Debug|Win32 29 | {55C87BFB-9C9C-41E0-B9DC-57F41F679D4B}.Debug|Win32.Build.0 = Debug|Win32 30 | {55C87BFB-9C9C-41E0-B9DC-57F41F679D4B}.Release|Win32.ActiveCfg = Release|Win32 31 | {55C87BFB-9C9C-41E0-B9DC-57F41F679D4B}.Release|Win32.Build.0 = Release|Win32 32 | EndGlobalSection 33 | GlobalSection(SolutionProperties) = preSolution 34 | HideSolutionNode = FALSE 35 | EndGlobalSection 36 | EndGlobal 37 | -------------------------------------------------------------------------------- /src/faac-1.28/frontend/faacgui.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 9.00 2 | # Visual C++ Express 2005 3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "faacgui", "faacgui.vcproj", "{B4FD0E50-5379-48C3-8D3E-D948A8921CA8}" 4 | ProjectSection(ProjectDependencies) = postProject 5 | {9CC48C6E-92EB-4814-AD37-97AB3622AB65} = {9CC48C6E-92EB-4814-AD37-97AB3622AB65} 6 | EndProjectSection 7 | EndProject 8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaac", "..\libfaac\libfaac.vcproj", "{9CC48C6E-92EB-4814-AD37-97AB3622AB65}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Win32 = Debug|Win32 13 | Release|Win32 = Release|Win32 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {B4FD0E50-5379-48C3-8D3E-D948A8921CA8}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {B4FD0E50-5379-48C3-8D3E-D948A8921CA8}.Debug|Win32.Build.0 = Debug|Win32 18 | {B4FD0E50-5379-48C3-8D3E-D948A8921CA8}.Release|Win32.ActiveCfg = Release|Win32 19 | {B4FD0E50-5379-48C3-8D3E-D948A8921CA8}.Release|Win32.Build.0 = Release|Win32 20 | {9CC48C6E-92EB-4814-AD37-97AB3622AB65}.Debug|Win32.ActiveCfg = Debug|Win32 21 | {9CC48C6E-92EB-4814-AD37-97AB3622AB65}.Release|Win32.ActiveCfg = Release|Win32 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /src/faac-1.28/frontend/input.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2002 Krzysztof Nikiel 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: input.h,v 1.7 2008/11/24 22:00:11 menno Exp $ 20 | */ 21 | 22 | #ifndef _INPUT_H 23 | #define _INPUT_H 24 | 25 | #ifdef HAVE_CONFIG_H 26 | #include "config.h" 27 | #endif 28 | 29 | #include 30 | #include 31 | #ifdef HAVE_SYS_TYPES_H 32 | # include 33 | #endif 34 | #ifndef __MPEG4IP_INCLUDED__ 35 | /* Let's avoid some boring conflicting declarations */ 36 | #ifdef HAVE_INTTYPES_H 37 | # include 38 | #endif 39 | #ifdef HAVE_STDINT_H 40 | # include 41 | #endif 42 | 43 | #ifndef HAVE_INT32_T 44 | typedef signed int int32_t; 45 | #endif 46 | #ifndef HAVE_INT16_T 47 | typedef signed short int16_t; 48 | #endif 49 | #ifndef HAVE_U_INT32_T 50 | typedef unsigned int u_int32_t; 51 | #endif 52 | #ifndef HAVE_U_INT16_T 53 | typedef unsigned short u_int16_t; 54 | #endif 55 | #endif /* #ifndef __MPEG4IP_INCLUDED__ */ 56 | 57 | #ifdef __cplusplus 58 | extern "C" 59 | { 60 | #endif 61 | 62 | typedef struct 63 | { 64 | FILE *f; 65 | int channels; 66 | int samplebytes; 67 | int samplerate; 68 | int samples; 69 | int bigendian; 70 | int isfloat; 71 | } pcmfile_t; 72 | 73 | pcmfile_t *wav_open_read(const char *path, int rawchans); 74 | size_t wav_read_float32(pcmfile_t *sndf, float *buf, size_t num, int *map); 75 | size_t wav_read_int24(pcmfile_t *sndf, int32_t *buf, size_t num, int *map); 76 | int wav_close(pcmfile_t *file); 77 | 78 | #ifdef __cplusplus 79 | } 80 | #endif 81 | #endif /* _INPUT_H */ 82 | -------------------------------------------------------------------------------- /src/faac-1.28/frontend/input.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/frontend/input.o -------------------------------------------------------------------------------- /src/faac-1.28/frontend/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/frontend/main.c -------------------------------------------------------------------------------- /src/faac-1.28/frontend/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/frontend/main.o -------------------------------------------------------------------------------- /src/faac-1.28/frontend/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Developer Studio generated include file. 3 | // Used by faacgui.rc 4 | // 5 | #define IDD_MAINDIALOG 102 6 | #define IDC_INPUTFILENAME 1000 7 | #define IDC_SELECT_INPUTFILE 1001 8 | #define IDC_OUTPUTFILENAME 1002 9 | #define IDC_SELECT_OUTPUTFILE 1003 10 | #define IDC_INPUTPARAMS 1004 11 | #define IDC_PROGRESS 1006 12 | #define IDC_ALLOWMIDSIDE 1007 13 | #define IDC_TIME 1008 14 | #define IDC_BANDWIDTH 1009 15 | #define IDC_QUALITY 1010 16 | #define IDC_USERAW 1011 17 | #define IDC_USETNS 1012 18 | #define IDC_USELFE2 1013 19 | #define IDC_USELFE 1013 20 | #define IDC_BWCTL 1014 21 | 22 | #define IDC_COMPILEDATE 1018 23 | #define IDC_MPEGVERSION 1020 24 | #define IDC_OBJECTTYPE 1021 25 | 26 | // Next default values for new objects 27 | // 28 | #ifdef APSTUDIO_INVOKED 29 | #ifndef APSTUDIO_READONLY_SYMBOLS 30 | #define _APS_NEXT_RESOURCE_VALUE 104 31 | #define _APS_NEXT_COMMAND_VALUE 40001 32 | #define _APS_NEXT_CONTROL_VALUE 1022 33 | #define _APS_NEXT_SYMED_VALUE 101 34 | #endif 35 | #endif 36 | -------------------------------------------------------------------------------- /src/faac-1.28/include/Makefile.am: -------------------------------------------------------------------------------- 1 | include_HEADERS = faac.h faaccfg.h 2 | -------------------------------------------------------------------------------- /src/faac-1.28/include/faac.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: faac.h,v 1.36 2009/01/25 18:50:32 menno Exp $ 20 | */ 21 | 22 | #ifndef _FAAC_H_ 23 | #define _FAAC_H_ 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif /* __cplusplus */ 28 | 29 | #if defined(_WIN32) && !defined(__MINGW32__) 30 | # ifndef FAACAPI 31 | # define FAACAPI __stdcall 32 | # endif 33 | #else 34 | # ifndef FAACAPI 35 | # define FAACAPI 36 | # endif 37 | #endif 38 | 39 | #pragma pack(push, 1) 40 | 41 | typedef struct { 42 | void *ptr; 43 | char *name; 44 | } 45 | psymodellist_t; 46 | 47 | #include "faaccfg.h" 48 | 49 | 50 | typedef void *faacEncHandle; 51 | 52 | #ifndef HAVE_INT32_T 53 | typedef signed int int32_t; 54 | #endif 55 | 56 | /* 57 | Allows an application to get FAAC version info. This is intended 58 | purely for informative purposes. 59 | 60 | Returns FAAC_CFG_VERSION. 61 | */ 62 | int FAACAPI faacEncGetVersion(char **faac_id_string, 63 | char **faac_copyright_string); 64 | 65 | 66 | faacEncConfigurationPtr FAACAPI 67 | faacEncGetCurrentConfiguration(faacEncHandle hEncoder); 68 | 69 | 70 | int FAACAPI faacEncSetConfiguration(faacEncHandle hEncoder, 71 | faacEncConfigurationPtr config); 72 | 73 | 74 | faacEncHandle FAACAPI faacEncOpen(unsigned long sampleRate, 75 | unsigned int numChannels, 76 | unsigned long *inputSamples, 77 | unsigned long *maxOutputBytes); 78 | 79 | 80 | int FAACAPI faacEncGetDecoderSpecificInfo(faacEncHandle hEncoder, unsigned char **ppBuffer, 81 | unsigned long *pSizeOfDecoderSpecificInfo); 82 | 83 | 84 | int FAACAPI faacEncEncode(faacEncHandle hEncoder, int32_t * inputBuffer, unsigned int samplesInput, 85 | unsigned char *outputBuffer, 86 | unsigned int bufferSize); 87 | 88 | 89 | int FAACAPI faacEncClose(faacEncHandle hEncoder); 90 | 91 | 92 | 93 | #pragma pack(pop) 94 | 95 | #ifdef __cplusplus 96 | } 97 | #endif /* __cplusplus */ 98 | 99 | #endif /* _FAAC_H_ */ 100 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/.deps/kiss_fft.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/.deps/kiss_fftr.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/.libs/libfaac.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/.libs/libfaac.a -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/.libs/libfaac.la: -------------------------------------------------------------------------------- 1 | ../libfaac.la -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/.libs/libfaac.lai: -------------------------------------------------------------------------------- 1 | # libfaac.la - a libtool library file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='' 9 | 10 | # Names of this library. 11 | library_names='' 12 | 13 | # The name of the static archive. 14 | old_library='libfaac.a' 15 | 16 | # Linker flags that cannot go in dependency_libs. 17 | inherited_linker_flags=' ' 18 | 19 | # Libraries that this one depends upon. 20 | dependency_libs=' -lm -L=/usr/lib' 21 | 22 | # Names of additional weak libraries provided by this library 23 | weak_library_names='' 24 | 25 | # Version information for libfaac. 26 | current=0 27 | age=0 28 | revision=0 29 | 30 | # Is this an already installed library? 31 | installed=yes 32 | 33 | # Should we warn about portability when linking against -modules? 34 | shouldnotlink=no 35 | 36 | # Files to dlopen/dlpreopen 37 | dlopen='' 38 | dlpreopen='' 39 | 40 | # Directory that this library needs to be installed in: 41 | libdir='/Users/ricky/Desktop/faacbuild2/build/install/arm64/lib' 42 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libfaac.la 2 | 3 | main_SOURCES = aacquant.c bitstream.c fft.c frame.c midside.c psychkni.c util.c backpred.c channels.c filtbank.c huffman.c ltp.c tns.c 4 | if USE_DRM 5 | drm_SOURCES = kiss_fft/kiss_fftr.c kiss_fft/kiss_fft.c 6 | endif 7 | libfaac_la_SOURCES = $(main_SOURCES) $(drm_SOURCES) 8 | libfaac_la_INCLUDES = aacquant.h channels.h filtbank.h hufftab.h psych.h backpred.h coder.h frame.h midside.h tns.h bitstream.h fft.h huffman.h ltp.h util.h 9 | libfaac_la_LIBADD = -lm 10 | 11 | INCLUDES = -I$(top_srcdir)/include 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/aacquant.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: aacquant.h,v 1.9 2003/10/12 16:43:39 knik Exp $ 20 | */ 21 | 22 | #ifndef AACQUANT_H 23 | #define AACQUANT_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif /* __cplusplus */ 28 | 29 | #include "coder.h" 30 | #include "psych.h" 31 | 32 | #define IXMAX_VAL 8191 33 | #define PRECALC_SIZE (IXMAX_VAL+2) 34 | #define LARGE_BITS 100000 35 | #define SF_OFFSET 100 36 | 37 | #define POW20(x) pow(2.0,((double)x)*.25) 38 | #define IPOW20(x) pow(2.0,-((double)x)*.1875) 39 | 40 | #pragma pack(push, 1) 41 | typedef struct 42 | { 43 | double *pow43; 44 | double *adj43; 45 | double quality; 46 | } AACQuantCfg; 47 | #pragma pack(pop) 48 | 49 | void AACQuantizeInit(CoderInfo *coderInfo, unsigned int numChannels, 50 | AACQuantCfg *aacquantCfg); 51 | void AACQuantizeEnd(CoderInfo *coderInfo, unsigned int numChannels, 52 | AACQuantCfg *aacquantCfg); 53 | 54 | int AACQuantize(CoderInfo *coderInfo, 55 | PsyInfo *psyInfo, 56 | ChannelInfo *channelInfo, 57 | int *cb_width, 58 | int num_cb, 59 | double *xr, 60 | AACQuantCfg *aacquantcfg); 61 | 62 | int SortForGrouping(CoderInfo* coderInfo, 63 | PsyInfo *psyInfo, 64 | ChannelInfo *channelInfo, 65 | int *sfb_width_table, 66 | double *xr); 67 | void CalcAvgEnrg(CoderInfo *coderInfo, 68 | const double *xr); 69 | 70 | #ifdef __cplusplus 71 | } 72 | #endif /* __cplusplus */ 73 | 74 | #endif /* AACQUANT_H */ 75 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/aacquant.lo: -------------------------------------------------------------------------------- 1 | # aacquant.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='aacquant.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/aacquant.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/aacquant.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/backpred.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: backpred.h,v 1.5 2001/06/08 18:01:09 menno Exp $ 20 | */ 21 | 22 | #ifndef _AAC_BACK_H_INCLUDED 23 | #define _AAC_BACK_H_INCLUDED 24 | 25 | #define PRED_ALPHA 0.90625 26 | #define PRED_A 0.953125 27 | #define PRED_B 0.953125 28 | 29 | #define ALPHA PRED_ALPHA 30 | #define A PRED_A 31 | #define B PRED_B 32 | #define MINVAR 1.e-10 33 | 34 | /* Reset every RESET_FRAME frames. */ 35 | #define RESET_FRAME 8 36 | 37 | void PredCalcPrediction(double *act_spec, 38 | double *last_spec, 39 | int btype, 40 | int nsfb, 41 | int *isfb_width, 42 | CoderInfo *coderInfo, 43 | ChannelInfo *channelInfo, 44 | int chanNum); 45 | 46 | void PredInit(faacEncHandle hEncoder); 47 | 48 | void CopyPredInfo(CoderInfo *right, CoderInfo *left); 49 | 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/backpred.lo: -------------------------------------------------------------------------------- 1 | # backpred.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='backpred.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/backpred.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/backpred.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/bitstream.lo: -------------------------------------------------------------------------------- 1 | # bitstream.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='bitstream.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/bitstream.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/bitstream.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/channels.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: channels.h,v 1.7 2003/06/26 19:19:41 knik Exp $ 20 | */ 21 | 22 | #ifndef CHANNEL_H 23 | #define CHANNEL_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif /* __cplusplus */ 28 | 29 | #include "coder.h" 30 | 31 | typedef struct { 32 | int is_present; 33 | int ms_used[MAX_SCFAC_BANDS]; 34 | } MSInfo; 35 | 36 | typedef struct { 37 | int tag; 38 | int present; 39 | int ch_is_left; 40 | int paired_ch; 41 | int common_window; 42 | int cpe; 43 | int sce; 44 | int lfe; 45 | MSInfo msInfo; 46 | } ChannelInfo; 47 | 48 | void GetChannelInfo(ChannelInfo *channelInfo, int numChannels, int useLfe); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif /* __cplusplus */ 53 | 54 | #endif /* CHANNEL_H */ 55 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/channels.lo: -------------------------------------------------------------------------------- 1 | # channels.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='channels.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/channels.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/channels.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/fft.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * $Id: fft.h,v 1.6 2005/02/02 07:50:35 sur Exp $ 4 | * Copyright (C) 2002 Krzysztof Nikiel 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with this library; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 | * 20 | */ 21 | 22 | #ifndef _FFT_H_ 23 | #define _FFT_H_ 24 | 25 | typedef float fftfloat; 26 | 27 | #if defined DRM && !defined DRM_1024 28 | 29 | #define MAX_FFT 10 30 | 31 | typedef struct 32 | { 33 | /* cfg[Max FFT][FFT and inverse FFT] */ 34 | void* cfg[MAX_FFT][2]; 35 | } FFT_Tables; 36 | 37 | #else /* use own FFT */ 38 | 39 | typedef struct 40 | { 41 | fftfloat **costbl; 42 | fftfloat **negsintbl; 43 | unsigned short **reordertbl; 44 | } FFT_Tables; 45 | 46 | #endif /* defined DRM && !defined DRM_1024 */ 47 | 48 | void fft_initialize ( FFT_Tables *fft_tables ); 49 | void fft_terminate ( FFT_Tables *fft_tables ); 50 | 51 | void rfft ( FFT_Tables *fft_tables, double *x, int logm ); 52 | void fft ( FFT_Tables *fft_tables, double *xr, double *xi, int logm ); 53 | void ffti ( FFT_Tables *fft_tables, double *xr, double *xi, int logm ); 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/fft.lo: -------------------------------------------------------------------------------- 1 | # fft.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='fft.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/fft.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/fft.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/filtbank.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: filtbank.h,v 1.11 2005/02/02 07:51:49 sur Exp $ 20 | */ 21 | 22 | #ifndef FILTBANK_H 23 | #define FILTBANK_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif /* __cplusplus */ 28 | 29 | #include "frame.h" 30 | 31 | #ifdef DRM 32 | #define NFLAT_LS (( BLOCK_LEN_LONG - BLOCK_LEN_SHORT ) / 2) 33 | #else 34 | #define NFLAT_LS 448 35 | #endif 36 | 37 | #define MOVERLAPPED 0 38 | #define MNON_OVERLAPPED 1 39 | 40 | 41 | #define SINE_WINDOW 0 42 | #define KBD_WINDOW 1 43 | 44 | void FilterBankInit ( faacEncHandle hEncoder ); 45 | 46 | void FilterBankEnd ( faacEncHandle hEncoder ); 47 | 48 | void FilterBank( faacEncHandle hEncoder, 49 | CoderInfo *coderInfo, 50 | double *p_in_data, 51 | double *p_out_mdct, 52 | double *p_overlap, 53 | int overlap_select ); 54 | 55 | void IFilterBank( faacEncHandle hEncoder, 56 | CoderInfo *coderInfo, 57 | double *p_in_data, 58 | double *p_out_mdct, 59 | double *p_overlap, 60 | int overlap_select ); 61 | 62 | void specFilter( double *freqBuff, 63 | int sampleRate, 64 | int lowpassFreq, 65 | int specLen ); 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif /* __cplusplus */ 70 | 71 | #endif /* FILTBANK_H */ 72 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/filtbank.lo: -------------------------------------------------------------------------------- 1 | # filtbank.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='filtbank.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/filtbank.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/filtbank.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/frame.lo: -------------------------------------------------------------------------------- 1 | # frame.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='frame.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/frame.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/frame.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/huffman.lo: -------------------------------------------------------------------------------- 1 | # huffman.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='huffman.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/huffman.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/huffman.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/kiss_fft/CHANGELOG: -------------------------------------------------------------------------------- 1 | 1.2.1 (April 4, 2004) 2 | compiles cleanly with just about every -W warning flag under the sun 3 | 4 | reorganized kiss_fft_state so it could be read-only/const. This may be useful for embedded systems 5 | that are willing to predeclare twiddle factors, factorization. 6 | 7 | Fixed C_MUL,S_MUL on 16-bit platforms. 8 | 9 | tmpbuf will only be allocated if input & output buffers are same 10 | scratchbuf will only be allocated for ffts that are not multiples of 2,3,5 11 | 12 | NOTE: The tmpbuf,scratchbuf changes may require synchronization code for multi-threaded apps. 13 | 14 | 15 | 1.2 (Feb 23, 2004) 16 | interface change -- cfg object is forward declaration of struct instead of void* 17 | This maintains type saftey and lets the compiler warn/error about stupid mistakes. 18 | (prompted by suggestion from Erik de Castro Lopo) 19 | 20 | small speed improvements 21 | 22 | added psdpng.c -- sample utility that will create png spectrum "waterfalls" from an input file 23 | ( not terribly useful yet) 24 | 25 | 1.1.1 (Feb 1, 2004 ) 26 | minor bug fix -- only affects odd rank, in-place, multi-dimensional FFTs 27 | 28 | 1.1 : (Jan 30,2004) 29 | split sample_code/ into test/ and tools/ 30 | 31 | Removed 2-D fft and added N-D fft (arbitrary) 32 | 33 | modified fftutil.c to allow multi-d FFTs 34 | 35 | Modified core fft routine to allow an input stride via kiss_fft_stride() 36 | (eased support of multi-D ffts) 37 | 38 | Added fast convolution filtering (FIR filtering using overlap-scrap method, with tail scrap) 39 | 40 | Add kfc.[ch]: the KISS FFT Cache. It takes care of allocs for you ( suggested by Oscar Lesta ). 41 | 42 | 1.0.1 (Dec 15, 2003) 43 | fixed bug that occurred when nfft==1 44 | 45 | 1.0 : (Dec 14, 2003) 46 | changed kiss_fft function from using a single buffer, to two buffers. 47 | If the same buffer pointer is supplied for both in and out, kiss will 48 | manage the buffer copies. 49 | 50 | added kiss_fft2d and kiss_fftr as separate source files (declarations in kiss_fft.h ) 51 | 52 | 0.4 :(Nov 4,2003) optimized for radix 2,3,4,5 53 | 54 | 0.3 :(Oct 28, 2003) woops, version 2 didn't actually factor out any radices other than 2 55 | 56 | 0.2 :(Oct 27, 2003) added mixed radix, only radix 2,4 optimized versions 57 | 58 | 0.1 :(May 19 2003) initial release, radix 2 only 59 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/kiss_fft/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2004 Mark Borgerding 2 | 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 9 | * Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. 10 | 11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 12 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/kiss_fft/README.kiss_fft: -------------------------------------------------------------------------------- 1 | See README and COPYING files for author and copyright information. 2 | 3 | kiss_fft.c is modified in order to eliminate static variables. 4 | 5 | -- sur. 6 | 7 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/kiss_fft/TIPS: -------------------------------------------------------------------------------- 1 | Speed: 2 | * experiment with compiler flags 3 | Special thanks to Oscar Lesta. He suggested some compiler flags 4 | for gcc that make a big difference. They shave 10-15% off 5 | execution time on some systems. Try some combination of: 6 | -march=pentiumpro 7 | -ffast-math 8 | -fomit-frame-pointer 9 | 10 | * If the input data has no imaginary component, use the kiss_fftr code under tools/. 11 | Real ffts are roughly twice as fast as complex. 12 | 13 | Reducing code size: 14 | * remove some of the butterflies. There are currently butterflies optimized for radices 15 | 2,3,4,5. It is worth mentioning that you can still use FFT sizes that contain 16 | these factors, they just won't be quite as fast. You can decide for yourself 17 | whether to keep radix 2 or 4. If you do some work in this area, let me 18 | know what you find. 19 | 20 | * For platforms where ROM/code space is more plentiful than RAM, 21 | consider creating a hardcoded kiss_fft_state. In other words, decide which 22 | FFT size(s) you want and make a structure with the correct factors and twiddles. 23 | 24 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/kiss_fft/kiss_fft.h: -------------------------------------------------------------------------------- 1 | #ifndef KISS_FFT_H 2 | #define KISS_FFT_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | /* 14 | ATTENTION! 15 | If you would like a : 16 | -- a utility that will handle the caching of fft objects 17 | -- real-only FFT 18 | -- a multi-dimensional FFT 19 | -- a command-line utility to perform ffts 20 | -- a command-line utility to perform fast-convolution filtering 21 | 22 | then see tools/ 23 | */ 24 | 25 | #ifdef FIXED_POINT 26 | # define kiss_fft_scalar short 27 | #else 28 | # ifndef kiss_fft_scalar 29 | /* default is float */ 30 | # define kiss_fft_scalar float 31 | # endif 32 | #endif 33 | 34 | typedef struct { 35 | kiss_fft_scalar r; 36 | kiss_fft_scalar i; 37 | }kiss_fft_cpx; 38 | 39 | typedef struct kiss_fft_state* kiss_fft_cfg; 40 | 41 | /* 42 | * kiss_fft_alloc 43 | * 44 | * Initialize a FFT (or IFFT) algorithm's cfg/state buffer. 45 | * 46 | * typical usage: kiss_fft_cfg mycfg=kiss_fft_alloc(1024,0,NULL,NULL); 47 | * 48 | * The return value from fft_alloc is a cfg buffer used internally 49 | * by the fft routine or NULL. 50 | * 51 | * If lenmem is NULL, then kiss_fft_alloc will allocate a cfg buffer using malloc. 52 | * The returned value should be free()d when done to avoid memory leaks. 53 | * 54 | * The state can be placed in a user supplied buffer 'mem': 55 | * If lenmem is not NULL and mem is not NULL and *lenmem is large enough, 56 | * then the function places the cfg in mem and the size used in *lenmem 57 | * and returns mem. 58 | * 59 | * If lenmem is not NULL and ( mem is NULL or *lenmem is not large enough), 60 | * then the function returns NULL and places the minimum cfg 61 | * buffer size in *lenmem. 62 | * */ 63 | 64 | kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem); 65 | 66 | /* 67 | * kiss_fft(cfg,in_out_buf) 68 | * 69 | * Perform an FFT on a complex input buffer. 70 | * for a forward FFT, 71 | * fin should be f[0] , f[1] , ... ,f[nfft-1] 72 | * fout will be F[0] , F[1] , ... ,F[nfft-1] 73 | * Note that each element is complex and can be accessed like 74 | f[k].r and f[k].i 75 | * */ 76 | void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout); 77 | 78 | void kiss_fft_stride(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int fin_stride); 79 | 80 | /* If kiss_fft_alloc allocated a buffer, it is one contiguous 81 | buffer and can be simply free()d when no longer needed*/ 82 | #define kiss_fft_free free 83 | 84 | #ifdef __cplusplus 85 | } 86 | #endif 87 | 88 | #endif 89 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/kiss_fft/kiss_fftr.h: -------------------------------------------------------------------------------- 1 | #ifndef KISS_FTR_H 2 | #define KISS_FTR_H 3 | 4 | #include "kiss_fft.h" 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | 10 | /* 11 | 12 | Real optimized version can save about 45% cpu time vs. complex fft of a real seq. 13 | 14 | 15 | 16 | */ 17 | 18 | typedef struct kiss_fftr_state *kiss_fftr_cfg; 19 | 20 | 21 | kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem); 22 | /* 23 | nfft must be even 24 | 25 | If you don't care to allocate space, use mem = lenmem = NULL 26 | */ 27 | 28 | 29 | void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata); 30 | /* 31 | input timedata has nfft scalar points 32 | output freqdata has nfft/2+1 complex points 33 | */ 34 | 35 | void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata); 36 | /* 37 | input freqdata has nfft/2+1 complex points 38 | output timedata has nfft scalar points 39 | */ 40 | 41 | #define kiss_fftr_free free 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | #endif 47 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/libfaac.def: -------------------------------------------------------------------------------- 1 | LIBRARY libfaac.dll 2 | EXPORTS 3 | ; 4 | ; libfaac exports 5 | ; 6 | faacEncOpen @1 7 | faacEncGetCurrentConfiguration @2 8 | faacEncSetConfiguration @3 9 | faacEncEncode @4 10 | faacEncClose @5 11 | faacEncGetDecoderSpecificInfo @6 12 | faacEncGetVersion @7 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/libfaac.la: -------------------------------------------------------------------------------- 1 | # libfaac.la - a libtool library file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='' 9 | 10 | # Names of this library. 11 | library_names='' 12 | 13 | # The name of the static archive. 14 | old_library='libfaac.a' 15 | 16 | # Linker flags that cannot go in dependency_libs. 17 | inherited_linker_flags=' ' 18 | 19 | # Libraries that this one depends upon. 20 | dependency_libs=' -lm -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/usr/lib' 21 | 22 | # Names of additional weak libraries provided by this library 23 | weak_library_names='' 24 | 25 | # Version information for libfaac. 26 | current=0 27 | age=0 28 | revision=0 29 | 30 | # Is this an already installed library? 31 | installed=no 32 | 33 | # Should we warn about portability when linking against -modules? 34 | shouldnotlink=no 35 | 36 | # Files to dlopen/dlpreopen 37 | dlopen='' 38 | dlpreopen='' 39 | 40 | # Directory that this library needs to be installed in: 41 | libdir='/Users/ricky/Desktop/faacbuild2/build/install/arm64/lib' 42 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/libfaac_dll.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 9.00 2 | # Visual C++ Express 2005 3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaac_dll", "libfaac_dll.vcproj", "{856BB8CF-B944-4D7A-9D59-4945316229AA}" 4 | EndProject 5 | Global 6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 7 | Debug|Win32 = Debug|Win32 8 | Release|Win32 = Release|Win32 9 | EndGlobalSection 10 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 11 | {856BB8CF-B944-4D7A-9D59-4945316229AA}.Debug|Win32.ActiveCfg = Debug|Win32 12 | {856BB8CF-B944-4D7A-9D59-4945316229AA}.Debug|Win32.Build.0 = Debug|Win32 13 | {856BB8CF-B944-4D7A-9D59-4945316229AA}.Release|Win32.ActiveCfg = Release|Win32 14 | {856BB8CF-B944-4D7A-9D59-4945316229AA}.Release|Win32.Build.0 = Release|Win32 15 | EndGlobalSection 16 | GlobalSection(SolutionProperties) = preSolution 17 | HideSolutionNode = FALSE 18 | EndGlobalSection 19 | EndGlobal 20 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/libfaac_dll_drm.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 9.00 2 | # Visual C++ Express 2005 3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaac_dll", "libfaac_dll_drm.vcproj", "{AA2D0EFE-E73D-40AD-ADCE-8A2B54F34C6F}" 4 | EndProject 5 | Global 6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 7 | Debug DRM|Win32 = Debug DRM|Win32 8 | Debug|Win32 = Debug|Win32 9 | Release DRM|Win32 = Release DRM|Win32 10 | Release|Win32 = Release|Win32 11 | EndGlobalSection 12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 13 | {AA2D0EFE-E73D-40AD-ADCE-8A2B54F34C6F}.Debug DRM|Win32.ActiveCfg = Debug DRM|Win32 14 | {AA2D0EFE-E73D-40AD-ADCE-8A2B54F34C6F}.Debug DRM|Win32.Build.0 = Debug DRM|Win32 15 | {AA2D0EFE-E73D-40AD-ADCE-8A2B54F34C6F}.Debug|Win32.ActiveCfg = Debug|Win32 16 | {AA2D0EFE-E73D-40AD-ADCE-8A2B54F34C6F}.Debug|Win32.Build.0 = Debug|Win32 17 | {AA2D0EFE-E73D-40AD-ADCE-8A2B54F34C6F}.Release DRM|Win32.ActiveCfg = Release DRM|Win32 18 | {AA2D0EFE-E73D-40AD-ADCE-8A2B54F34C6F}.Release DRM|Win32.Build.0 = Release DRM|Win32 19 | {AA2D0EFE-E73D-40AD-ADCE-8A2B54F34C6F}.Release|Win32.ActiveCfg = Release|Win32 20 | {AA2D0EFE-E73D-40AD-ADCE-8A2B54F34C6F}.Release|Win32.Build.0 = Release|Win32 21 | EndGlobalSection 22 | GlobalSection(SolutionProperties) = preSolution 23 | HideSolutionNode = FALSE 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/libfaacdrm.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | ; 3 | ; libfaac exports 4 | ; 5 | faacEncOpen @1 6 | faacEncGetCurrentConfiguration @2 7 | faacEncSetConfiguration @3 8 | faacEncEncode @4 9 | faacEncClose @5 10 | faacEncGetDecoderSpecificInfo @6 11 | faacEncGetVersion @7 12 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/ltp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: ltp.h,v 1.3 2001/06/08 18:01:09 menno Exp $ 20 | */ 21 | 22 | #ifndef LTP_H 23 | #define LTP_H 24 | 25 | #include "coder.h" 26 | 27 | 28 | 29 | void LtpInit(faacEncHandle hEncoder); 30 | void LtpEnd(faacEncHandle hEncoder); 31 | int LtpEncode(faacEncHandle hEncoder, 32 | CoderInfo *coderInfo, 33 | LtpInfo *ltpInfo, 34 | TnsInfo *tnsInfo, 35 | double *p_spectrum, 36 | double *p_time_signal); 37 | void LtpReconstruct(CoderInfo *coderInfo, LtpInfo *ltpInfo, double *p_spectrum); 38 | void LtpUpdate(LtpInfo *ltpInfo, double *time_signal, 39 | double *overlap_signal, int block_size_long); 40 | 41 | #endif /* not defined LTP_H */ 42 | 43 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/ltp.lo: -------------------------------------------------------------------------------- 1 | # ltp.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='ltp.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/ltp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/ltp.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/midside.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2003 Krzysztof Nikiel 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: midside.h,v 1.1 2003/06/26 19:40:23 knik Exp $ 20 | */ 21 | 22 | #ifndef _MIDSIDE_H 23 | #define _MIDSIDE_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif /* __cplusplus */ 28 | 29 | #include "coder.h" 30 | 31 | 32 | void MSEncode(CoderInfo *coderInfo, ChannelInfo *channelInfo, double *spectrum[MAX_CHANNELS], 33 | unsigned int numberOfChannels, unsigned int msenable); 34 | void MSReconstruct(CoderInfo *coderInfo, ChannelInfo *channelInfo, int numberOfChannels); 35 | 36 | #ifdef __cplusplus 37 | } 38 | #endif /* __cplusplus */ 39 | 40 | #endif /* _MIDSIDE_H */ 41 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/midside.lo: -------------------------------------------------------------------------------- 1 | # midside.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='midside.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/midside.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/midside.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/psych.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: psych.h,v 1.14 2005/04/24 19:16:14 rjamorim Exp $ 20 | */ 21 | 22 | #ifndef PSYCH_H 23 | #define PSYCH_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif /* __cplusplus */ 28 | 29 | #ifndef M_PI 30 | #define M_PI 3.14159265358979323846 31 | #endif 32 | 33 | #include "coder.h" 34 | #include "channels.h" 35 | #include "fft.h" 36 | 37 | typedef struct { 38 | int size; 39 | int sizeS; 40 | 41 | /* Previous input samples */ 42 | double *prevSamples; 43 | double *prevSamplesS; 44 | 45 | int block_type; 46 | 47 | void *data; 48 | } PsyInfo; 49 | 50 | typedef struct { 51 | double sampleRate; 52 | 53 | /* Hann window */ 54 | double *hannWindow; 55 | double *hannWindowS; 56 | 57 | void *data; 58 | } GlobalPsyInfo; 59 | 60 | typedef struct 61 | { 62 | void (*PsyInit) (GlobalPsyInfo *gpsyInfo, PsyInfo *psyInfo, 63 | unsigned int numChannels, unsigned int sampleRate, 64 | int *cb_width_long, int num_cb_long, 65 | int *cb_width_short, int num_cb_short); 66 | void (*PsyEnd) (GlobalPsyInfo *gpsyInfo, PsyInfo *psyInfo, 67 | unsigned int numChannels); 68 | void (*PsyCalculate) (ChannelInfo *channelInfo, GlobalPsyInfo *gpsyInfo, 69 | PsyInfo *psyInfo, int *cb_width_long, int num_cb_long, 70 | int *cb_width_short, int num_cb_short, 71 | unsigned int numChannels); 72 | void (*PsyBufferUpdate) ( FFT_Tables *fft_tables, GlobalPsyInfo * gpsyInfo, PsyInfo * psyInfo, 73 | double *newSamples, unsigned int bandwidth, 74 | int *cb_width_short, int num_cb_short); 75 | void (*BlockSwitch) (CoderInfo *coderInfo, PsyInfo *psyInfo, 76 | unsigned int numChannels); 77 | } psymodel_t; 78 | 79 | extern psymodel_t psymodel2; 80 | 81 | #ifdef __cplusplus 82 | } 83 | #endif /* __cplusplus */ 84 | 85 | #endif /* PSYCH_H */ -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/psychkni.lo: -------------------------------------------------------------------------------- 1 | # psychkni.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='psychkni.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/psychkni.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/psychkni.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/tns.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | 3 | This software module was originally developed by 4 | and edited by Texas Instruments in the course of 5 | development of the MPEG-2 NBC/MPEG-4 Audio standard 6 | ISO/IEC 13818-7, 14496-1,2 and 3. This software module is an 7 | implementation of a part of one or more MPEG-2 NBC/MPEG-4 Audio tools 8 | as specified by the MPEG-2 NBC/MPEG-4 Audio standard. ISO/IEC gives 9 | users of the MPEG-2 NBC/MPEG-4 Audio standards free license to this 10 | software module or modifications thereof for use in hardware or 11 | software products claiming conformance to the MPEG-2 NBC/ MPEG-4 Audio 12 | standards. Those intending to use this software module in hardware or 13 | software products are advised that this use may infringe existing 14 | patents. The original developer of this software module and his/her 15 | company, the subsequent editors and their companies, and ISO/IEC have 16 | no liability for use of this software module or modifications thereof 17 | in an implementation. Copyright is not released for non MPEG-2 18 | NBC/MPEG-4 Audio conforming products. The original developer retains 19 | full right to use the code for his/her own purpose, assign or donate 20 | the code to a third party and to inhibit third party from using the 21 | code for non MPEG-2 NBC/MPEG-4 Audio conforming products. This 22 | copyright notice must be included in all copies or derivative works. 23 | 24 | Copyright (c) 1997. 25 | **********************************************************************/ 26 | /* 27 | * $Id: tns.h,v 1.5 2003/11/24 18:08:28 knik Exp $ 28 | */ 29 | 30 | #ifndef TNS_H 31 | #define TNS_H 32 | 33 | #ifdef __cplusplus 34 | extern "C" { 35 | #endif /* __cplusplus */ 36 | 37 | 38 | void TnsInit(faacEncHandle hEncoder); 39 | void TnsEncode(TnsInfo* tnsInfo, int numberOfBands,int maxSfb,enum WINDOW_TYPE blockType, 40 | int* sfbOffsetTable,double* spec); 41 | void TnsEncodeFilterOnly(TnsInfo* tnsInfo, int numberOfBands, int maxSfb, 42 | enum WINDOW_TYPE blockType, int *sfbOffsetTable, double *spec); 43 | void TnsDecodeFilterOnly(TnsInfo* tnsInfo, int numberOfBands, int maxSfb, 44 | enum WINDOW_TYPE blockType, int *sfbOffsetTable, double *spec); 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif /* __cplusplus */ 49 | 50 | #endif /* TNS_H */ 51 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/tns.lo: -------------------------------------------------------------------------------- 1 | # tns.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='tns.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/tns.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/tns.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/util.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FAAC - Freeware Advanced Audio Coder 3 | * Copyright (C) 2001 Menno Bakker 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | * $Id: util.h,v 1.8 2003/12/20 04:32:48 stux Exp $ 20 | */ 21 | 22 | #ifndef UTIL_H 23 | #define UTIL_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif /* __cplusplus */ 28 | 29 | #include 30 | #include 31 | 32 | #ifndef max 33 | #define max(a, b) (((a) > (b)) ? (a) : (b)) 34 | #endif 35 | #ifndef min 36 | #define min(a, b) (((a) < (b)) ? (a) : (b)) 37 | #endif 38 | 39 | #ifndef M_PI 40 | #define M_PI 3.14159265358979323846 41 | #endif 42 | 43 | /* Memory functions */ 44 | #define AllocMemory(size) malloc(size) 45 | #define FreeMemory(block) free(block) 46 | #define SetMemory(block, value, size) memset(block, value, size) 47 | 48 | int GetSRIndex(unsigned int sampleRate); 49 | int GetMaxPredSfb(int samplingRateIdx); 50 | unsigned int MaxBitrate(unsigned long sampleRate); 51 | unsigned int MinBitrate(); 52 | unsigned int MaxBitresSize(unsigned long bitRate, unsigned long sampleRate); 53 | unsigned int BitAllocation(double pe, int short_block); 54 | 55 | #ifdef __cplusplus 56 | } 57 | #endif /* __cplusplus */ 58 | 59 | #endif /* UTIL_H */ 60 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/util.lo: -------------------------------------------------------------------------------- 1 | # util.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object=none 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='util.o' 12 | 13 | -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/util.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fflydev/faac-ios-build/eff7258305bbaadcb42dc42c636d2ae84810dfde/src/faac-1.28/libfaac/util.o -------------------------------------------------------------------------------- /src/faac-1.28/libfaac/version.h: -------------------------------------------------------------------------------- 1 | #ifndef _VERSION_H_ 2 | #define _VERSION_H_ 3 | 4 | #define FAAC_RELEASE 1 5 | 6 | #define FAAC_VERSION "1.28" 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /src/faac-1.28/ltmain.sh: -------------------------------------------------------------------------------- 1 | /usr/local/Cellar/libtool/2.4.6/share/libtool/build-aux/ltmain.sh -------------------------------------------------------------------------------- /src/faac-1.28/plugins/cooledit/FAAC.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | 3 | EXPORTS 4 | QueryCoolFilter 5 | OpenFilterOutput 6 | CloseFilterOutput 7 | WriteFilterOutput 8 | OpenFilterInput 9 | CloseFilterInput 10 | ReadFilterInput 11 | FilterUnderstandsFormat 12 | FilterGetFileSize 13 | FilterOptionsString 14 | FilterGetOptions 15 | GetSuggestedSampleType 16 | ; DIALOGMsgProc 17 | ; FilterOptions 18 | ; FilterSetOptions 19 | -------------------------------------------------------------------------------- /src/faac-1.28/plugins/cooledit/FAAC.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 9.00 3 | # Visual Studio 2005 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FAAC", "FAAC.vcproj", "{DEC2740A-F3D5-430C-BB81-C57006D20378}" 5 | ProjectSection(ProjectDependencies) = postProject 6 | {2E6FD2E8-55B9-4740-8882-CF823F77F7E1} = {2E6FD2E8-55B9-4740-8882-CF823F77F7E1} 7 | {429A062F-81E0-4EFD-832B-55E0DE931FC8} = {429A062F-81E0-4EFD-832B-55E0DE931FC8} 8 | {BD8FBE75-314D-476B-B13C-A206C52F0BD1} = {BD8FBE75-314D-476B-B13C-A206C52F0BD1} 9 | {7F01A591-0084-4749-B53F-F9D2BFE8DF6E} = {7F01A591-0084-4749-B53F-F9D2BFE8DF6E} 10 | {6440BFC6-57A6-4F6E-A8FB-F960D088ADEE} = {6440BFC6-57A6-4F6E-A8FB-F960D088ADEE} 11 | EndProjectSection 12 | EndProject 13 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aacInfoLib", "aacInfoLib.vcproj", "{3257D980-5029-486B-94DC-AA520B501C62}" 14 | EndProject 15 | Project("{059D6162-CD51-11D0-AE1F-00A0C90FFFC3}") = "id3lib", "..\..\..\faad2\common\id3lib\libprj\id3lib.dsp", "{7F01A591-0084-4749-B53F-F9D2BFE8DF6E}" 16 | EndProject 17 | Project("{059D6162-CD51-11D0-AE1F-00A0C90FFFC3}") = "libfaac", "..\..\libfaac\libfaac.dsp", "{2E6FD2E8-55B9-4740-8882-CF823F77F7E1}" 18 | EndProject 19 | Project("{059D6162-CD51-11D0-AE1F-00A0C90FFFC3}") = "libfaad", "..\..\..\faad2\libfaad\libfaad.dsp", "{429A062F-81E0-4EFD-832B-55E0DE931FC8}" 20 | EndProject 21 | Project("{059D6162-CD51-11D0-AE1F-00A0C90FFFC3}") = "libmp4v2_st", "..\..\..\faad2\common\mp4v2\libmp4v2_st60.dsp", "{BD8FBE75-314D-476B-B13C-A206C52F0BD1}" 22 | EndProject 23 | Project("{059D6162-CD51-11D0-AE1F-00A0C90FFFC3}") = "zlib", "..\..\..\faad2\common\id3lib\zlib\prj\zlib.dsp", "{6440BFC6-57A6-4F6E-A8FB-F960D088ADEE}" 24 | EndProject 25 | Global 26 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 27 | Debug|Win32 = Debug|Win32 28 | Release|Win32 = Release|Win32 29 | EndGlobalSection 30 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 31 | {DEC2740A-F3D5-430C-BB81-C57006D20378}.Debug|Win32.ActiveCfg = Debug|Win32 32 | {DEC2740A-F3D5-430C-BB81-C57006D20378}.Debug|Win32.Build.0 = Debug|Win32 33 | {DEC2740A-F3D5-430C-BB81-C57006D20378}.Release|Win32.ActiveCfg = Release|Win32 34 | {DEC2740A-F3D5-430C-BB81-C57006D20378}.Release|Win32.Build.0 = Release|Win32 35 | {3257D980-5029-486B-94DC-AA520B501C62}.Debug|Win32.ActiveCfg = Debug|Win32 36 | {3257D980-5029-486B-94DC-AA520B501C62}.Debug|Win32.Build.0 = Debug|Win32 37 | {3257D980-5029-486B-94DC-AA520B501C62}.Release|Win32.ActiveCfg = Release|Win32 38 | {3257D980-5029-486B-94DC-AA520B501C62}.Release|Win32.Build.0 = Release|Win32 39 | EndGlobalSection 40 | GlobalSection(SolutionProperties) = preSolution 41 | HideSolutionNode = FALSE 42 | EndGlobalSection 43 | EndGlobal 44 | -------------------------------------------------------------------------------- /src/faac-1.28/plugins/cooledit/Readme.txt: -------------------------------------------------------------------------------- 1 | +-----------------------------------------------------------------+ 2 | | | 3 | | Cooledit/Audition plugin | 4 | | ------------------------ | 5 | | | 6 | +-----------------------------------------------------------------+ 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License. 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY. 12 | 13 | ---------------------------------------------------------------------------- 14 | 15 | FAAC is a codec plugin for Cooledit/Audition to import and export .aac/.mp4 files. 16 | 17 | To use it: 18 | ---------- 19 | 20 | 1) put FAAC and FAAD2 packages into the same folder; 21 | 2) open the project, set "Active Configuration = FAAC - win32 Release" and compile; 22 | 3) copy FAAC.flt into CoolEdit folder and delete flt.dat 23 | 24 | To write .mp4 files: 25 | -------------------- 26 | 27 | Select "Write .mp4" in the config dialog or 28 | append .mp4 extension to the name of file in the "Save waveform as" dialog. 29 | 30 | ---------------------------------------------------------------------------- 31 | 32 | For suggestions, bugs report, etc., you can contact me at 33 | ntnfrn_email-temp@yahoo.it 34 | -------------------------------------------------------------------------------- /src/faac-1.28/plugins/cooledit/aacInfoLib.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 9.00 3 | # Visual Studio 2005 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aacInfoLib", "aacInfoLib.vcproj", "{3257D980-5029-486B-94DC-AA520B501C62}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {3257D980-5029-486B-94DC-AA520B501C62}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {3257D980-5029-486B-94DC-AA520B501C62}.Debug|Win32.Build.0 = Debug|Win32 14 | {3257D980-5029-486B-94DC-AA520B501C62}.Release|Win32.ActiveCfg = Release|Win32 15 | {3257D980-5029-486B-94DC-AA520B501C62}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /src/faac-1.28/plugins/cooledit/defines.h: -------------------------------------------------------------------------------- 1 | /* 2 | FAAC - codec plugin for Cooledit 3 | Copyright (C) 2002-2004 Antonio Foranna 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with this program; if not, write to the Free Software 16 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 | 18 | The author can be contacted at: 19 | ntnfrn_email-temp@yahoo.it 20 | */ 21 | 22 | #define APP_NAME "MPEG4-AAC" 23 | #define APP_VER "v2.6" 24 | #define REGISTRY_PROGRAM_NAME "SOFTWARE\\4N\\CoolEdit\\AAC-MPEG4" 25 | 26 | //#define USE_OUTPUT_FOLDER 27 | #define USE_IMPORT_TAG 28 | #define USE_PATHEXT 29 | 30 | // ********************************************************************************************* 31 | 32 | #define FREE_ARRAY(ptr) \ 33 | { \ 34 | if(ptr!=NULL) \ 35 | free(ptr); \ 36 | ptr=NULL; \ 37 | } 38 | 39 | // ----------------------------------------------------------------------------------------------- 40 | 41 | #define GLOBALLOCK(ptr,handle,type,ret) \ 42 | { \ 43 | if(!(ptr=(type *)GlobalLock(handle))) \ 44 | { \ 45 | MessageBox(0, "GlobalLock", APP_NAME " plugin", MB_OK|MB_ICONSTOP); \ 46 | ret; \ 47 | } \ 48 | } 49 | -------------------------------------------------------------------------------- /src/faac-1.28/stamp-h1: -------------------------------------------------------------------------------- 1 | timestamp for config.h 2 | --------------------------------------------------------------------------------