From b9774f90651be61065ae40171fc321f6ced60e49 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Tue, 27 Aug 2013 16:20:46 -0700 Subject: 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 --- libSBRdec/src/sbrdec_drc.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'libSBRdec/src/sbrdec_drc.cpp') diff --git a/libSBRdec/src/sbrdec_drc.cpp b/libSBRdec/src/sbrdec_drc.cpp index af71c41..a834c0b 100644 --- a/libSBRdec/src/sbrdec_drc.cpp +++ b/libSBRdec/src/sbrdec_drc.cpp @@ -127,8 +127,8 @@ void sbrDecoder_drcInitChannel ( hDrcData->currFact_exp = 1; hDrcData->nextFact_exp = 1; - hDrcData->numBandsCurr = 0; - hDrcData->numBandsNext = 0; + hDrcData->numBandsCurr = 1; + hDrcData->numBandsNext = 1; hDrcData->winSequenceCurr = 0; hDrcData->winSequenceNext = 0; @@ -490,9 +490,7 @@ void sbrDecoder_drcApply ( if (hDrcData == NULL) { return; } - if ( (hDrcData->enable == 0) - || ((hDrcData->numBandsCurr == 0) && (hDrcData->numBandsNext == 0)) - ) { + if (hDrcData->enable == 0) { return; /* Avoid changing the scaleFactor even though the processing is disabled. */ } -- cgit v1.2.3