blob: a8645c00db59f8c8c6b02ece0ea2ccda339c0181 [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
Timothy Gu31117832020-12-18 22:25:57 -080022#include <stddef.h>
23#include <stdint.h>
24
Mirko Bonadei06c2aa92018-02-01 15:11:41 +010025#include "modules/audio_coding/codecs/ilbc/defines.h"
niklase@google.com470e71d2011-07-07 08:21:25 +000026
27/* high pass filters */
28
pbos@webrtc.org0946a562013-04-09 00:28:06 +000029extern const int16_t WebRtcIlbcfix_kHpInCoefs[];
30extern const int16_t WebRtcIlbcfix_kHpOutCoefs[];
niklase@google.com470e71d2011-07-07 08:21:25 +000031
32/* Window for start state decision */
pbos@webrtc.org0946a562013-04-09 00:28:06 +000033extern const int16_t WebRtcIlbcfix_kStartSequenceEnrgWin[];
niklase@google.com470e71d2011-07-07 08:21:25 +000034
35/* low pass filter used for downsampling */
pbos@webrtc.org0946a562013-04-09 00:28:06 +000036extern const int16_t WebRtcIlbcfix_kLpFiltCoefs[];
niklase@google.com470e71d2011-07-07 08:21:25 +000037
38/* LPC analysis and quantization */
39
pbos@webrtc.org0946a562013-04-09 00:28:06 +000040extern const int16_t WebRtcIlbcfix_kLpcWin[];
41extern const int16_t WebRtcIlbcfix_kLpcAsymWin[];
42extern const int32_t WebRtcIlbcfix_kLpcLagWin[];
43extern const int16_t WebRtcIlbcfix_kLpcChirpSyntDenum[];
44extern const int16_t WebRtcIlbcfix_kLpcChirpWeightDenum[];
45extern const int16_t WebRtcIlbcfix_kLsfDimCb[];
46extern const int16_t WebRtcIlbcfix_kLsfSizeCb[];
47extern const int16_t WebRtcIlbcfix_kLsfCb[];
48extern const int16_t WebRtcIlbcfix_kLsfWeight20ms[];
49extern const int16_t WebRtcIlbcfix_kLsfWeight30ms[];
50extern const int16_t WebRtcIlbcfix_kLsfMean[];
51extern const int16_t WebRtcIlbcfix_kLspMean[];
52extern const int16_t WebRtcIlbcfix_kCos[];
53extern const int16_t WebRtcIlbcfix_kCosDerivative[];
54extern const int16_t WebRtcIlbcfix_kCosGrid[];
55extern const int16_t WebRtcIlbcfix_kAcosDerivative[];
niklase@google.com470e71d2011-07-07 08:21:25 +000056
57/* state quantization tables */
58
pbos@webrtc.org0946a562013-04-09 00:28:06 +000059extern const int16_t WebRtcIlbcfix_kStateSq3[];
60extern const int32_t WebRtcIlbcfix_kChooseFrgQuant[];
61extern const int16_t WebRtcIlbcfix_kScale[];
62extern const int16_t WebRtcIlbcfix_kFrgQuantMod[];
niklase@google.com470e71d2011-07-07 08:21:25 +000063
64/* Ranges for search and filters at different subframes */
65
Peter Kastingdce40cf2015-08-24 14:52:23 -070066extern const size_t WebRtcIlbcfix_kSearchRange[5][CB_NSTAGES];
67extern const size_t WebRtcIlbcfix_kFilterRange[];
niklase@google.com470e71d2011-07-07 08:21:25 +000068
69/* gain quantization tables */
70
pbos@webrtc.org0946a562013-04-09 00:28:06 +000071extern const int16_t WebRtcIlbcfix_kGainSq3[];
72extern const int16_t WebRtcIlbcfix_kGainSq4[];
73extern const int16_t WebRtcIlbcfix_kGainSq5[];
74extern const int16_t WebRtcIlbcfix_kGainSq5Sq[];
75extern const int16_t* const WebRtcIlbcfix_kGain[];
niklase@google.com470e71d2011-07-07 08:21:25 +000076
77/* adaptive codebook definitions */
78
pbos@webrtc.org0946a562013-04-09 00:28:06 +000079extern const int16_t WebRtcIlbcfix_kCbFiltersRev[];
80extern const int16_t WebRtcIlbcfix_kAlpha[];
niklase@google.com470e71d2011-07-07 08:21:25 +000081
82/* enhancer definitions */
83
Yves Gerey665174f2018-06-19 15:03:05 +020084extern const int16_t WebRtcIlbcfix_kEnhPolyPhaser[ENH_UPS0]
85 [ENH_FLO_MULT2_PLUS1];
pbos@webrtc.org0946a562013-04-09 00:28:06 +000086extern const int16_t WebRtcIlbcfix_kEnhWt[];
Peter Kasting1380e262015-08-28 17:31:03 -070087extern const size_t WebRtcIlbcfix_kEnhPlocs[];
niklase@google.com470e71d2011-07-07 08:21:25 +000088
89/* PLC tables */
90
pbos@webrtc.org0946a562013-04-09 00:28:06 +000091extern const int16_t WebRtcIlbcfix_kPlcPerSqr[];
92extern const int16_t WebRtcIlbcfix_kPlcPitchFact[];
93extern const int16_t WebRtcIlbcfix_kPlcPfSlope[];
niklase@google.com470e71d2011-07-07 08:21:25 +000094
95#endif