diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2013-12-30 16:01:08 -0800 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2014-03-31 23:41:44 +0000 |
commit | 603f48ab99ce76f552f4f6f85d06b8c5b94c698e (patch) | |
tree | 303937f6779cdb798e3cec67ebe32abb39eab15b /libAACdec/src/aacdec_drc.h | |
parent | 629f60c0e71f4a5ad273d5ab3fc6964e5eb1f9f4 (diff) | |
download | fdk-aac-603f48ab99ce76f552f4f6f85d06b8c5b94c698e.tar.gz fdk-aac-603f48ab99ce76f552f4f6f85d06b8c5b94c698e.tar.bz2 fdk-aac-603f48ab99ce76f552f4f6f85d06b8c5b94c698e.zip |
AAC Decoder: introduce time domain limiter
Introduce time domain limiter. The module is per default enabled for all
AAC-LC and HE-AAC v1/2 streams. For all ER-AAC-LD and ER-AAC-ELD streams
the limiter is disabled per default. The feature can be en- or disabled
via dynamic API parameter. Note that the limiter introduces an additional
output delay which depends on the module parameters and the streams
sampling rate.
Bug 9428126
Change-Id: I299a072340b33e2c324facbd347a72c8de3d380e
Diffstat (limited to 'libAACdec/src/aacdec_drc.h')
-rw-r--r-- | libAACdec/src/aacdec_drc.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libAACdec/src/aacdec_drc.h b/libAACdec/src/aacdec_drc.h index 2ebae2c..41aac69 100644 --- a/libAACdec/src/aacdec_drc.h +++ b/libAACdec/src/aacdec_drc.h @@ -98,7 +98,6 @@ amm-info@iis.fraunhofer.de #include "channel.h" #include "FDK_bitstream.h" -#define AACDEC_DRC_DEFAULT_REF_LEVEL ( 108 ) /* -27 dB below full scale (typical for movies) */ #define AACDEC_DRC_DFLT_EXPIRY_FRAMES ( 50 ) /* Default DRC data expiry time in AAC frames */ /** @@ -111,6 +110,7 @@ typedef enum TARGET_REF_LEVEL, DRC_BS_DELAY, DRC_DATA_EXPIRY_FRAME, + APPLY_NORMALIZATION, APPLY_HEAVY_COMPRESSION } AACDEC_DRC_PARAM; @@ -149,6 +149,8 @@ int aacDecoder_drcProlog ( * \param pSbrDec pointer to SBR decoder instance * \param pAacDecoderChannelInfo AAC decoder channel instance to be processed * \param pDrcDat DRC channel data + * \param extGain Pointer to a FIXP_DBL where a externally applyable gain will be stored into (independently on whether it will be apply internally or not). + * At function call the buffer must hold the scale (0 >= scale < DFRACT_BITS) to be applied on the gain value. * \param ch channel index * \param aacFrameSize AAC frame size * \param bSbrPresent flag indicating that SBR is present, in which case DRC is handed over to the SBR instance pSbrDec @@ -158,6 +160,7 @@ void aacDecoder_drcApply ( void *pSbrDec, CAacDecoderChannelInfo *pAacDecoderChannelInfo, CDrcChannelData *pDrcDat, + FIXP_DBL *extGain, int ch, int aacFrameSize, int bSbrPresent ); |