1e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard/*
2e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard ** Copyright 2003-2010, VisualOn, Inc.
3e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard **
4e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard ** Licensed under the Apache License, Version 2.0 (the "License");
5e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard ** you may not use this file except in compliance with the License.
6e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard ** You may obtain a copy of the License at
7e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard **
8e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard **     http://www.apache.org/licenses/LICENSE-2.0
9e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard **
10e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard ** Unless required by applicable law or agreed to in writing, software
11e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard ** distributed under the License is distributed on an "AS IS" BASIS,
12e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard ** See the License for the specific language governing permissions and
14e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard ** limitations under the License.
15e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard */
16e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard/*******************************************************************************
17e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard	File:		tns_param.h
18e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard
19e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard	Content:	TNS parameters
20e2e838afcf03e603a41a0455846eaf9614537c16Mans Rullgard
21956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong*******************************************************************************/
22956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
23956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong/*
24956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong   TNS parameters
25956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong */
26956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong#ifndef _TNS_PARAM_H
27956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong#define _TNS_PARAM_H
28956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
29956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong#include "tns.h"
30956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
31956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dongtypedef struct{
32956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong  Word32 samplingRate;
33956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong  Word16 maxBandLong;
34956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong  Word16 maxBandShort;
35956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong}TNS_MAX_TAB_ENTRY;
36956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
37956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dongtypedef struct{
38956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong    Word32 bitRateFrom;
39956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong    Word32 bitRateTo;
40956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong    const TNS_CONFIG_TABULATED *paramMono_Long;  /* contains TNS parameters */
41956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong    const TNS_CONFIG_TABULATED *paramMono_Short;
42956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong    const TNS_CONFIG_TABULATED *paramStereo_Long;
43956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong    const TNS_CONFIG_TABULATED *paramStereo_Short;
44956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong}TNS_INFO_TAB;
45956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
46956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
47b676a05348e4c516fa8b57e33b10548e6142c3f8Mans Rullgardvoid GetTnsParam(TNS_CONFIG_TABULATED *tnsConfigTab,
48956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong                 Word32 bitRate, Word16 channels, Word16 blockType);
49956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
50956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dongvoid GetTnsMaxBands(Word32 samplingRate, Word16 blockType, Word16* tnsMaxSfb);
51956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
52956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong#endif /* _TNS_PARAM_H */
53