aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'aosp/master'Martin Storsjo2014-11-0734-6540/+7707
|\
| * am 7e464956: Merge "Move Clang only flags into LOCAL_CLANG_CPPFLAGS."Chih-Hung Hsieh2014-09-231-1/+1
| |\ | | | | | | | | | | | | * commit '7e46495606bd66973a10565f932acee7bddcc003': Move Clang only flags into LOCAL_CLANG_CPPFLAGS.
| | * Merge "Move Clang only flags into LOCAL_CLANG_CPPFLAGS."Chih-Hung Hsieh2014-09-231-1/+1
| | |\
| | | * Move Clang only flags into LOCAL_CLANG_CPPFLAGS.Chih-Hung Hsieh2014-09-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Gcc does not recognize -Wno-pointer-bool-conversion. Change-Id: Ib6ffa321fff1947b6a098244f7d67fdeb45c2b41
| * | | am 4803bf75: Merge "Ignore Clang warning on checking address of arrays."Glenn Kasten2014-09-091-0/+5
| |\| | | | | | | | | | | | | | | | | | * commit '4803bf75f564e5c9304527a5b902711f78e9f621': Ignore Clang warning on checking address of arrays.
| | * | Merge "Ignore Clang warning on checking address of arrays."Glenn Kasten2014-09-091-0/+5
| | |\|
| | | * Ignore Clang warning on checking address of arrays.Chih-Hung Hsieh2014-09-031-0/+5
| | |/ | | | | | | | | | | | | BUG: 17356808 Change-Id: I464ffcfb3fc4f44ac8115f9ae98a8c46189b41cd
| * | am 2decc778: Merge "[MIPSR6] Skip assembler code using MFHI/MFLO on mips32r6"Keun-young Park2014-08-142-2/+2
| |\| | | | | | | | | | | | | * commit '2decc77814e729df47464a504123f9b398ac7077': [MIPSR6] Skip assembler code using MFHI/MFLO on mips32r6
| | * Merge "[MIPSR6] Skip assembler code using MFHI/MFLO on mips32r6"Keun-young Park2014-08-142-2/+2
| | |\
| | | * [MIPSR6] Skip assembler code using MFHI/MFLO on mips32r6Duane Sand2014-07-312-2/+2
| | |/ | | | | | | | | | Change-Id: I3dacd96cf9d5cf9c3d34d612ebb0456d64bc23bc
| * | AAC-Decoder: SBR delay for gaplessJean-Michel Trivi2014-05-206-8/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revise decoder output delay determination. The output delay consisted of concealment and limiter delay. SBR delay was not covered but must be considered for gapless playback delay compensation. Bug 9428126 Change-Id: I67483712c284de9b5378694f9db7acbed2547dd7
| * | AAC-Decoder: DRC metadata in stream infoJean-Michel Trivi2014-05-206-7/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | Provide relevant DRC metadata information via API needed for DRC presentation mode wrapper. Bug 9428126 Change-Id: I827cd6bdfd2a8799c21935ae32af23739c90a9b6
| * | AAC Decoder: flush/seek improvementsJean-Michel Trivi2014-05-207-26/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve flushing and seeking. Add field to the API stream info structure signaling the additional output delay for flushing and delay compensation. Bug 9428126 Change-Id: I808412905563ea3de50a2e77a9b5dfee829cd2ed
| * | am 35f30c5a: Merge "AArch64: Make LONG 4 bytes"Glenn Kasten2014-04-092-5/+5
| |\| | | | | | | | | | | | | * commit '35f30c5ab8089f38681d2fdd416c00aebef5a7ff': AArch64: Make LONG 4 bytes
| | * Merge "AArch64: Make LONG 4 bytes"Glenn Kasten2014-04-092-5/+5
| | |\
| | | * AArch64: Make LONG 4 bytesMarcus Oakland2014-03-112-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The libSYS/include/machine_type.h header file states LONG should be "Data type representing 4 byte signed integer on all supported platforms" but only provided for defining LONG as INT and ULONG as UINT when __x86_64__ was defined. This has been changed to when __LP64__ is defined, so that it also applies to AArch64. The change to libFDK/include/common_fix.h is then needed to get the project to compile. Change-Id: Iea42d7eca97dcc9da772a05b207d134cb999a72a Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
| * | | AAC Decoder: introduce time domain limiterJean-Michel Trivi2014-03-3111-2078/+3053
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce time domain limiter. The module is per default enabled for all AAC-LC and HE-AAC v1/2 streams. For all ER-AAC-LD and ER-AAC-ELD streams the limiter is disabled per default. The feature can be en- or disabled via dynamic API parameter. Note that the limiter introduces an additional output delay which depends on the module parameters and the streams sampling rate. Bug 9428126 Change-Id: I299a072340b33e2c324facbd347a72c8de3d380e
| * | | am 3252951f: Merge "Temporary workaround for 64-bit build error"Glenn Kasten2014-03-191-1/+1
| |\| | | | | | | | | | | | | | | | | | * commit '3252951f61e011241ce6dd8fff775fe9b9aed97f': Temporary workaround for 64-bit build error
| | * | Merge "Temporary workaround for 64-bit build error"Glenn Kasten2014-03-191-1/+1
| | |\ \ | | | |/ | | |/|
| | | * Temporary workaround for 64-bit build errorGlenn Kasten2014-03-121-1/+1
| | |/ | | | | | | | | | | | | | | | Replace #error by #warning so we can build 64-bit Change-Id: Ib52fbfb0e5e945ff04ba51ae06b4e3393886d7b7
| * / AAC Decoder: support 6.1/7.1 decoded as 5.1Jean-Michel Trivi2013-12-3025-6539/+6522
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add 6.1 and 7.1 channel support including downmixer. Per default the decoder creates a 5.1 channel output for all streams with more than six encoded channels. Modified file(s): libPCMutils/include/pcmutils_lib.h libPCMutils/src/pcmutils_lib.cpp libAACdec/include/aacdecoder_lib.h libAACdec/src/aac_rom.h libAACdec/src/aacdecoder.cpp libAACdec/src/aac_ram.cpp libAACdec/src/aacdec_drc.cpp libAACdec/src/aacdecoder_lib.cpp libAACdec/src/aac_rom.cpp libAACdec/src/aacdecoder.h libSBRdec/include/sbrdecoder.h libSBRdec/src/sbrdec_drc.h libSBRdec/src/sbrdecoder.cpp libSBRdec/src/sbr_ram.cpp libSBRdec/src/sbr_ram.h libMpegTPDec/include/tp_data.h libMpegTPDec/include/tpdec_lib.h libMpegTPDec/src/version libMpegTPDec/src/tpdec_asc.cpp libMpegTPEnc/include/tp_data.h libMpegTPEnc/src/version libSYS/include/FDK_audio.h libSYS/src/genericStds.cpp - Fix error concealment modules fade-out/in mechanism. Modified file(s): libAACdec/src/conceal.cpp Bug 9428126 Change-Id: I3230bd2072314b730911cd7ec1740e290cb1d254
* | Include libFDK ppc headers in make distMartin Storsjo2014-11-041-0/+1
| |
* | Extend the GetInvInt table to 80 elementsMartin Storsjo2014-08-013-10/+14
| | | | | | | | | | | | | | | | | | | | This is a bug fix patch from Fraunhofer, amending/replacing/extending the previous commit which only extended the table to 55 elements. (In my previous fix, 55 seemed to be enough for the issue at hand at least. A few of the coefficients had slightly different rounding than what Fraunhofer had used though). This will show up in AOSP in the next code drop as well.
* | Extend GetInvInt to support values up to 54Martin Storsjo2014-07-292-6/+7
| | | | | | | | | | | | | | | | | | For sample rates >= 64 kHz with short blocks, the largest sfb width is 36, which after grouping can be multiplied with 3, ending up as 108. GetInvInt needs to be able to support the largest grouped sfb width, divided by two (3 * 36 / 2 = 54). This fixes VBR encoding with sample rates >= 64 kHz.
* | Add support for waveformatex filesMartin Storsjo2014-06-231-1/+11
| | | | | | | | This is used for multichannel wave files.
* | Support reading sox style piped wav filesMartin Storsjo2014-06-231-1/+1
| | | | | | | | | | Sox writes the RIFF header size as a very large number, instead of as 0 as in libavformat.
* | Use skip instead of fseekMartin Storsjo2014-06-231-2/+8
| | | | | | | | | | | | | | | | fseek(SEEK_CUR) doesn't work for nonseekable streams (such as pipes). Only do this for skipping past small chunks; don't use it for skipping past the actual data for non-streamed input.
* | Allow reading wav files with a 0 bytes RIFF chunkMartin Storsjo2014-06-231-1/+5
| | | | | | | | | | This is required in order to read streamed wav files produced by the libavformat wav muxer.
* | Allow opening stdin when "-" is specifiedMartin Storsjo2014-06-231-2/+6
| |
* | Support streamed wav files with a 0 bytes data chunkMartin Storsjo2014-06-231-1/+7
| |
* | Use AC_SEARCH_LIBS to search for a library containing math functionsMartin Storsjo2014-06-231-1/+1
| | | | | | | | | | Even though the previous mechanism worked, this should be more correct.
* | Fix AIX buildMark Harris2014-05-261-2/+2
| | | | | | | | | | | | | | Fix AIX build failure with IBM xlC compiler due to conflicting definition of M_PI. The libSYS/include/genericStds.h definition is guarded with #ifndef M_PI, but was included before <math.h> which defines M_PI with more significant digits.
* | Add ppc optimization for clz and fixmulMark Harris2014-05-265-1/+232
| | | | | | | | | | Optimize ppc/ppc64 similar to i386/x86_64, approximately doubling encoding speed on a Power Mac G5 running OS X 10.5.8.
* | Make LONG 32 bits for ppc64 as it is for x86_64Mark Harris2014-05-262-5/+5
| |
* | Fix PowerPC Mac buildMark Harris2014-05-261-0/+4
| |
* | Bump the version number, add a changelog entryv0.1.3Martin Storsjo2013-11-252-2/+6
| |
* | Include autogen.sh when building distribution packagesMartin Storsjo2013-11-251-0/+1
| |
* | Include the encoder library version in the publicly installed headerMartin Storsjo2013-11-011-0/+3
| | | | | | | | | | This allows callers to conditionally use new API features without breaking compatibility with the earlier versions of the library.
* | Avoid casting arbitrary values to an enumMartin Storsjo2013-11-011-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The enum only contains the constant values 0, 1 and 2. This produces the warning "comparison of constant 6 with expression of type 'PS_RESOLUTION' is always false" in clang for the first check in the getNoBands function (but apparently not for the second one even though mode>=3 shouldn't ever happen for a valid PS_RESOLUTION value either). This could allow the compiler to completely remove the conditions that shouldn't be able to occur even though they actually are used and are necessary. By passing the value as UINT instead, it is clear to the compiler that all the checks are necessary.
* | Revert "Avoid too big changes in isScale"Martin Storsjo2013-11-011-9/+0
| | | | | | | | | | | | | | | | This reverts commit 226601a8d9bce81455e161a0e26051d2f22c5d7a. This change doesn't seem to be necessary any longer, a proper fix seems to be included upstream now in 60a27b7fe5bf2c3b07ae7f679ca67c0c5cba3b00.
* | Merge remote-tracking branch 'aosp/kitkat-release' into kitkat-mergeMartin Storsjo2013-11-01306-6930/+7861
|\| | | | | | | | | Conflicts: libAACenc/src/quantize.cpp
| * Encoder 7.1 supportJean-Michel Trivi2013-09-0327-193/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AAC-Encoder - Add 7.1 rear surround and 7.1 front center support to supported encoder channel modes. Change max channels from 6 to 8 and add 7.1 configuration to bandwidth and channel mapping functions. Modified file(s): libAACenc\include\aacenc_lib.h libAACenc\src\aacEnc_ram.cpp libAACenc\src\aacEnc_ram.h libAACenc\src\aacenc.cpp libAACenc\src\aacenc.h libAACenc\src\aacenc_lib.cpp libAACenc\src\adj_thr.cpp libAACenc\src\adj_thr.h libAACenc\src\adj_thr_data.h libAACenc\src\bandwidth.cpp libAACenc\src\bitenc.cpp libAACenc\src\channel_map.cpp libAACenc\src\interface.h libAACenc\src\metadata_compressor.cpp libAACenc\src\psy_main.cpp libAACenc\src\psy_main.h libAACenc\src\qc_data.h libAACenc\src\qc_main.cpp libAACenc\src\qc_main.h * SBR-Encoder - Support up to 7.1 audio channels. Changed max channels from 6 to 8. Modified file(s): libSBRenc\include\sbr_encoder.h libSBRenc\src\sbr.h libSBRenc\src\sbr_encoder.cpp libSBRenc\src\sbr_ram.cpp * Transport-Encoder - Add 7.1 channel configuration to audio specific config writer in transport encoder library. Modified file(s): libMpegTPEnc\src\tpenc_asc.cpp libMpegTPEnc\src\version * SYS-Library - Add 7.1 channel modes to CHANNEL_MODE description. Modified file(s): libSYS\include\FDK_audio.h libSYS\src\genericStds.cpp Bug 9428126 Change-Id: Ide53583aa8e03df4537b98db80740dfe0e7a9e0f
| * Encoder ELD auto configuratorJean-Michel Trivi2013-09-032-4/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AAC-Encoder - Introduce ELD auto configurator to get predefined configuration at given bitrate and sampling rate. The configurator selects SBR on/off and if SBR enabled distinguishes between dualrate and downsampled SBR. In default configuration the ELD auto configurator is enabled. Modified file(s): libAACenc\include\aacenc_lib.h libAACenc\src\aacenc_lib.cpp Bug 9428126 Change-Id: I01acc9c37e57c4154b3a818d496d538b7f8b227d
| * Encoder explicit signalingJean-Michel Trivi2013-09-037-3588/+3828
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AAC-Encoder - Revise explicit signaling method which is required for downsampled SBR. The parameter is optional and default configuration is implicit signaling for dualrate SBR as before. In case of downsampled SBR and HE-AAC explicit signaling is configured as default. Modified file(s): documentation\aacEncoder.pdf libAACenc\include\aacenc_lib.h libAACenc\src\aacenc_lib.cpp libMpegTPEnc\src\tpenc_asc.cpp libMpegTPEnc\src\version libSYS\include\FDK_audio.h libSYS\src\genericStds.cpp Bug 9428126 Change-Id: I35138140346f17384d109ee5829be9ea5bab80fc
| * Encoder downsampled SBRJean-Michel Trivi2013-08-2918-5787/+5360
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AAC-Encoder - Introduce optional AACENC_SBR_RATIO encoder API parameter to configure dualrate or downsampled SBR explicitely. ELD makes use of downsampled SBR in default configuration. Modified file(s): documentation\aacEncoder.pdf libAACenc\include\aacenc_lib.h libAACenc\src\aacenc.h libAACenc\src\aacenc_lib.cpp * SBR-Encoder - Implement downsampled SBR feature. - Revise sbr tuning parameter selection. Modified file(s): libSBRenc\include\sbr_encoder.h libSBRenc\src\bit_sbr.h libSBRenc\src\env_est.cpp libSBRenc\src\mh_det.cpp libSBRenc\src\nf_est.cpp libSBRenc\src\ps_main.cpp libSBRenc\src\sbr.h libSBRenc\src\sbr_def.h libSBRenc\src\sbr_encoder.cpp libSBRenc\src\sbr_rom.cpp libSBRenc\src\sbr_rom.h libSBRenc\src\sbrenc_freq_sca.cpp libSBRenc\src\sbrenc_freq_sca.h libSBRenc\src\ton_corr.cpp Bug 9428126 Change-Id: I731720a10829272acaaf70b84525df00a09ff3d2
| * AAC Encoder low delay qualityJean-Michel Trivi2013-08-2814-211/+563
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AAC-Encoder - Revise bit distribution for lowdelay configuration to improve encoder audio quality. - Adjust lowdelay bitreservoir for low bitreservoir configuration. Modified file(s): libAACenc\src\aacEnc_ram.cpp libAACenc\src\aacenc.cpp libAACenc\src\aacenc_lib.cpp libAACenc\src\aacenc_tns.cpp libAACenc\src\adj_thr.cpp libAACenc\src\adj_thr.h libAACenc\src\block_switch.cpp libAACenc\src\block_switch.h libAACenc\src\interface.h libAACenc\src\psy_main.cpp libAACenc\src\qc_data.h libAACenc\src\qc_main.cpp * FDK-Library - Increase the accuracy in CalcInvLdData() calculation which improves the encoder audio quality. Modified file(s): libFDK\src\fixpoint_math.cpp Bug 9428126 Change-Id: I302d7f4c3aeccf79e1b85f20e18a31e6e2b10544
| * Decoder parse ASCJean-Michel Trivi2013-08-273-2/+61
| | | | | | | | | | | | | | | | | | | | * AAC-Decoder - Add support for explicit backward compatible signaling via ASC extension. Bug 9428126 Change-Id: I0cb8226da07e3684bbb7eb95d10b6040973aa0f6
| * Decoder stability, sanity checks improvementsJean-Michel Trivi2013-08-2716-294/+683
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AAC-Decoder - Improved PCE handling for saver (re-)configuration and metadata processing. Modified file(s): libAACdec/src/aacdecoder.cpp libAACdec/src/aacdecoder_lib.cpp - Transport layer changes (config found) -> to be evaluated. Modified file(s): libMpegTPDec/include/tpdec_lib.h libMpegTPDec/src/tpdec_latm.h libMpegTPDec/src/version libMpegTPDec/src/tpdec_asc.cpp libMpegTPDec/src/tpdec_lib.cpp libMpegTPDec/src/tpdec_adts.cpp libMpegTPDec/src/tpdec_latm.cpp libSYS/include/FDK_audio.h libSYS/src/genericStds.cpp - Enable concealment state machine to skip states if the corresponding parameter is set to zero. Modified file(s): libAACdec/src/conceal.cpp - Add some more sanity checks to avoid segmentation faults especially when setting dynamic API params. Modified file(s): libAACdec/src/aacdecoder_lib.cpp - Fix to do a fail-safe initialization of IMDCT for all channels even with corrupt streams. Modified file(s): libAACdec/src/aacdecoder.cpp - HCR decoder fix (remove warnings). Modified file(s): libAACdec/src/block.cpp - Fix border calculation in SBR decoder's LPP transposer patch determination. Modified file(s): libSBRdec/src/env_dec.cpp libSBRdec/src/sbrdecoder.cpp libSBRdec/src/lpp_tran.cpp Bug 9428126 Change-Id: Ib415b702b88a7ec8e9a55789d79cafb39296d26b
| * Decode dynamic range control improvementsJean-Michel Trivi2013-08-276-19/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AAC-Decoder - Only set the program reference level if it has changed compared to the previous value. This allows setting it on a frame-by-frame basis without limitations. Modified file(s): libAACdec/src/aacdec_drc.cpp libAACdec/src/aacdec_drc.h - Add expiry counter for the program reference level. Modified file(s): libAACdec/src/aacdec_drc.cpp libAACdec/src/aacdec_drc_types.h - Disable scaling of light compression gain values when heavy compression mode is enabled to have the full light compression as fallback if no heavy values are available. Modified file(s): libAACdec/src/aacdec_drc.cpp libAACdec/src/aacdecoder_lib.cpp libAACdec/src/aacdec_drc_types.h - Change initialization and channel disabling to improve start-up behavior in SBR decoder. Modified file(s): libSBRdec/src/sbrdecoder.cpp libSBRdec/src/sbrdec_drc.cpp Bug 9428126 Change-Id: Ie1d3949c53910506da2547d32fe3bf6ee7606eb4
| * Decode parametric stereo even with invalid channel configJean-Michel Trivi2013-08-276-11/+18
| | | | | | | | | | | | | | | | | | AAC decoder: Allow decoding of Parametric Stereo (AOT 29) bitstreams with invalid channel config 2. Bug 9428126 Change-Id: I1e8b801dfc0e6b1706421342d4985512e83f0dbe