1470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* 2470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 3470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * 4470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * Use of this source code is governed by a BSD-style license 5470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * that can be found in the LICENSE file in the root of the source 6470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * tree. An additional intellectual property rights grant can be found 7470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * in the file PATENTS. All contributing project authors may 8470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * be found in the AUTHORS file in the root of the source tree. 9470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com */ 10470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 11470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* 12470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * pitch_lag_tables.c 13470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * 14470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * This file contains tables for the pitch filter side-info in the entropy coder. 15470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * 16470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com */ 17470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 18470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#include "settings.h" 19470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#include "pitch_lag_tables.h" 20470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 21470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 22470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/********************* Pitch Filter Gain Coefficient Tables ************************/ 23470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 24470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* tables for use with small pitch gain */ 25470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 26470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* cdf for quantized pitch filter lags */ 270946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf1Lo[127] = { 28470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 134, 336, 549, 778, 998, 1264, 1512, 1777, 2070, 29470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2423, 2794, 3051, 3361, 3708, 3979, 4315, 4610, 4933, 5269, 30470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 5575, 5896, 6155, 6480, 6816, 7129, 7477, 7764, 8061, 8358, 31470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 8718, 9020, 9390, 9783, 10177, 10543, 10885, 11342, 11795, 12213, 32470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 12680, 13096, 13524, 13919, 14436, 14903, 15349, 15795, 16267, 16734, 33470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 17266, 17697, 18130, 18632, 19080, 19447, 19884, 20315, 20735, 21288, 34470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 21764, 22264, 22723, 23193, 23680, 24111, 24557, 25022, 25537, 26082, 35470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 26543, 27090, 27620, 28139, 28652, 29149, 29634, 30175, 30692, 31273, 36470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 31866, 32506, 33059, 33650, 34296, 34955, 35629, 36295, 36967, 37726, 37470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 38559, 39458, 40364, 41293, 42256, 43215, 44231, 45253, 46274, 47359, 38470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 48482, 49678, 50810, 51853, 53016, 54148, 55235, 56263, 57282, 58363, 39470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 59288, 60179, 61076, 61806, 62474, 63129, 63656, 64160, 64533, 64856, 40470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65152, 65535, 65535, 65535, 65535, 65535, 65535 41470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 42470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 430946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf2Lo[20] = { 44470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 429, 3558, 5861, 8558, 11639, 15210, 19502, 24773, 31983, 45470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 42602, 48567, 52601, 55676, 58160, 60172, 61889, 63235, 65383, 65535 46470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 47470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 480946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf3Lo[2] = { 49470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 65535 50470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 51470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 520946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf4Lo[10] = { 53470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 2966, 6368, 11182, 19431, 37793, 48532, 55353, 60626, 65535 54470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 55470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 560946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t *WebRtcIsacfix_kPitchLagPtrLo[4] = { 57470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf1Lo, 58470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf2Lo, 59470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf3Lo, 60470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf4Lo 61470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 62470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 63470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* size of first cdf table */ 640946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagSizeLo[1] = { 65470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 128 66470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 67470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 68470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* index limits and ranges */ 690946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kLowerLimitLo[4] = { 70470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -140, -9, 0, -4 71470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 72470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 730946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kUpperLimitLo[4] = { 74470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -20, 9, 0, 4 75470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 76470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 77470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* initial index for arithmetic decoder */ 780946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kInitIndLo[3] = { 79470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 10, 1, 5 80470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 81470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 82470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* mean values of pitch filter lags in Q10 */ 83470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 840946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag2Lo[19] = { 85470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -17627, -16207, -14409, -12319, -10253, -8200, -6054, -3986, -1948, -19, 86470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1937, 3974, 6064, 8155, 10229, 12270, 14296, 16127, 17520 87470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 88470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 890946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag4Lo[9] = { 90470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -7949, -6063, -4036, -1941, 38, 1977, 4060, 6059 91470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 92470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 93470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 94470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 95470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* tables for use with medium pitch gain */ 96470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 97470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* cdf for quantized pitch filter lags */ 980946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf1Mid[255] = { 99470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 28, 61, 88, 121, 149, 233, 331, 475, 559, 100470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 624, 661, 689, 712, 745, 791, 815, 843, 866, 922, 101470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 959, 1024, 1061, 1117, 1178, 1238, 1280, 1350, 1453, 1513, 102470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1564, 1625, 1671, 1741, 1788, 1904, 2072, 2421, 2626, 2770, 103470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2840, 2900, 2942, 3012, 3068, 3115, 3147, 3194, 3254, 3319, 104470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 3366, 3520, 3678, 3780, 3850, 3911, 3957, 4032, 4106, 4185, 105470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 4292, 4474, 4683, 4842, 5019, 5191, 5321, 5428, 5540, 5675, 106470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 5763, 5847, 5959, 6127, 6304, 6564, 6839, 7090, 7263, 7421, 107470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 7556, 7728, 7872, 7984, 8142, 8361, 8580, 8743, 8938, 9227, 108470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 9409, 9539, 9674, 9795, 9930, 10060, 10177, 10382, 10614, 10861, 109470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 11038, 11271, 11415, 11629, 11792, 12044, 12193, 12416, 12574, 12821, 110470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 13007, 13235, 13445, 13654, 13901, 14134, 14488, 15000, 15703, 16285, 111470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 16504, 16797, 17086, 17328, 17579, 17807, 17998, 18268, 18538, 18836, 112470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 19087, 19274, 19474, 19716, 19935, 20270, 20833, 21303, 21532, 21741, 113470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 21978, 22207, 22523, 22770, 23054, 23613, 23943, 24204, 24399, 24651, 114470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 24832, 25074, 25270, 25549, 25759, 26015, 26150, 26424, 26713, 27048, 115470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 27342, 27504, 27681, 27854, 28021, 28207, 28412, 28664, 28859, 29064, 116470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 29278, 29548, 29748, 30107, 30377, 30656, 30856, 31164, 31452, 31755, 117470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 32011, 32328, 32626, 32919, 33319, 33789, 34329, 34925, 35396, 35973, 118470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 36443, 36964, 37551, 38156, 38724, 39357, 40023, 40908, 41587, 42602, 119470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 43924, 45037, 45810, 46597, 47421, 48291, 49092, 50051, 51448, 52719, 120470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 53440, 54241, 54944, 55977, 56676, 57299, 57872, 58389, 59059, 59688, 121470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 60237, 60782, 61094, 61573, 61890, 62290, 62658, 63030, 63217, 63454, 122470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 63622, 63882, 64003, 64273, 64427, 64529, 64581, 64697, 64758, 64902, 123470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65414, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 124470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65535, 65535, 65535, 65535, 65535 125470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 126470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1270946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf2Mid[36] = { 128470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 71, 335, 581, 836, 1039, 1323, 1795, 2258, 2608, 129470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 3005, 3591, 4243, 5344, 7163, 10583, 16848, 28078, 49448, 57007, 130470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 60357, 61850, 62837, 63437, 63872, 64188, 64377, 64614, 64774, 64949, 131470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65039, 65115, 65223, 65360, 65474, 65535 132470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 133470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1340946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf3Mid[2] = { 135470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 65535 136470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 137470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1380946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf4Mid[20] = { 139470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 28, 246, 459, 667, 1045, 1523, 2337, 4337, 11347, 140470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 44231, 56709, 60781, 62243, 63161, 63969, 64608, 65062, 65502, 65535 141470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 142470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1430946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t *WebRtcIsacfix_kPitchLagPtrMid[4] = { 144470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf1Mid, 145470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf2Mid, 146470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf3Mid, 147470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf4Mid 148470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 149470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 150470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* size of first cdf table */ 1510946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagSizeMid[1] = { 152470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 256 153470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 154470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 155470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* index limits and ranges */ 1560946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kLowerLimitMid[4] = { 157470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -280, -17, 0, -9 158470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 159470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1600946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kUpperLimitMid[4] = { 161470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -40, 17, 0, 9 162470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 163470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 164470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* initial index for arithmetic decoder */ 1650946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kInitIndMid[3] = { 166470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 18, 1, 10 167470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 168470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 169470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* mean values of pitch filter lags in Q10 */ 170470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1710946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag2Mid[35] = { 172470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -17297, -16250, -15416, -14343, -13341, -12363, -11270, 173470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -10355, -9122, -8217, -7172, -6083, -5102, -4004, -3060, 174470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -1982, -952, -18, 935, 1976, 3040, 4032, 175470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 5082, 6065, 7257, 8202, 9264, 10225, 11242, 176470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 12234, 13337, 14336, 15374, 16187, 17347 177470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 178470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 179470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1800946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag4Mid[19] = { 181470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -8811, -8081, -7203, -6003, -5057, -4025, -2983, -1964, 182470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -891, 29, 921, 1920, 2988, 4064, 5187, 6079, 7173, 8074, 8849 183470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 184470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 185470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 186470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* tables for use with large pitch gain */ 187470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 188470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* cdf for quantized pitch filter lags */ 1890946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf1Hi[511] = { 190470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 7, 18, 33, 69, 105, 156, 228, 315, 612, 191470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 680, 691, 709, 724, 735, 738, 742, 746, 749, 753, 192470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 756, 760, 764, 774, 782, 785, 789, 796, 800, 803, 193470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 807, 814, 818, 822, 829, 832, 847, 854, 858, 869, 194470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 876, 883, 898, 908, 934, 977, 1010, 1050, 1060, 1064, 195470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1075, 1078, 1086, 1089, 1093, 1104, 1111, 1122, 1133, 1136, 196470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1151, 1162, 1183, 1209, 1252, 1281, 1339, 1364, 1386, 1401, 197470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1411, 1415, 1426, 1430, 1433, 1440, 1448, 1455, 1462, 1477, 198470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1487, 1495, 1502, 1506, 1509, 1516, 1524, 1531, 1535, 1542, 199470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1553, 1556, 1578, 1589, 1611, 1625, 1639, 1643, 1654, 1665, 200470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1672, 1687, 1694, 1705, 1708, 1719, 1730, 1744, 1752, 1759, 201470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1791, 1795, 1820, 1867, 1886, 1915, 1936, 1943, 1965, 1987, 202470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2041, 2099, 2161, 2175, 2200, 2211, 2226, 2233, 2244, 2251, 203470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2266, 2280, 2287, 2298, 2309, 2316, 2331, 2342, 2356, 2378, 204470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2403, 2418, 2447, 2497, 2544, 2602, 2863, 2895, 2903, 2935, 205470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2950, 2971, 3004, 3011, 3018, 3029, 3040, 3062, 3087, 3127, 206470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 3152, 3170, 3199, 3243, 3293, 3322, 3340, 3377, 3402, 3427, 207470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 3474, 3518, 3543, 3579, 3601, 3637, 3659, 3706, 3731, 3760, 208470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 3818, 3847, 3869, 3901, 3920, 3952, 4068, 4169, 4220, 4271, 209470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 4524, 4571, 4604, 4632, 4672, 4730, 4777, 4806, 4857, 4904, 210470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 4951, 5002, 5031, 5060, 5107, 5150, 5212, 5266, 5331, 5382, 211470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 5432, 5490, 5544, 5610, 5700, 5762, 5812, 5874, 5972, 6022, 212470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 6091, 6163, 6232, 6305, 6402, 6540, 6685, 6880, 7090, 7271, 213470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 7379, 7452, 7542, 7625, 7687, 7770, 7843, 7911, 7966, 8024, 214470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 8096, 8190, 8252, 8320, 8411, 8501, 8585, 8639, 8751, 8842, 215470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 8918, 8986, 9066, 9127, 9203, 9269, 9345, 9406, 9464, 9536, 216470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 9612, 9667, 9735, 9844, 9931, 10036, 10119, 10199, 10260, 10358, 217470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 10441, 10514, 10666, 10734, 10872, 10951, 11053, 11125, 11223, 11324, 218470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 11516, 11664, 11737, 11816, 11892, 12008, 12120, 12200, 12280, 12392, 219470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 12490, 12576, 12685, 12812, 12917, 13003, 13108, 13210, 13300, 13384, 220470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 13470, 13579, 13673, 13771, 13879, 13999, 14136, 14201, 14368, 14614, 221470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 14759, 14867, 14958, 15030, 15121, 15189, 15280, 15385, 15461, 15555, 222470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 15653, 15768, 15884, 15971, 16069, 16145, 16210, 16279, 16380, 16463, 223470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 16539, 16615, 16688, 16818, 16919, 17017, 18041, 18338, 18523, 18649, 224470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 18790, 18917, 19047, 19167, 19315, 19460, 19601, 19731, 19858, 20068, 225470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 20173, 20318, 20466, 20625, 20741, 20911, 21045, 21201, 21396, 21588, 226470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 21816, 22022, 22305, 22547, 22786, 23072, 23322, 23600, 23879, 24168, 227470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 24433, 24769, 25120, 25511, 25895, 26289, 26792, 27219, 27683, 28077, 228470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 28566, 29094, 29546, 29977, 30491, 30991, 31573, 32105, 32594, 33173, 229470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 33788, 34497, 35181, 35833, 36488, 37255, 37921, 38645, 39275, 39894, 230470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 40505, 41167, 41790, 42431, 43096, 43723, 44385, 45134, 45858, 46607, 231470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 47349, 48091, 48768, 49405, 49955, 50555, 51167, 51985, 52611, 53078, 232470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 53494, 53965, 54435, 54996, 55601, 56125, 56563, 56838, 57244, 57566, 233470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 57967, 58297, 58771, 59093, 59419, 59647, 59886, 60143, 60461, 60693, 234470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 60917, 61170, 61416, 61634, 61891, 62122, 62310, 62455, 62632, 62839, 235470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 63103, 63436, 63639, 63805, 63906, 64015, 64192, 64355, 64475, 64558, 236470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 64663, 64742, 64811, 64865, 64916, 64956, 64981, 65025, 65068, 65115, 237470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65195, 65314, 65419, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 238470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 239470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 240470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 241470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65535 242470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 243470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2440946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf2Hi[68] = { 245470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 7, 11, 22, 37, 52, 56, 59, 81, 85, 246470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 89, 96, 115, 130, 137, 152, 170, 181, 193, 200, 247470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 207, 233, 237, 259, 289, 318, 363, 433, 592, 992, 248470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 1607, 3062, 6149, 12206, 25522, 48368, 58223, 61918, 63640, 64584, 249470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 64943, 65098, 65206, 65268, 65294, 65335, 65350, 65372, 65387, 65402, 250470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65413, 65420, 65428, 65435, 65439, 65450, 65454, 65468, 65472, 65476, 251470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65483, 65491, 65498, 65505, 65516, 65520, 65528, 65535 252470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 253470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2540946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf3Hi[2] = { 255470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 65535 256470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 257470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2580946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagCdf4Hi[35] = { 259470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 0, 7, 19, 30, 41, 48, 63, 74, 82, 96, 260470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 122, 152, 215, 330, 701, 2611, 10931, 48106, 61177, 64341, 261470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65112, 65238, 65309, 65338, 65364, 65379, 65401, 65427, 65453, 262470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 65465, 65476, 65490, 65509, 65528, 65535 263470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 264470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2650946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t *WebRtcIsacfix_kPitchLagPtrHi[4] = { 266470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf1Hi, 267470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf2Hi, 268470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf3Hi, 269470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIsacfix_kPitchLagCdf4Hi 270470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 271470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 272470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* size of first cdf table */ 2730946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kPitchLagSizeHi[1] = { 274470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 512 275470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 276470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 277470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* index limits and ranges */ 2780946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kLowerLimitHi[4] = { 279470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -552, -34, 0, -16 280470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 281470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2820946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kUpperLimitHi[4] = { 283470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -80, 32, 0, 17 284470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 285470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 286470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* initial index for arithmetic decoder */ 2870946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst uint16_t WebRtcIsacfix_kInitIndHi[3] = { 288470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 34, 1, 18 289470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 290470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 291470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* mean values of pitch filter lags */ 292470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 2930946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag2Hi[67] = { 294470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -17482, -16896, -16220, -15929, -15329, -14848, -14336, -13807, -13312, -12800, -12218, -11720, 295470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -11307, -10649, -10396, -9742, -9148, -8668, -8297, -7718, -7155, -6656, -6231, -5600, -5129, 296470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -4610, -4110, -3521, -3040, -2525, -2016, -1506, -995, -477, -5, 469, 991, 1510, 2025, 2526, 3079, 297470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 3555, 4124, 4601, 5131, 5613, 6194, 6671, 7140, 7645, 8207, 8601, 9132, 9728, 10359, 10752, 11302, 298470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 11776, 12288, 12687, 13204, 13759, 14295, 14810, 15360, 15764, 16350 299470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 300470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 301470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 3020946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.orgconst int16_t WebRtcIsacfix_kMeanLag4Hi[34] = { 303470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -8175, -7659, -7205, -6684, -6215, -5651, -5180, -4566, -4087, -3536, -3096, 304470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com -2532, -1990, -1482, -959, -440, 11, 451, 954, 1492, 2020, 2562, 3059, 305470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 3577, 4113, 4618, 5134, 5724, 6060, 6758, 7015, 7716, 8066, 8741 306470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}; 307