summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/aacenc/inc/tns_func.h
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2010-05-14 15:45:22 -0700
committerJames Dong <jdong@google.com>2010-05-19 07:21:25 -0700
commit956c553ab0ce72f8074ad0fda2ffd66a0305700c (patch)
treefe111ecd29e01c270246f5f338c56806d6d5b136 /media/libstagefright/codecs/aacenc/inc/tns_func.h
parente1f61055b4abb96a86d1ff24b5a7777dfe40fe5f (diff)
downloadframeworks_av-956c553ab0ce72f8074ad0fda2ffd66a0305700c.zip
frameworks_av-956c553ab0ce72f8074ad0fda2ffd66a0305700c.tar.gz
frameworks_av-956c553ab0ce72f8074ad0fda2ffd66a0305700c.tar.bz2
Initial software encoder checkins
Change-Id: I27f387db23594e46384c4eb3a0093ce220bb6b60
Diffstat (limited to 'media/libstagefright/codecs/aacenc/inc/tns_func.h')
-rw-r--r--media/libstagefright/codecs/aacenc/inc/tns_func.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/aacenc/inc/tns_func.h b/media/libstagefright/codecs/aacenc/inc/tns_func.h
new file mode 100644
index 0000000..58b75b6
--- /dev/null
+++ b/media/libstagefright/codecs/aacenc/inc/tns_func.h
@@ -0,0 +1,75 @@
+/*
+ ** Copyright 2003-2010, VisualOn, Inc.
+ **
+ ** Licensed under the Apache License, Version 2.0 (the "License");
+ ** you may not use this file except in compliance with the License.
+ ** You may obtain a copy of the License at
+ **
+ ** http://www.apache.org/licenses/LICENSE-2.0
+ **
+ ** Unless required by applicable law or agreed to in writing, software
+ ** distributed under the License is distributed on an "AS IS" BASIS,
+ ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ** See the License for the specific language governing permissions and
+ ** limitations under the License.
+ */
+/*******************************************************************************
+ File: tns_func.h
+
+ Content: TNS functions
+
+*******************************************************************************/
+
+/*
+ Temporal noise shaping
+ */
+#ifndef _TNS_FUNC_H
+#define _TNS_FUNC_H
+#include "typedef.h"
+#include "psy_configuration.h"
+
+Word16 InitTnsConfigurationLong(Word32 bitrate,
+ Word32 samplerate,
+ Word16 channels,
+ TNS_CONFIG *tnsConfig,
+ PSY_CONFIGURATION_LONG *psyConfig,
+ Word16 active);
+
+Word16 InitTnsConfigurationShort(Word32 bitrate,
+ Word32 samplerate,
+ Word16 channels,
+ TNS_CONFIG *tnsConfig,
+ PSY_CONFIGURATION_SHORT *psyConfig,
+ Word16 active);
+
+Word32 TnsDetect(TNS_DATA* tnsData,
+ TNS_CONFIG tC,
+ Word32* pScratchTns,
+ const Word16 sfbOffset[],
+ Word32* spectrum,
+ Word16 subBlockNumber,
+ Word16 blockType,
+ Word32 * sfbEnergy);
+
+void TnsSync(TNS_DATA *tnsDataDest,
+ const TNS_DATA *tnsDataSrc,
+ const TNS_CONFIG tC,
+ const Word16 subBlockNumber,
+ const Word16 blockType);
+
+Word16 TnsEncode(TNS_INFO* tnsInfo,
+ TNS_DATA* tnsData,
+ Word16 numOfSfb,
+ TNS_CONFIG tC,
+ Word16 lowPassLine,
+ Word32* spectrum,
+ Word16 subBlockNumber,
+ Word16 blockType);
+
+void ApplyTnsMultTableToRatios(Word16 startCb,
+ Word16 stopCb,
+ TNS_SUBBLOCK_INFO subInfo,
+ Word32 *thresholds);
+
+
+#endif /* _TNS_FUNC_H */