diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2013-08-28 17:54:51 -0700 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2013-08-28 18:06:47 -0700 |
commit | 7ad97579f8ccb843afdb5b184c4b209253839fe3 (patch) | |
tree | e5777dc9d28b9038052ea4035ae9a072e1b852e0 /libAACenc/src/psy_main.cpp | |
parent | 206a397c708738c08edc0229881018edcb8ea793 (diff) | |
download | fdk-aac-7ad97579f8ccb843afdb5b184c4b209253839fe3.tar.gz fdk-aac-7ad97579f8ccb843afdb5b184c4b209253839fe3.tar.bz2 fdk-aac-7ad97579f8ccb843afdb5b184c4b209253839fe3.zip |
AAC Encoder low delay quality
* AAC-Encoder
- Revise bit distribution for lowdelay configuration to improve encoder
audio quality.
- Adjust lowdelay bitreservoir for low bitreservoir configuration.
Modified file(s):
libAACenc\src\aacEnc_ram.cpp
libAACenc\src\aacenc.cpp
libAACenc\src\aacenc_lib.cpp
libAACenc\src\aacenc_tns.cpp
libAACenc\src\adj_thr.cpp
libAACenc\src\adj_thr.h
libAACenc\src\block_switch.cpp
libAACenc\src\block_switch.h
libAACenc\src\interface.h
libAACenc\src\psy_main.cpp
libAACenc\src\qc_data.h
libAACenc\src\qc_main.cpp
* FDK-Library
- Increase the accuracy in CalcInvLdData() calculation which improves the
encoder audio quality.
Modified file(s):
libFDK\src\fixpoint_math.cpp
Bug 9428126
Change-Id: I302d7f4c3aeccf79e1b85f20e18a31e6e2b10544
Diffstat (limited to 'libAACenc/src/psy_main.cpp')
-rw-r--r-- | libAACenc/src/psy_main.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/libAACenc/src/psy_main.cpp b/libAACenc/src/psy_main.cpp index 8649a7e..0949b6d 100644 --- a/libAACenc/src/psy_main.cpp +++ b/libAACenc/src/psy_main.cpp @@ -116,11 +116,6 @@ static const FIXP_DBL fadeOutFactor[FADE_OUT_LEN] = {1840644096, 1533870080, 122 /* forward definitions */ -static inline int isLowDelay( AUDIO_OBJECT_TYPE aot ) -{ - return (aot==AOT_ER_AAC_LD || aot==AOT_ER_AAC_ELD); -} - /***************************************************************************** functionname: FDKaacEnc_PsyNew @@ -513,28 +508,28 @@ AAC_ENCODER_ERROR FDKaacEnc_psyMain(INT channels, for(ch = 0; ch < channels; ch++) { - C_ALLOC_SCRATCH_START(timeSignal, INT_PCM, (1024)); - psyStatic[ch]->blockSwitchingControl.timeSignal = timeSignal; + C_ALLOC_SCRATCH_START(pTimeSignal, INT_PCM, (1024)) /* deinterleave input data and use for block switching */ - FDKaacEnc_deinterleaveInputBuffer( psyStatic[ch]->blockSwitchingControl.timeSignal, + FDKaacEnc_deinterleaveInputBuffer( pTimeSignal, &pInput[chIdx[ch]], psyConf->granuleLength, totalChannels); FDKaacEnc_BlockSwitching (&psyStatic[ch]->blockSwitchingControl, - psyConf->granuleLength - ,psyStatic[ch]->isLFE + psyConf->granuleLength, + psyStatic[ch]->isLFE, + pTimeSignal ); /* fill up internal input buffer, to 2xframelength samples */ FDKmemcpy(psyStatic[ch]->psyInputBuffer+blockSwitchingOffset, - psyStatic[ch]->blockSwitchingControl.timeSignal, + pTimeSignal, (2*psyConf->granuleLength-blockSwitchingOffset)*sizeof(INT_PCM)); - C_ALLOC_SCRATCH_END(timeSignal, INT_PCM, (1024)); + C_ALLOC_SCRATCH_END(pTimeSignal, INT_PCM, (1024)) } /* synch left and right block type */ |