blob: 9e12227e1e23e74e0552990438a9489359399f6e [file] [log] [blame]
niklase@google.com470e71d2011-07-07 08:21:25 +00001/*
2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11/******************************************************************
12
13 iLBC Speech Coder ANSI-C Source Code
14
15 constants.h
16
17******************************************************************/
18
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020019#ifndef MODULES_AUDIO_CODING_CODECS_ILBC_MAIN_SOURCE_CONSTANTS_H_
20#define MODULES_AUDIO_CODING_CODECS_ILBC_MAIN_SOURCE_CONSTANTS_H_
niklase@google.com470e71d2011-07-07 08:21:25 +000021
22#include "defines.h"
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020023#include "typedefs.h"
niklase@google.com470e71d2011-07-07 08:21:25 +000024
25/* high pass filters */
26
pbos@webrtc.org0946a562013-04-09 00:28:06 +000027extern const int16_t WebRtcIlbcfix_kHpInCoefs[];
28extern const int16_t WebRtcIlbcfix_kHpOutCoefs[];
niklase@google.com470e71d2011-07-07 08:21:25 +000029
30/* Window for start state decision */
pbos@webrtc.org0946a562013-04-09 00:28:06 +000031extern const int16_t WebRtcIlbcfix_kStartSequenceEnrgWin[];
niklase@google.com470e71d2011-07-07 08:21:25 +000032
33/* low pass filter used for downsampling */
pbos@webrtc.org0946a562013-04-09 00:28:06 +000034extern const int16_t WebRtcIlbcfix_kLpFiltCoefs[];
niklase@google.com470e71d2011-07-07 08:21:25 +000035
36/* LPC analysis and quantization */
37
pbos@webrtc.org0946a562013-04-09 00:28:06 +000038extern const int16_t WebRtcIlbcfix_kLpcWin[];
39extern const int16_t WebRtcIlbcfix_kLpcAsymWin[];
40extern const int32_t WebRtcIlbcfix_kLpcLagWin[];
41extern const int16_t WebRtcIlbcfix_kLpcChirpSyntDenum[];
42extern const int16_t WebRtcIlbcfix_kLpcChirpWeightDenum[];
43extern const int16_t WebRtcIlbcfix_kLsfDimCb[];
44extern const int16_t WebRtcIlbcfix_kLsfSizeCb[];
45extern const int16_t WebRtcIlbcfix_kLsfCb[];
46extern const int16_t WebRtcIlbcfix_kLsfWeight20ms[];
47extern const int16_t WebRtcIlbcfix_kLsfWeight30ms[];
48extern const int16_t WebRtcIlbcfix_kLsfMean[];
49extern const int16_t WebRtcIlbcfix_kLspMean[];
50extern const int16_t WebRtcIlbcfix_kCos[];
51extern const int16_t WebRtcIlbcfix_kCosDerivative[];
52extern const int16_t WebRtcIlbcfix_kCosGrid[];
53extern const int16_t WebRtcIlbcfix_kAcosDerivative[];
niklase@google.com470e71d2011-07-07 08:21:25 +000054
55/* state quantization tables */
56
pbos@webrtc.org0946a562013-04-09 00:28:06 +000057extern const int16_t WebRtcIlbcfix_kStateSq3[];
58extern const int32_t WebRtcIlbcfix_kChooseFrgQuant[];
59extern const int16_t WebRtcIlbcfix_kScale[];
60extern const int16_t WebRtcIlbcfix_kFrgQuantMod[];
niklase@google.com470e71d2011-07-07 08:21:25 +000061
62/* Ranges for search and filters at different subframes */
63
Peter Kastingdce40cf2015-08-24 14:52:23 -070064extern const size_t WebRtcIlbcfix_kSearchRange[5][CB_NSTAGES];
65extern const size_t WebRtcIlbcfix_kFilterRange[];
niklase@google.com470e71d2011-07-07 08:21:25 +000066
67/* gain quantization tables */
68
pbos@webrtc.org0946a562013-04-09 00:28:06 +000069extern const int16_t WebRtcIlbcfix_kGainSq3[];
70extern const int16_t WebRtcIlbcfix_kGainSq4[];
71extern const int16_t WebRtcIlbcfix_kGainSq5[];
72extern const int16_t WebRtcIlbcfix_kGainSq5Sq[];
73extern const int16_t* const WebRtcIlbcfix_kGain[];
niklase@google.com470e71d2011-07-07 08:21:25 +000074
75/* adaptive codebook definitions */
76
pbos@webrtc.org0946a562013-04-09 00:28:06 +000077extern const int16_t WebRtcIlbcfix_kCbFiltersRev[];
78extern const int16_t WebRtcIlbcfix_kAlpha[];
niklase@google.com470e71d2011-07-07 08:21:25 +000079
80/* enhancer definitions */
81
pbos@webrtc.org0946a562013-04-09 00:28:06 +000082extern const int16_t WebRtcIlbcfix_kEnhPolyPhaser[ENH_UPS0][ENH_FLO_MULT2_PLUS1];
83extern const int16_t WebRtcIlbcfix_kEnhWt[];
Peter Kasting1380e262015-08-28 17:31:03 -070084extern const size_t WebRtcIlbcfix_kEnhPlocs[];
niklase@google.com470e71d2011-07-07 08:21:25 +000085
86/* PLC tables */
87
pbos@webrtc.org0946a562013-04-09 00:28:06 +000088extern const int16_t WebRtcIlbcfix_kPlcPerSqr[];
89extern const int16_t WebRtcIlbcfix_kPlcPitchFact[];
90extern const int16_t WebRtcIlbcfix_kPlcPfSlope[];
niklase@google.com470e71d2011-07-07 08:21:25 +000091
92#endif