| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This reverts commit 839ae290c1f5a263613bea1a5fde863e757a8849.
This change is no longer necessary on top of the new upstream,
I cannot reproduce the crash that this fixed with the new upstream.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
libAACenc/src/band_nrg.cpp
libAACenc/src/grp_data.cpp
libSBRenc/src/env_est.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |/
| |
| |
| |
| |
| | |
- MIPS still needs the work-around
Change-Id: If68b2028bd2779ada79020bb333ec8817abe9429
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
This fixes assert failures on platforms where malloc doesn't provide
8 byte alignment, such as Win9x.
|
| |
| |
| |
| |
| | |
This is the channel ordering used in DVD Audio, and is the standard
used internally in the VLC media player.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 923f3e95f3e332d26f03cf6782f0ab61596ceef2.
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.
|
| | |
|
| |
| |
| |
| | |
This speeds up HE-AACv2 encoding from 3.85 s to 3.42 s on a Core i7.
|
|\| |
|
| |\ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |\
| | |
| | |
| | | |
assembly constructs."
|
| | |
| | |
| | |
| | |
| | |
| | | |
constructs.
Change-Id: I47509c20ee32f04ce42105563d2d4013910da531
|
| |\ \
| | |/
| |/| |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
When the shift overflowed, asserts were triggered later, where
the values were assumed to be non-negative.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
When the addition overflowed, asserts were triggered later, where
the values were assumed to be non-negative.
|
| | |
|
| |
| |
| |
| |
| | |
Shifting by more than (or equal to) the variable length is
undefined in C.
|
| |
| |
| |
| | |
These additions can overflow, triggering assertions later.
|
|\| |
|
| |\ |
|
| |/
| |
| |
| |
| |
| | |
Mingw32 doesn't define the __int64 types.
Change-Id: Ia45add37be1bf85abde664fd6e382334a6bb4498
|
|
|
|
| |
Change-Id: If584e579464f28b97d50e51fc76ba654a5536c54
|
| |
|
| |
|
|
|
|
|
|
| |
By default automake thinks the project is part of GNU and enforces the
presence of some files. By declaring the project foreign, we can
remove the 0-sized files.
|
|
|
|
| |
Change-Id: Icc9c9ded1142232b5030183f2a653ee7cef632b5
|
| |
|
|
|
|
|
| |
This simply means the comments are not copied into the executed
configure script.
|
|
|
|
| |
Unless configure uses $host there is no reason to call it directly.
|
|
|
|
| |
Change-Id: If139d0d1cf6f9fdfb0ebc477d2152b9f5f49f566
|
|
|
|
| |
Mingw32 doesn't define the __int64 types.
|
| |
|
|
|
|
|
|
|
| |
While the source is C++, it doesn't use anything from the C++
runtime, so by building with -fno-exceptions -fno-rtti, the
dynamic library doesn't have to be linked to libstdc++. This
also simplifies things for users of the static library.
|
|
|
|
| |
These correspond to different VBR modes.
|
| |
|
| |
|
|
|
|
|
|
| |
This avoids name clashes with the similarly named files in
libSBRdec, when building all libraries with one single
automake file.
|
| |
|
| |
|
| |
|
|
|
|
| |
Change-Id: If97c7482bffaab4a21cd2fb8341f2939f19d3bbd
|