1 /*
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  * pitch_lag_tables.h
13  *
14  * This file contains tables for the pitch filter side-info in the entropy coder.
15  *
16  */
17 
18 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_SOURCE_PITCH_LAG_TABLES_H_
19 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_SOURCE_PITCH_LAG_TABLES_H_
20 
21 #include "webrtc/typedefs.h"
22 
23 /********************* Pitch Filter Lag Coefficient Tables ************************/
24 
25 /* tables for use with small pitch gain */
26 
27 /* cdfs for quantized pitch lags */
28 extern const uint16_t WebRtcIsacfix_kPitchLagCdf1Lo[127];
29 extern const uint16_t WebRtcIsacfix_kPitchLagCdf2Lo[20];
30 extern const uint16_t WebRtcIsacfix_kPitchLagCdf3Lo[2];
31 extern const uint16_t WebRtcIsacfix_kPitchLagCdf4Lo[10];
32 
33 extern const uint16_t *WebRtcIsacfix_kPitchLagPtrLo[4];
34 
35 /* size of first cdf table */
36 extern const uint16_t WebRtcIsacfix_kPitchLagSizeLo[1];
37 
38 /* index limits and ranges */
39 extern const int16_t WebRtcIsacfix_kLowerLimitLo[4];
40 extern const int16_t WebRtcIsacfix_kUpperLimitLo[4];
41 
42 /* initial index for arithmetic decoder */
43 extern const uint16_t WebRtcIsacfix_kInitIndLo[3];
44 
45 /* mean values of pitch filter lags */
46 extern const int16_t WebRtcIsacfix_kMeanLag2Lo[19];
47 extern const int16_t WebRtcIsacfix_kMeanLag4Lo[9];
48 
49 
50 
51 /* tables for use with medium pitch gain */
52 
53 /* cdfs for quantized pitch lags */
54 extern const uint16_t WebRtcIsacfix_kPitchLagCdf1Mid[255];
55 extern const uint16_t WebRtcIsacfix_kPitchLagCdf2Mid[36];
56 extern const uint16_t WebRtcIsacfix_kPitchLagCdf3Mid[2];
57 extern const uint16_t WebRtcIsacfix_kPitchLagCdf4Mid[20];
58 
59 extern const uint16_t *WebRtcIsacfix_kPitchLagPtrMid[4];
60 
61 /* size of first cdf table */
62 extern const uint16_t WebRtcIsacfix_kPitchLagSizeMid[1];
63 
64 /* index limits and ranges */
65 extern const int16_t WebRtcIsacfix_kLowerLimitMid[4];
66 extern const int16_t WebRtcIsacfix_kUpperLimitMid[4];
67 
68 /* initial index for arithmetic decoder */
69 extern const uint16_t WebRtcIsacfix_kInitIndMid[3];
70 
71 /* mean values of pitch filter lags */
72 extern const int16_t WebRtcIsacfix_kMeanLag2Mid[35];
73 extern const int16_t WebRtcIsacfix_kMeanLag4Mid[19];
74 
75 
76 /* tables for use with large pitch gain */
77 
78 /* cdfs for quantized pitch lags */
79 extern const uint16_t WebRtcIsacfix_kPitchLagCdf1Hi[511];
80 extern const uint16_t WebRtcIsacfix_kPitchLagCdf2Hi[68];
81 extern const uint16_t WebRtcIsacfix_kPitchLagCdf3Hi[2];
82 extern const uint16_t WebRtcIsacfix_kPitchLagCdf4Hi[35];
83 
84 extern const uint16_t *WebRtcIsacfix_kPitchLagPtrHi[4];
85 
86 /* size of first cdf table */
87 extern const uint16_t WebRtcIsacfix_kPitchLagSizeHi[1];
88 
89 /* index limits and ranges */
90 extern const int16_t WebRtcIsacfix_kLowerLimitHi[4];
91 extern const int16_t WebRtcIsacfix_kUpperLimitHi[4];
92 
93 /* initial index for arithmetic decoder */
94 extern const uint16_t WebRtcIsacfix_kInitIndHi[3];
95 
96 /* mean values of pitch filter lags */
97 extern const int16_t WebRtcIsacfix_kMeanLag2Hi[67];
98 extern const int16_t WebRtcIsacfix_kMeanLag4Hi[34];
99 
100 
101 #endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_SOURCE_PITCH_LAG_TABLES_H_ */
102