summaryrefslogtreecommitdiffstats
path: root/libAACdec/src/aacdec_drc.h
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2013-12-30 16:01:08 -0800
committerJean-Michel Trivi <jmtrivi@google.com>2014-03-31 23:41:44 +0000
commit603f48ab99ce76f552f4f6f85d06b8c5b94c698e (patch)
tree303937f6779cdb798e3cec67ebe32abb39eab15b /libAACdec/src/aacdec_drc.h
parent629f60c0e71f4a5ad273d5ab3fc6964e5eb1f9f4 (diff)
downloadfdk-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.h5
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 );