History log of /external/aac/libSBRenc/src/sbr_encoder.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
46ba3676b854acbc69a4c7845f578d4c2886377b 08-Apr-2016 Jean-Michel Trivi <jmtrivi@google.com> AAC/SBR encoder improvements

* AAC-Encoder

- AAC-ELD core encoder audio quality tuning. Update tuning tables, configure
bitreservoir size and adapt afterburner iteration value.
Modified file(s):
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/pnsparam.cpp
libAACenc/src/qc_main.cpp

- Introduze dead zone quantizer for ELD to improve audio quality at certain
configurations.
Modified file(s):
libAACenc/src/aacenc_lib.cpp
libAACenc/src/adj_thr.cpp
libAACenc/src/adj_thr.h
libAACenc/src/qc_data.h
libAACenc/src/qc_main.cpp
libAACenc/src/quantize.cpp
libAACenc/src/quantize.h
libAACenc/src/sf_estim.cpp
libAACenc/src/sf_estim.h

- Revise TNS module to improve ELD audio quality.
- Use new window function and separate prediction gain according TNS filters.
- Add missing memory initilization to TNS configuration.
Modified file(s):
libAACenc/src/aacenc_lib.cpp
libAACenc/src/aacenc_tns.cpp
libAACenc/src/aacenc_tns.h
libAACenc/src/psy_main.cpp
libAACenc/src/tns_func.h

* SBR-Encoder

- Revise frequency resolution calculation and handle differently depending
on number of envelopes and split frames decision.
- Add and adjust ELD SBR tuning tables.
Modified file(s):
libSBRenc/include/sbr_encoder.h
libSBRenc/src/bit_sbr.h
libSBRenc/src/env_est.cpp
libSBRenc/src/fram_gen.cpp
libSBRenc/src/fram_gen.h
libSBRenc/src/mh_det.cpp
libSBRenc/src/sbr_def.h
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/sbr_rom.cpp
libSBRenc/src/tran_det.cpp

- Replace ELD transient detector with fast implementation.
Modified file(s):
libSBRenc/src/env_est.cpp
libSBRenc/src/env_est.h
libSBRenc/src/fram_gen.cpp
libSBRenc/src/sbr_def.h
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/tran_det.cpp
libSBRenc/src/tran_det.h

* FDK-Library
- Introduce generic compare function in tools library.
Modified file(s):
libFDK/include/fixpoint_math.h
libFDK/src/FDK_core.cpp

* SBR-Encoder

- Revise ELD frame splitter to improve bit distribution.
Modified file(s):
libSBRenc/include/sbr_encoder.h
libSBRenc/src/bit_sbr.h
libSBRenc/src/env_est.cpp
libSBRenc/src/fram_gen.cpp
libSBRenc/src/fram_gen.h
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/tran_det.cpp
libSBRenc/src/tran_det.h

- Configure amplitude resolution according the tonality of the audio signal.
Modified file(s):
libSBRenc/include/sbr_encoder.h
libSBRenc/src/bit_sbr.h
libSBRenc/src/env_est.cpp
libSBRenc/src/nf_est.cpp
libSBRenc/src/nf_est.h
libSBRenc/src/sbr_def.h
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/ton_corr.cpp
libSBRenc/src/ton_corr.h
libSBRenc/src/tran_det.cpp
libSBRenc/src/tran_det.h

Change-Id: Ie0672b989a06ee63b50240616b8d1d4b790b6cb2
/external/aac/libSBRenc/src/sbr_encoder.cpp
e1c78ed73faa51f2c7fcb0c4a17a92be9cc747f5 05-Apr-2016 Jean-Michel Trivi <jmtrivi@google.com> SBR/AAC encoder updates, code clean up

* SBR-Encoder

- Prevent noise level overflow in noise floor detection.
- Saturate threshold calculation in transient detection.
Modified file(s):
libSBRenc/src/nf_est.cpp
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/tran_det.cpp

* AAC-Encoder

- Expand input data range of GetInvInt() function. There was an encoder
assert observed in non-default bitrate configuration.
Modified file(s):
libAACenc/src/aacenc_lib.cpp
libAACenc/src/intensity.cpp
libFDK/include/fixpoint_math.h
libFDK/src/FDK_core.cpp
libFDK/src/FDK_tools_rom.cpp

- Make sure that the encoder is stable with regard to very low audio bandwidth
confguration parameter value.
- Fix lowdelay blending for low audio bandwidth.
Modified file(s):
libAACenc/src/aacenc.cpp
libAACenc/src/aacenc_lib.cpp
libAACenc/src/adj_thr.cpp
libAACenc/src/psy_configuration.cpp
libAACenc/src/psy_main.cpp

