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.c 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#include "settings.h" 19b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#include "pitch_lag_tables.h" 20b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 21b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 22b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/********************* Pitch Filter Gain Coefficient Tables ************************/ 23b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 24b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* tables for use with small pitch gain */ 25b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 26b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* cdf for quantized pitch filter lags */ 27fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf1Lo[127] = { 28b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 134, 336, 549, 778, 998, 1264, 1512, 1777, 2070, 29b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2423, 2794, 3051, 3361, 3708, 3979, 4315, 4610, 4933, 5269, 30b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 5575, 5896, 6155, 6480, 6816, 7129, 7477, 7764, 8061, 8358, 31b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 8718, 9020, 9390, 9783, 10177, 10543, 10885, 11342, 11795, 12213, 32b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 12680, 13096, 13524, 13919, 14436, 14903, 15349, 15795, 16267, 16734, 33b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 17266, 17697, 18130, 18632, 19080, 19447, 19884, 20315, 20735, 21288, 34b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 21764, 22264, 22723, 23193, 23680, 24111, 24557, 25022, 25537, 26082, 35b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 26543, 27090, 27620, 28139, 28652, 29149, 29634, 30175, 30692, 31273, 36b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 31866, 32506, 33059, 33650, 34296, 34955, 35629, 36295, 36967, 37726, 37b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 38559, 39458, 40364, 41293, 42256, 43215, 44231, 45253, 46274, 47359, 38b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 48482, 49678, 50810, 51853, 53016, 54148, 55235, 56263, 57282, 58363, 39b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 59288, 60179, 61076, 61806, 62474, 63129, 63656, 64160, 64533, 64856, 40b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65152, 65535, 65535, 65535, 65535, 65535, 65535 41b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 42b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 43fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf2Lo[20] = { 44b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 429, 3558, 5861, 8558, 11639, 15210, 19502, 24773, 31983, 45b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 42602, 48567, 52601, 55676, 58160, 60172, 61889, 63235, 65383, 65535 46b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 47b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 48fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf3Lo[2] = { 49b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 65535 50b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 51b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 52fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf4Lo[10] = { 53b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 2966, 6368, 11182, 19431, 37793, 48532, 55353, 60626, 65535 54b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 55b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 56fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t *WebRtcIsacfix_kPitchLagPtrLo[4] = { 57b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf1Lo, 58b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf2Lo, 59b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf3Lo, 60b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf4Lo 61b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 62b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 63b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* size of first cdf table */ 64fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagSizeLo[1] = { 65b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 128 66b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 67b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 68b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* index limits and ranges */ 69fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kLowerLimitLo[4] = { 70b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -140, -9, 0, -4 71b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 72b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 73fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kUpperLimitLo[4] = { 74b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -20, 9, 0, 4 75b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 76b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 77b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* initial index for arithmetic decoder */ 78fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kInitIndLo[3] = { 79b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 10, 1, 5 80b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 81b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 82b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* mean values of pitch filter lags in Q10 */ 83b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 84fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag2Lo[19] = { 85b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -17627, -16207, -14409, -12319, -10253, -8200, -6054, -3986, -1948, -19, 86b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1937, 3974, 6064, 8155, 10229, 12270, 14296, 16127, 17520 87b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 88b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 89fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag4Lo[9] = { 90b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -7949, -6063, -4036, -1941, 38, 1977, 4060, 6059 91b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 92b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 93b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 94b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 95b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* tables for use with medium pitch gain */ 96b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 97b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* cdf for quantized pitch filter lags */ 98fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf1Mid[255] = { 99b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 28, 61, 88, 121, 149, 233, 331, 475, 559, 100b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 624, 661, 689, 712, 745, 791, 815, 843, 866, 922, 101b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 959, 1024, 1061, 1117, 1178, 1238, 1280, 1350, 1453, 1513, 102b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1564, 1625, 1671, 1741, 1788, 1904, 2072, 2421, 2626, 2770, 103b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2840, 2900, 2942, 3012, 3068, 3115, 3147, 3194, 3254, 3319, 104b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3366, 3520, 3678, 3780, 3850, 3911, 3957, 4032, 4106, 4185, 105b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 4292, 4474, 4683, 4842, 5019, 5191, 5321, 5428, 5540, 5675, 106b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 5763, 5847, 5959, 6127, 6304, 6564, 6839, 7090, 7263, 7421, 107b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 7556, 7728, 7872, 7984, 8142, 8361, 8580, 8743, 8938, 9227, 108b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 9409, 9539, 9674, 9795, 9930, 10060, 10177, 10382, 10614, 10861, 109b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 11038, 11271, 11415, 11629, 11792, 12044, 12193, 12416, 12574, 12821, 110b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 13007, 13235, 13445, 13654, 13901, 14134, 14488, 15000, 15703, 16285, 111b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 16504, 16797, 17086, 17328, 17579, 17807, 17998, 18268, 18538, 18836, 112b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 19087, 19274, 19474, 19716, 19935, 20270, 20833, 21303, 21532, 21741, 113b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 21978, 22207, 22523, 22770, 23054, 23613, 23943, 24204, 24399, 24651, 114b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 24832, 25074, 25270, 25549, 25759, 26015, 26150, 26424, 26713, 27048, 115b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 27342, 27504, 27681, 27854, 28021, 28207, 28412, 28664, 28859, 29064, 116b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 29278, 29548, 29748, 30107, 30377, 30656, 30856, 31164, 31452, 31755, 117b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 32011, 32328, 32626, 32919, 33319, 33789, 34329, 34925, 35396, 35973, 118b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 36443, 36964, 37551, 38156, 38724, 39357, 40023, 40908, 41587, 42602, 119b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 43924, 45037, 45810, 46597, 47421, 48291, 49092, 50051, 51448, 52719, 120b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 53440, 54241, 54944, 55977, 56676, 57299, 57872, 58389, 59059, 59688, 121b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 60237, 60782, 61094, 61573, 61890, 62290, 62658, 63030, 63217, 63454, 122b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 63622, 63882, 64003, 64273, 64427, 64529, 64581, 64697, 64758, 64902, 123b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65414, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 124b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65535, 65535, 65535, 65535, 65535 125b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 126b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 127fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf2Mid[36] = { 128b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 71, 335, 581, 836, 1039, 1323, 1795, 2258, 2608, 129b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3005, 3591, 4243, 5344, 7163, 10583, 16848, 28078, 49448, 57007, 130b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 60357, 61850, 62837, 63437, 63872, 64188, 64377, 64614, 64774, 64949, 131b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65039, 65115, 65223, 65360, 65474, 65535 132b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 133b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 134fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf3Mid[2] = { 135b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 65535 136b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 137b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 138fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf4Mid[20] = { 139b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 28, 246, 459, 667, 1045, 1523, 2337, 4337, 11347, 140b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 44231, 56709, 60781, 62243, 63161, 63969, 64608, 65062, 65502, 65535 141b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 142b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 143fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t *WebRtcIsacfix_kPitchLagPtrMid[4] = { 144b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf1Mid, 145b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf2Mid, 146b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf3Mid, 147b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf4Mid 148b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 149b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 150b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* size of first cdf table */ 151fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagSizeMid[1] = { 152b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 256 153b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 154b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 155b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* index limits and ranges */ 156fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kLowerLimitMid[4] = { 157b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -280, -17, 0, -9 158b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 159b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 160fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kUpperLimitMid[4] = { 161b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -40, 17, 0, 9 162b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 163b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 164b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* initial index for arithmetic decoder */ 165fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kInitIndMid[3] = { 166b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 18, 1, 10 167b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 168b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 169b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* mean values of pitch filter lags in Q10 */ 170b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 171fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag2Mid[35] = { 172b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -17297, -16250, -15416, -14343, -13341, -12363, -11270, 173b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -10355, -9122, -8217, -7172, -6083, -5102, -4004, -3060, 174b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -1982, -952, -18, 935, 1976, 3040, 4032, 175b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 5082, 6065, 7257, 8202, 9264, 10225, 11242, 176b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 12234, 13337, 14336, 15374, 16187, 17347 177b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 178b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 179b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 180fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag4Mid[19] = { 181b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -8811, -8081, -7203, -6003, -5057, -4025, -2983, -1964, 182b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -891, 29, 921, 1920, 2988, 4064, 5187, 6079, 7173, 8074, 8849 183b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 184b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 185b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 186b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* tables for use with large pitch gain */ 187b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 188b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* cdf for quantized pitch filter lags */ 189fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf1Hi[511] = { 190b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 7, 18, 33, 69, 105, 156, 228, 315, 612, 191b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 680, 691, 709, 724, 735, 738, 742, 746, 749, 753, 192b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 756, 760, 764, 774, 782, 785, 789, 796, 800, 803, 193b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 807, 814, 818, 822, 829, 832, 847, 854, 858, 869, 194b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 876, 883, 898, 908, 934, 977, 1010, 1050, 1060, 1064, 195b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1075, 1078, 1086, 1089, 1093, 1104, 1111, 1122, 1133, 1136, 196b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1151, 1162, 1183, 1209, 1252, 1281, 1339, 1364, 1386, 1401, 197b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1411, 1415, 1426, 1430, 1433, 1440, 1448, 1455, 1462, 1477, 198b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1487, 1495, 1502, 1506, 1509, 1516, 1524, 1531, 1535, 1542, 199b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1553, 1556, 1578, 1589, 1611, 1625, 1639, 1643, 1654, 1665, 200b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1672, 1687, 1694, 1705, 1708, 1719, 1730, 1744, 1752, 1759, 201b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1791, 1795, 1820, 1867, 1886, 1915, 1936, 1943, 1965, 1987, 202b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2041, 2099, 2161, 2175, 2200, 2211, 2226, 2233, 2244, 2251, 203b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2266, 2280, 2287, 2298, 2309, 2316, 2331, 2342, 2356, 2378, 204b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2403, 2418, 2447, 2497, 2544, 2602, 2863, 2895, 2903, 2935, 205b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 2950, 2971, 3004, 3011, 3018, 3029, 3040, 3062, 3087, 3127, 206b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3152, 3170, 3199, 3243, 3293, 3322, 3340, 3377, 3402, 3427, 207b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3474, 3518, 3543, 3579, 3601, 3637, 3659, 3706, 3731, 3760, 208b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3818, 3847, 3869, 3901, 3920, 3952, 4068, 4169, 4220, 4271, 209b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 4524, 4571, 4604, 4632, 4672, 4730, 4777, 4806, 4857, 4904, 210b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 4951, 5002, 5031, 5060, 5107, 5150, 5212, 5266, 5331, 5382, 211b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 5432, 5490, 5544, 5610, 5700, 5762, 5812, 5874, 5972, 6022, 212b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 6091, 6163, 6232, 6305, 6402, 6540, 6685, 6880, 7090, 7271, 213b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 7379, 7452, 7542, 7625, 7687, 7770, 7843, 7911, 7966, 8024, 214b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 8096, 8190, 8252, 8320, 8411, 8501, 8585, 8639, 8751, 8842, 215b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 8918, 8986, 9066, 9127, 9203, 9269, 9345, 9406, 9464, 9536, 216b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 9612, 9667, 9735, 9844, 9931, 10036, 10119, 10199, 10260, 10358, 217b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 10441, 10514, 10666, 10734, 10872, 10951, 11053, 11125, 11223, 11324, 218b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 11516, 11664, 11737, 11816, 11892, 12008, 12120, 12200, 12280, 12392, 219b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 12490, 12576, 12685, 12812, 12917, 13003, 13108, 13210, 13300, 13384, 220b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 13470, 13579, 13673, 13771, 13879, 13999, 14136, 14201, 14368, 14614, 221b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 14759, 14867, 14958, 15030, 15121, 15189, 15280, 15385, 15461, 15555, 222b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 15653, 15768, 15884, 15971, 16069, 16145, 16210, 16279, 16380, 16463, 223b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 16539, 16615, 16688, 16818, 16919, 17017, 18041, 18338, 18523, 18649, 224b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 18790, 18917, 19047, 19167, 19315, 19460, 19601, 19731, 19858, 20068, 225b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 20173, 20318, 20466, 20625, 20741, 20911, 21045, 21201, 21396, 21588, 226b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 21816, 22022, 22305, 22547, 22786, 23072, 23322, 23600, 23879, 24168, 227b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 24433, 24769, 25120, 25511, 25895, 26289, 26792, 27219, 27683, 28077, 228b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 28566, 29094, 29546, 29977, 30491, 30991, 31573, 32105, 32594, 33173, 229b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 33788, 34497, 35181, 35833, 36488, 37255, 37921, 38645, 39275, 39894, 230b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 40505, 41167, 41790, 42431, 43096, 43723, 44385, 45134, 45858, 46607, 231b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 47349, 48091, 48768, 49405, 49955, 50555, 51167, 51985, 52611, 53078, 232b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 53494, 53965, 54435, 54996, 55601, 56125, 56563, 56838, 57244, 57566, 233b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 57967, 58297, 58771, 59093, 59419, 59647, 59886, 60143, 60461, 60693, 234b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 60917, 61170, 61416, 61634, 61891, 62122, 62310, 62455, 62632, 62839, 235b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 63103, 63436, 63639, 63805, 63906, 64015, 64192, 64355, 64475, 64558, 236b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 64663, 64742, 64811, 64865, 64916, 64956, 64981, 65025, 65068, 65115, 237b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65195, 65314, 65419, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 238b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 239b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 240b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 241b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65535 242b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 243b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 244fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf2Hi[68] = { 245b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 7, 11, 22, 37, 52, 56, 59, 81, 85, 246b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 89, 96, 115, 130, 137, 152, 170, 181, 193, 200, 247b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 207, 233, 237, 259, 289, 318, 363, 433, 592, 992, 248b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1607, 3062, 6149, 12206, 25522, 48368, 58223, 61918, 63640, 64584, 249b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 64943, 65098, 65206, 65268, 65294, 65335, 65350, 65372, 65387, 65402, 250b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65413, 65420, 65428, 65435, 65439, 65450, 65454, 65468, 65472, 65476, 251b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65483, 65491, 65498, 65505, 65516, 65520, 65528, 65535 252b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 253b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 254fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf3Hi[2] = { 255b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 65535 256b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 257b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 258fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf4Hi[35] = { 259b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 0, 7, 19, 30, 41, 48, 63, 74, 82, 96, 260b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 122, 152, 215, 330, 701, 2611, 10931, 48106, 61177, 64341, 261b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65112, 65238, 65309, 65338, 65364, 65379, 65401, 65427, 65453, 262b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 65465, 65476, 65490, 65509, 65528, 65535 263b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 264b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 265fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t *WebRtcIsacfix_kPitchLagPtrHi[4] = { 266b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf1Hi, 267b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf2Hi, 268b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf3Hi, 269b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org WebRtcIsacfix_kPitchLagCdf4Hi 270b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 271b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 272b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* size of first cdf table */ 273fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagSizeHi[1] = { 274b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 512 275b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 276b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 277b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* index limits and ranges */ 278fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kLowerLimitHi[4] = { 279b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -552, -34, 0, -16 280b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 281b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 282fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kUpperLimitHi[4] = { 283b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -80, 32, 0, 17 284b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 285b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 286b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* initial index for arithmetic decoder */ 287fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst uint16_t WebRtcIsacfix_kInitIndHi[3] = { 288b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 34, 1, 18 289b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 290b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 291b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* mean values of pitch filter lags */ 292b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 293fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag2Hi[67] = { 294b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -17482, -16896, -16220, -15929, -15329, -14848, -14336, -13807, -13312, -12800, -12218, -11720, 295b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -11307, -10649, -10396, -9742, -9148, -8668, -8297, -7718, -7155, -6656, -6231, -5600, -5129, 296b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -4610, -4110, -3521, -3040, -2525, -2016, -1506, -995, -477, -5, 469, 991, 1510, 2025, 2526, 3079, 297b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3555, 4124, 4601, 5131, 5613, 6194, 6671, 7140, 7645, 8207, 8601, 9132, 9728, 10359, 10752, 11302, 298b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 11776, 12288, 12687, 13204, 13759, 14295, 14810, 15360, 15764, 16350 299b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 300b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 301b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 302fbda0fcf2f9e82c82bcaac138f44d4e5144f6e0dpbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag4Hi[34] = { 303b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -8175, -7659, -7205, -6684, -6215, -5651, -5180, -4566, -4087, -3536, -3096, 304b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org -2532, -1990, -1482, -959, -440, 11, 451, 954, 1492, 2020, 2562, 3059, 305b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 3577, 4113, 4618, 5134, 5724, 6060, 6758, 7015, 7716, 8066, 8741 306b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}; 307