- 27 Jul, 2013 1 commit
-
-
Martin Storsjo authored
-
- 26 Jul, 2013 1 commit
-
-
Martin Storsjo authored
-
- 10 Jul, 2013 1 commit
-
-
Martin Storsjo authored
This makes sure we read the right array element, corresponding to all other array accesses in the same function, and all other use of the isBook array elsewhere in the library. This makes the fix in the previous commit ("Avoid too big changes in isScale") work as intended, fixing other samples that triggered assertions.
-
- 18 Mar, 2013 1 commit
-
-
Martin Storsjo authored
These values are delta encoded, but only steps [-60,60] are possible to encode. If the difference between two values are bigger than that, we end up with a sequence we are unable to encode. This fixes crashes on certain stereo samples at higher bitrates.
-
- 27 Feb, 2013 1 commit
-
-
Martin Storsjo authored
-
- 17 Feb, 2013 1 commit
-
-
Martin Storsjo authored
Shifting by more than (or equal to) the variable length is undefined in C. This caused the quantized spectrum values to remain unshifted, causing loud beeps in some samples. The exact same change was originally applied in 65745694 (for AOSP) and in 24021f19 (in the separate fdk-aac repo), but was overwritten and silently reverted by the new upstream code drop for Android 4.2 in 381d6984. After the code drop, I chose not to reapply this change since the crashes that it fixed had been fixed in other ways upstream and I was unable to reproduce them after the new code drop.
-
- 30 Nov, 2012 4 commits
-
-
Elliott Hughes authored
* commit '0d439d3d': Remove a bionic workaround.
-
Elliott Hughes authored
(Requires corresponding bionic patch 3975cec694a0c9b42e3f7e671fcd678da92836c3.) (cherry-pick of 1d24ddc6.) Change-Id: I7105b17c285ff24fb48be23cf2067aef37f36d45
-
Elliott Hughes authored
-
Elliott Hughes authored
(Requires corresponding bionic patch 3975cec694a0c9b42e3f7e671fcd678da92836c3.) Change-Id: Ief968db33e2f9e1957510bbd59f25faa6828d678
-
- 13 Nov, 2012 1 commit
-
-
Martin Storsjo authored
-
- 02 Nov, 2012 3 commits
-
-
Martin Storsjo authored
This minimizes the differences to upstream.
-
Martin Storsjo authored
This allows producing more than one object file with the same name.
-
Martin Storsjo authored
This is required for working dependency generation with the subdir-objects option enabled.
-
- 01 Nov, 2012 5 commits
-
-
Martin Storsjo authored
This reverts commit e036dbc8. Upstream took __builtin_clz in use (in the new header libFDK/include/x86/clz_x86.h, together with an alternative implementation for MSVC), so this change can be dropped to minimize the differences.
-
Martin Storsjo authored
This reverts commit 839ae290. This change is no longer necessary on top of the new upstream, I cannot reproduce the crash that this fixed with the new upstream.
-
Martin Storsjo authored
Mingw32 doesn't define the __int64 types. This was implicitly reverted in AOSP (where this change was already merged before) by the new code drop from Fraunhofer.
-
Martin Storsjo authored
-
Martin Storsjo authored
Conflicts: libAACenc/src/band_nrg.cpp libAACenc/src/grp_data.cpp libSBRenc/src/env_est.cpp
-
- 25 Oct, 2012 1 commit
-
-
Jeffrey Knockel authored
This fixes assert failures on platforms where malloc doesn't provide 8 byte alignment, such as Win9x.
-
- 05 Oct, 2012 1 commit
-
-
Sergio Ammirata authored
This is the channel ordering used in DVD Audio, and is the standard used internally in the VLC media player.
-
- 02 Oct, 2012 1 commit
-
-
Jean-Michel Trivi authored
From Fraunhofer: * AAC Decoder - Stick to the written MPEG standard instead of the MPEG reference software in terms of reference level normalization. Always set the program reference level equal to the target level. This disables level normalization using a default level for streams without embedded metadata. Modified file(s): libAACdec\src\aacdec_drc.cpp - Fix downmix channel assignment when using a WAV output channel ordering. Modified file(s): libPCMutils\src\pcmutils_lib.cpp - Retain signal accuracy and prevent LSB alteration when no level correction needs to be done. Modified file(s): libAACdec\src\aacdec_drc.h libAACdec\src\aacdec_drc.cpp libSBRdec\src\sbrdecoder.cpp libSBRdec\src\sbr_dec.cpp libSBRdec\src\sbrdec_drc.cpp - Align metadata processing with reference implementation. Modified file(s): libAACdec\src\aacdec_drc.h libAACdec\src\aacdecoder.cpp * AAC-Encoder - Prevent potential overflow in energy calculation after TNS processing. Modified file(s): libAACenc\src\band_nrg.cpp - Added saturation for number of relevant lines which are used in pe calculation. Modified file(s): libAACenc\src\line_pe.cpp - Removed obsolete files. Deleded file(s): libAACenc\src\tns_param.h libAACenc\src\tns_param.cpp * FDK-Library - Added x86 Count Leading Zeros intrinsic. Modified file(s): libFDK\include\clz.h Added file(s): libFDK\include\x86\clz_x86.h - Fixed compilation for MIPS GCC-4.4 and higher. Modified file(s): libFDK\include\mips\cplx_mul.h libFDK\include\mips\fixmul_mips.h Change-Id: I4be65f07f88d412224c7fddc3f054e8f451176cc
-
- 14 Sep, 2012 1 commit
-
-
Martin Storsjo authored
This reverts commit 923f3e95. The optimized version differed from the original in a few cases (in some cases where the return value turned out to be negative while the original implementation returned a positive value), so revert it for now until it has been analyzed completely.
-
- 13 Sep, 2012 1 commit
-
-
Martin Storsjo authored
-
- 12 Sep, 2012 3 commits
-
-
John Grossman authored
-
John Grossman authored
Addresses bug 7140347. When flushing the decoder, you need to make sure to zero out any lingering spectral coefficients as well as zero out the overlap buffer state after decoding the final access unit. Zeroing out the spec coefficients *before* you decode the last block, however, seems like a mistake. If the final block contains any useful information for the stream, then you end up outputting the overlap portion of the second to last decoded block combined with zeros. Because of the shape of the second to last block's windows, this results in what appears to be a fade out, but actually is a zero'ed out final block. Signed-off-by: John Grossman <johngro@google.com> Change-Id: I0fab9ee1a5899811d5519a91dc05631e9bf4963c
-
Keun young Park authored
- MIPS still needs the work-around Change-Id: If68b2028bd2779ada79020bb333ec8817abe9429
-
- 09 Sep, 2012 2 commits
-
-
Jakub Stachowski authored
This speeds up HE-AACv2 encoding from 3.85 s to 3.42 s on a Core i7.
-
Jean-Michel Trivi authored
Latest code drop from Fraunhofer: * AAC-Decoder - Expanded AAC-LD/ELD decoder TNS max band tables to avoid wrong data access for sampling rates <22kHz and >48kHz. Modified file(s): libAACdec\src\aacdec_tns.cpp libAACdec\src\aac_rom.h libAACdec\src\aac_rom.cpp - Fixed ELD synthesis QMF filterbank scaling for downsampled SBR. Modified file(s): libFDK\src\qmf.cpp * AAC-Encoder - Fixed bit rate limiting for lower limit as introduced in the Delivery 2012-05-11. Modified file(s): libAACenc\include\aacenc_lib.h libAACenc\src\aacenc.h libAACenc\src\aacenc.cpp libSBRenc\src\sbr_rom.h libSBRenc\src\sbr_rom.cpp - Allow negative prediction gain as meaning that there is no coding gain. Make use of scaleValueSaturate in gauss window calculation. Modified file(s): libAACenc\src\aacenc_tns.cpp - Added energy saturation to prevent overflow in short blocks. Modified file(s): libAACenc\src\grp_data.cpp - Perform scalefactor adaption in case quantized lines are out of valid range. Modified file(s): libAACenc\src\quantize.cpp - Interrupt quantization loop when no spectral data is available. Adjustments in bitreservoir adaption. Modified file(s): libAACenc\src\qc_main.cpp - Indroduced dynamic scaling in none missing harmonic energy lowering compensation. Modified file(s): libSBRenc\src\env_est.cpp * FDK-Library - Fixed saturation for negative values in scaleValueSaturate. Modified file(s): libFDK\include\scale.h Change-Id: If830ea65caef6b5554281e4b7a77a8b2e08825ce
-
- 05 Sep, 2012 1 commit
-
-
Martin Storsjo authored
-
- 04 Sep, 2012 1 commit
-
-
Jean-Baptiste Queru authored
-
- 02 Sep, 2012 2 commits
-
-
Irina Tirdea authored
aac project forces the system not to include sys/types.h by defining _SYS_TYPES_H_. This is a workaround for broken android toolchain. This is no longer needed in latest android version and can be safely removed. This will also lead to more errors if changes in bionic headers are needed. Change-Id: Icb76c207d6b47e811eacff9f9403177629bfb451 Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
-
Martin Storsjo authored
When the shift overflowed, asserts were triggered later, where the values were assumed to be non-negative.
-
- 15 Aug, 2012 1 commit
-
-
Jean-Baptiste Queru authored
-
- 14 Aug, 2012 1 commit
-
-
Jakub Stachowski authored
The library contains architecture specific versions of the clz functions for arm and mips, but the fallback C version for other architectures is pretty slow. By using __builtin_clz on GCC (available since GCC 3.4), we get a significant (20-40 %) speedup of the total running time on x86. Speed difference: 5.1 s instead of 8.6 s for AAC-LC 128 kbit/s and 3.8 s instead of 4.9 s for HE-AACv2 32 kbit/s, on an i7.
-
- 13 Aug, 2012 1 commit
-
-
Jean-Baptiste Queru authored
-
- 11 Aug, 2012 1 commit
-
-
Martin Storsjo authored
When the addition overflowed, asserts were triggered later, where the values were assumed to be non-negative.
-
- 10 Aug, 2012 3 commits
-
-
Martin Storsjo authored
-
Martin Storsjo authored
Shifting by more than (or equal to) the variable length is undefined in C. This caused the quantized spectrum values to go out of range, triggering asserts later. Change-Id: If81b6c8caa7b9c75941ad9d280b686d2069c968c
-
Martin Storsjo authored
Shifting by more than (or equal to) the variable length is undefined in C.
-