1b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/*
2b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *
4b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  Use of this source code is governed by a BSD-style license
5b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  that can be found in the LICENSE file in the root of the source
6b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  tree. An additional intellectual property rights grant can be found
7b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  in the file PATENTS.  All contributing project authors may
8b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
9b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org */
10b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
11b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/*
12b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * pitch_lag_tables.h
13b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *
14b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * This file contains tables for the pitch filter side-info in the entropy coder.
15b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org *
16b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org */
17b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
18b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_PITCH_LAG_TABLES_H_
19b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#define WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_PITCH_LAG_TABLES_H_
20b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
21a11402cdbf99a12d58421d5b446982e8d30c40caandresp@webrtc.org#include "webrtc/typedefs.h"
22b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* header file for coding tables for the pitch filter side-info in the entropy coder */
23b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/********************* Pitch Filter Lag Coefficient Tables ************************/
24b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
25b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* tables for use with small pitch gain */
26b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
27b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* cdfs for quantized pitch lags */
28fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf1Lo[127];
29fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf2Lo[20];
30fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf3Lo[2];
31fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf4Lo[10];
32b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
33fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t *WebRtcIsac_kQPitchLagCdfPtrLo[4];
34b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
35b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* size of first cdf table */
36fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdfSizeLo[1];
37b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
38b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* index limits and ranges */
39fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const int16_t WebRtcIsac_kQIndexLowerLimitLagLo[4];
40fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const int16_t WebRtcIsac_kQIndexUpperLimitLagLo[4];
41b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
42b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* initial index for arithmetic decoder */
43fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQInitIndexLagLo[3];
44b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
45b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* mean values of pitch filter lags */
46b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQMeanLag2Lo[19];
47b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQMeanLag3Lo[1];
48b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQMeanLag4Lo[9];
49b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
50b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQPitchLagStepsizeLo;
51b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
52b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
53b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* tables for use with medium pitch gain */
54b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
55b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* cdfs for quantized pitch lags */
56fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf1Mid[255];
57fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf2Mid[36];
58fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf3Mid[2];
59fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf4Mid[20];
60b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
61fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t *WebRtcIsac_kQPitchLagCdfPtrMid[4];
62b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
63b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* size of first cdf table */
64fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdfSizeMid[1];
65b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
66b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* index limits and ranges */
67fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const int16_t WebRtcIsac_kQIndexLowerLimitLagMid[4];
68fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const int16_t WebRtcIsac_kQIndexUpperLimitLagMid[4];
69b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
70b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* initial index for arithmetic decoder */
71fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQInitIndexLagMid[3];
72b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
73b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* mean values of pitch filter lags */
74b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQMeanLag2Mid[35];
75b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQMeanLag3Mid[1];
76b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQMeanLag4Mid[19];
77b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
78b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQPitchLagStepsizeMid;
79b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
80b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
81b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* tables for use with large pitch gain */
82b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
83b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* cdfs for quantized pitch lags */
84fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf1Hi[511];
85fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf2Hi[68];
86fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf3Hi[2];
87fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdf4Hi[35];
88b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
89fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t *WebRtcIsac_kQPitchLagCdfPtrHi[4];
90b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
91b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* size of first cdf table */
92fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQPitchLagCdfSizeHi[1];
93b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
94b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* index limits and ranges */
95fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const int16_t WebRtcIsac_kQindexLowerLimitLagHi[4];
96fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const int16_t WebRtcIsac_kQindexUpperLimitLagHi[4];
97b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
98b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* initial index for arithmetic decoder */
99fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgextern const uint16_t WebRtcIsac_kQInitIndexLagHi[3];
100b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
101b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* mean values of pitch filter lags */
102b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQMeanLag2Hi[67];
103b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQMeanLag3Hi[1];
104b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQMeanLag4Hi[34];
105b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
106b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kQPitchLagStepsizeHi;
107b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
108b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* transform matrix */
109b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kTransform[4][4];
110b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
111b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* transpose transform matrix */
112b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgextern const double WebRtcIsac_kTransformTranspose[4][4];
113b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
114b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_PITCH_LAG_TABLES_H_ */
115