- Disable pseudo surround flag in case metadata matrix mixdown index is
present in program config element.
Modified file(s):
libAACenc/src/aacenc_lib.cpp

- Enable variable bitrate mode in encoder api.
- Add AACENC_PEAK_BITRATE parameter to encoder api.
- Add AACENC_AUDIOMUXVER parameter to encoder api.
Modified file(s):
libAACenc/include/aacenc_lib.h
libAACenc/src/aacenc.cpp
libAACenc/src/aacenc.h
libAACenc/src/aacenc_lib.cpp
libAACenc/src/qc_main.cpp
libMpegTPEnc/src/tpenc_latm.cpp
libMpegTPEnc/src/version

* FDK-Sources

- Code clean up. Remove unneeded pseudo audio object types and transport types.
Modified file(s):
libAACdec/src/aacdecoder.cpp
libAACdec/src/aacdecoder_lib.cpp
libAACenc/include/aacenc_lib.h
libAACenc/src/aacenc.cpp
libAACenc/src/aacenc_lib.cpp
libFDK/src/FDK_tools_rom.cpp
libMpegTPDec/src/tpdec_lib.cpp
libMpegTPDec/src/version
libMpegTPEnc/src/tpenc_latm.cpp
libMpegTPEnc/src/version
libSBRdec/src/sbrdecoder.cpp
libSBRenc/src/sbr_encoder.cpp
libSYS/include/FDK_audio.h
libSYS/src/genericStds.cpp

Change-Id: I807a53cb7f48c9ee7563cb8da1d0c52221576ca6
/external/aac/libSBRenc/src/sbr_encoder.cpp
ef30836651bf059c3120c03dd11e08b6aafdae13 05-Apr-2016 Jean-Michel Trivi <jmtrivi@google.com> Remove compiler warnings, revised ARM QMF encoder

Bug 8493170

Change-Id: I64d19a8a8059c5a96386b1eaac297fd2469515f8
/external/aac/libSBRenc/src/sbr_encoder.cpp
6e8330732f61d1da1485fc07b61444f490d5e623 22-Oct-2015 Dan Willemsen <dwillemsen@google.com> Remove __DATE__/__TIME__

Building __DATE__/__TIME__ into the binaries means that every build will
create different binaries, even if all the sources are identical. This
also means that any libraries including this one will need to be patched
during every OTA.

Nothing appears to use the build_date/build_time fields, so just replace
them with empty strings.

Bug: 24204119
Change-Id: I9543eb388a1e8ab9284df9035a62fc8942cdc082
/external/aac/libSBRenc/src/sbr_encoder.cpp
fa3eba16446cc8f2f5e2dfc20d86a49dbd37299e 30-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Encoder 7.1 support

* 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
/external/aac/libSBRenc/src/sbr_encoder.cpp
3aec97e388e29a1d03f0197b27b893bc6aaf8ac3 29-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Encoder downsampled SBR

* 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
/external/aac/libSBRenc/src/sbr_encoder.cpp
a84864deb7c36b88f104f3116552d52d1ce64045 09-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> SBR header period

AAC encoder: Connect SBR and PS header repetition rate with AACENC_HEADER_PERIOD
parameter of the encoder API.

Bug 9428126

Change-Id: Ia1ab965de9eaa2ac229d0c395a337cbd4d20cba1
/external/aac/libSBRenc/src/sbr_encoder.cpp
fc4d7b0e73a87042f87ab847cfbe60e4d2dddf71 09-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> SBR encoder improvement

SBR encoder: Introduce coupling energy ratio limitation to prevent undesirable SBR band
amplification while decoding.

Bug 9428126

Change-Id: I18a77cd1a178fff7531b490779a29a0df7d993af
/external/aac/libSBRenc/src/sbr_encoder.cpp
4f0d97057c5c640b25518358886f8c47da9fc052 09-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Disclaimer update, lib version increment

- Update disclaimer in all source files.
- Increment library version in each FDK sub-module.

Bug 9428126

Change-Id: I490b96d4ee472246b01483202b0bb4f1e9c2a5d7
/external/aac/libSBRenc/src/sbr_encoder.cpp
381d69840ad3af2259f0b7ef49236f9ee9c76b76 09-Sep-2012 Jean-Michel Trivi <jmtrivi@google.com> Bug fixes in AAC decoder, AAC encoder, FDK library

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
/external/aac/libSBRenc/src/sbr_encoder.cpp
2228e360595641dd906bf1773307f43d304f5b2e 11-Jul-2012 The Android Open Source Project <initial-contribution@android.com> Snapshot 2bda038c163298531d47394bc2c09e1409c5d0db

Change-Id: If584e579464f28b97d50e51fc76ba654a5536c54
/external/aac/libSBRenc/src/sbr_encoder.cpp