1
0
mirror of https://github.com/mstorsjo/fdk-aac.git synced 2025-06-05 22:39:13 +02:00

Decoder stability, sanity checks improvements

* AAC-Decoder

   - Improved PCE handling for saver (re-)configuration and metadata processing.
     Modified file(s):
        libAACdec/src/aacdecoder.cpp
        libAACdec/src/aacdecoder_lib.cpp

   - Transport layer changes (config found) -> to be evaluated.
     Modified file(s):
        libMpegTPDec/include/tpdec_lib.h
        libMpegTPDec/src/tpdec_latm.h
        libMpegTPDec/src/version
        libMpegTPDec/src/tpdec_asc.cpp
        libMpegTPDec/src/tpdec_lib.cpp
        libMpegTPDec/src/tpdec_adts.cpp
        libMpegTPDec/src/tpdec_latm.cpp
        libSYS/include/FDK_audio.h
        libSYS/src/genericStds.cpp

   - Enable concealment state machine to skip states if the corresponding
     parameter is set to zero.
     Modified file(s):
        libAACdec/src/conceal.cpp

   - Add some more sanity checks to avoid segmentation faults especially when
     setting dynamic API params.
     Modified file(s):
        libAACdec/src/aacdecoder_lib.cpp

   - Fix to do a fail-safe initialization of IMDCT for all channels even with
     corrupt streams.
     Modified file(s):
        libAACdec/src/aacdecoder.cpp

   - HCR decoder fix (remove warnings).
     Modified file(s):
        libAACdec/src/block.cpp

   - Fix border calculation in SBR decoder's LPP transposer patch determination.
     Modified file(s):
        libSBRdec/src/env_dec.cpp
        libSBRdec/src/sbrdecoder.cpp
        libSBRdec/src/lpp_tran.cpp

Bug 9428126

Change-Id: Ib415b702b88a7ec8e9a55789d79cafb39296d26b
This commit is contained in:
Jean-Michel Trivi
2013-08-27 16:28:09 -07:00
parent b9774f9065
commit 5016eb7f65
16 changed files with 683 additions and 294 deletions

View File

@@ -186,6 +186,27 @@ int CProgramConfig_IsValid ( const CProgramConfig *pPce );
void CProgramConfig_Read ( CProgramConfig *pPce,
HANDLE_FDK_BITSTREAM bs,
UINT alignAnchor );
/*!
\brief Compare two Program Config Elements.
\param pPce1 Pointer to first Program Config Element structure.
\param pPce2 Pointer to second Program Config Element structure.
\return -1 if PCEs are completely different,
0 if PCEs are completely equal,
1 if PCEs are different but have the same channel config,
2 if PCEs have different channel config but same number of channels.
*/
int CProgramConfig_Compare ( const CProgramConfig * const pPce1,
const CProgramConfig * const pPce2 );
/*!
\brief Get a Program Config Element that matches the predefined MPEG-4 channel configurations 1-14.
\param pPce Program Config Element structure.
\param channelConfig MPEG-4 channel configuration.
\return void
*/
void CProgramConfig_GetDefault ( CProgramConfig *pPce,
const UINT channelConfig );
#endif /* TP_PCE_ENABLE */
/**