summaryrefslogtreecommitdiffstats
path: root/libFDK/src/qmf.cpp
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2012-11-18 14:51:05 -0800
committerSteve Kondik <shade@chemlab.org>2012-11-18 14:51:05 -0800
commitb2511c6a79ea8d029b2b9d19130fd41d9838546f (patch)
tree19735375d488a64d7005b3b8e9ecec5438168913 /libFDK/src/qmf.cpp
parent49fa8770b0adce84246d5db3feec09db02eeeaee (diff)
parent6ab36997af5d5acda4f21d33031f4e45c85f96b7 (diff)
downloadandroid_external_aac-cm-10.1.2.tar.gz
android_external_aac-cm-10.1.2.tar.bz2
android_external_aac-cm-10.1.2.zip
Diffstat (limited to 'libFDK/src/qmf.cpp')
-rw-r--r--libFDK/src/qmf.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/libFDK/src/qmf.cpp b/libFDK/src/qmf.cpp
index e410f55..314b9fe 100644
--- a/libFDK/src/qmf.cpp
+++ b/libFDK/src/qmf.cpp
@@ -1040,7 +1040,8 @@ qmfInitFilterBank (HANDLE_QMF_FILTER_BANK h_Qmf, /*!< Handle to return */
h_Qmf->outScalefactor = ALGORITHMIC_SCALING_IN_ANALYSIS_FILTERBANK + ALGORITHMIC_SCALING_IN_SYNTHESIS_FILTERBANK + h_Qmf->filterScale;
- if (h_Qmf->p_stride == 2) {
+ if ( (h_Qmf->p_stride == 2)
+ || ((flags & QMF_FLAG_CLDFB) && (no_channels == 32)) ) {
h_Qmf->outScalefactor -= 1;
}
h_Qmf->outGain = (FIXP_DBL)0x80000000; /* default init value will be not applied */
@@ -1147,7 +1148,8 @@ qmfChangeOutScalefactor (HANDLE_QMF_FILTER_BANK synQmf, /*!< Handle of Qmf S
/* Add internal filterbank scale */
outScalefactor += ALGORITHMIC_SCALING_IN_ANALYSIS_FILTERBANK + ALGORITHMIC_SCALING_IN_SYNTHESIS_FILTERBANK + synQmf->filterScale;
- if (synQmf->p_stride == 2) {
+ if ( (synQmf->p_stride == 2)
+ || ((synQmf->flags & QMF_FLAG_CLDFB) && (synQmf->no_channels == 32)) ) {
outScalefactor -= 1;
}