Commit Graph

6 Commits

Author SHA1 Message Date
Jean-Michel Trivi 46ba3676b8 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
2016-04-08 10:52:42 -07:00
Jean-Michel Trivi fa3eba1644 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
2013-09-03 14:19:38 -07:00
Jean-Michel Trivi 3aec97e388 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
2013-08-29 12:24:04 -07:00
Jean-Michel Trivi a84864deb7 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
2013-08-20 15:30:07 -07:00
Jean-Michel Trivi 4f0d97057c Disclaimer update, lib version increment
- Update disclaimer in all source files.
- Increment library version in each FDK sub-module.

Bug 9428126

Change-Id: I490b96d4ee472246b01483202b0bb4f1e9c2a5d7
2013-08-20 14:38:55 -07:00
The Android Open Source Project 2228e36059 Snapshot 2bda038c16
Change-Id: If584e579464f28b97d50e51fc76ba654a5536c54
2012-07-11 10:15:24 -07:00