summaryrefslogtreecommitdiffstats
path: root/libAACdec/src/aacdec_drc.h
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2013-08-27 16:20:46 -0700
committerJean-Michel Trivi <jmtrivi@google.com>2013-08-27 16:20:46 -0700
commitb9774f90651be61065ae40171fc321f6ced60e49 (patch)
tree77fe672840459d261fd7abeb08c001c85a9d4ddf /libAACdec/src/aacdec_drc.h
parent2ddc922da87bb675b8ab8c305566436e806df0d9 (diff)
downloadODR-AudioEnc-b9774f90651be61065ae40171fc321f6ced60e49.tar.gz
ODR-AudioEnc-b9774f90651be61065ae40171fc321f6ced60e49.tar.bz2
ODR-AudioEnc-b9774f90651be61065ae40171fc321f6ced60e49.zip
Decode dynamic range control improvements
* AAC-Decoder - Only set the program reference level if it has changed compared to the previous value. This allows setting it on a frame-by-frame basis without limitations. Modified file(s): libAACdec/src/aacdec_drc.cpp libAACdec/src/aacdec_drc.h - Add expiry counter for the program reference level. Modified file(s): libAACdec/src/aacdec_drc.cpp libAACdec/src/aacdec_drc_types.h - Disable scaling of light compression gain values when heavy compression mode is enabled to have the full light compression as fallback if no heavy values are available. Modified file(s): libAACdec/src/aacdec_drc.cpp libAACdec/src/aacdecoder_lib.cpp libAACdec/src/aacdec_drc_types.h - Change initialization and channel disabling to improve start-up behavior in SBR decoder. Modified file(s): libSBRdec/src/sbrdecoder.cpp libSBRdec/src/sbrdec_drc.cpp Bug 9428126 Change-Id: Ie1d3949c53910506da2547d32fe3bf6ee7606eb4
Diffstat (limited to 'libAACdec/src/aacdec_drc.h')
-rw-r--r--libAACdec/src/aacdec_drc.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/libAACdec/src/aacdec_drc.h b/libAACdec/src/aacdec_drc.h
index 124b6f5..2ebae2c 100644
--- a/libAACdec/src/aacdec_drc.h
+++ b/libAACdec/src/aacdec_drc.h
@@ -143,6 +143,16 @@ int aacDecoder_drcProlog (
UCHAR channelMapping[],
int numChannels );
+/**
+ * \brief Apply DRC. If SBR is present, DRC data is handed over to the SBR decoder.
+ * \param self AAC decoder instance
+ * \param pSbrDec pointer to SBR decoder instance
+ * \param pAacDecoderChannelInfo AAC decoder channel instance to be processed
+ * \param pDrcDat DRC channel data
+ * \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
+ */
void aacDecoder_drcApply (
HANDLE_AAC_DRC self,
void *pSbrDec,