summaryrefslogtreecommitdiffstats
path: root/libFDK/src/qmf.cpp
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2012-11-01 11:08:03 +0200
committerMartin Storsjo <martin@martin.st>2012-11-01 11:08:03 +0200
commit54dfe1ec6972ca0d56dcb671448f84fea5e37e35 (patch)
tree5d26aa077f3aa32d3e5113546abc5a4219332640 /libFDK/src/qmf.cpp
parentfea3c1d0ffaf5975bb15462e11edf9c7a664890d (diff)
parent6ab36997af5d5acda4f21d33031f4e45c85f96b7 (diff)
downloadODR-AudioEnc-54dfe1ec6972ca0d56dcb671448f84fea5e37e35.tar.gz
ODR-AudioEnc-54dfe1ec6972ca0d56dcb671448f84fea5e37e35.tar.bz2
ODR-AudioEnc-54dfe1ec6972ca0d56dcb671448f84fea5e37e35.zip
Merge remote-tracking branch 'aosp/jb-mr1-release' into master
Conflicts: libAACenc/src/band_nrg.cpp libAACenc/src/grp_data.cpp libSBRenc/src/env_est.cpp
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;
}