• Jean-Michel Trivi's avatar
    Bug 7170947 Update AAC codec · 6ab36997
    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
    6ab36997
aacdec_drc.cpp 32.9 KB