| /*
|
| ** 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 */ |