• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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