1 /* 2 ** Copyright 2003-2010, VisualOn, Inc. 3 ** 4 ** Licensed under the Apache License, Version 2.0 (the "License"); 5 ** you may not use this file except in compliance with the License. 6 ** You may obtain a copy of the License at 7 ** 8 ** http://www.apache.org/licenses/LICENSE-2.0 9 ** 10 ** Unless required by applicable law or agreed to in writing, software 11 ** distributed under the License is distributed on an "AS IS" BASIS, 12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 ** See the License for the specific language governing permissions and 14 ** limitations under the License. 15 */ 16 /******************************************************************************* 17 File: tns_func.h 18 19 Content: TNS functions 20 21 *******************************************************************************/ 22 23 /* 24 Temporal noise shaping 25 */ 26 #ifndef _TNS_FUNC_H 27 #define _TNS_FUNC_H 28 #include "typedef.h" 29 #include "psy_configuration.h" 30 31 Word16 InitTnsConfigurationLong(Word32 bitrate, 32 Word32 samplerate, 33 Word16 channels, 34 TNS_CONFIG *tnsConfig, 35 PSY_CONFIGURATION_LONG *psyConfig, 36 Word16 active); 37 38 Word16 InitTnsConfigurationShort(Word32 bitrate, 39 Word32 samplerate, 40 Word16 channels, 41 TNS_CONFIG *tnsConfig, 42 PSY_CONFIGURATION_SHORT *psyConfig, 43 Word16 active); 44 45 Word32 TnsDetect(TNS_DATA* tnsData, 46 TNS_CONFIG tC, 47 Word32* pScratchTns, 48 const Word16 sfbOffset[], 49 Word32* spectrum, 50 Word16 subBlockNumber, 51 Word16 blockType, 52 Word32 * sfbEnergy); 53 54 void TnsSync(TNS_DATA *tnsDataDest, 55 const TNS_DATA *tnsDataSrc, 56 const TNS_CONFIG tC, 57 const Word16 subBlockNumber, 58 const Word16 blockType); 59 60 Word16 TnsEncode(TNS_INFO* tnsInfo, 61 TNS_DATA* tnsData, 62 Word16 numOfSfb, 63 TNS_CONFIG tC, 64 Word16 lowPassLine, 65 Word32* spectrum, 66 Word16 subBlockNumber, 67 Word16 blockType); 68 69 void ApplyTnsMultTableToRatios(Word16 startCb, 70 Word16 stopCb, 71 TNS_SUBBLOCK_INFO subInfo, 72 Word32 *thresholds); 73 74 75 #endif /* _TNS_FUNC_H */ 76