annotate src/opus-1.3/silk/tables_LTP.c @ 169:223a55898ab9 tip default

Add null config files
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 02 Mar 2020 14:03:47 +0000
parents 4664ac0c1032
children
rev   line source
cannam@154 1 /***********************************************************************
cannam@154 2 Copyright (c) 2006-2011, Skype Limited. All rights reserved.
cannam@154 3 Redistribution and use in source and binary forms, with or without
cannam@154 4 modification, are permitted provided that the following conditions
cannam@154 5 are met:
cannam@154 6 - Redistributions of source code must retain the above copyright notice,
cannam@154 7 this list of conditions and the following disclaimer.
cannam@154 8 - Redistributions in binary form must reproduce the above copyright
cannam@154 9 notice, this list of conditions and the following disclaimer in the
cannam@154 10 documentation and/or other materials provided with the distribution.
cannam@154 11 - Neither the name of Internet Society, IETF or IETF Trust, nor the
cannam@154 12 names of specific contributors, may be used to endorse or promote
cannam@154 13 products derived from this software without specific prior written
cannam@154 14 permission.
cannam@154 15 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
cannam@154 16 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
cannam@154 17 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
cannam@154 18 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
cannam@154 19 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
cannam@154 20 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
cannam@154 21 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
cannam@154 22 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
cannam@154 23 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
cannam@154 24 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
cannam@154 25 POSSIBILITY OF SUCH DAMAGE.
cannam@154 26 ***********************************************************************/
cannam@154 27
cannam@154 28 #ifdef HAVE_CONFIG_H
cannam@154 29 #include "config.h"
cannam@154 30 #endif
cannam@154 31
cannam@154 32 #include "tables.h"
cannam@154 33
cannam@154 34 const opus_uint8 silk_LTP_per_index_iCDF[3] = {
cannam@154 35 179, 99, 0
cannam@154 36 };
cannam@154 37
cannam@154 38 static const opus_uint8 silk_LTP_gain_iCDF_0[8] = {
cannam@154 39 71, 56, 43, 30, 21, 12, 6, 0
cannam@154 40 };
cannam@154 41
cannam@154 42 static const opus_uint8 silk_LTP_gain_iCDF_1[16] = {
cannam@154 43 199, 165, 144, 124, 109, 96, 84, 71,
cannam@154 44 61, 51, 42, 32, 23, 15, 8, 0
cannam@154 45 };
cannam@154 46
cannam@154 47 static const opus_uint8 silk_LTP_gain_iCDF_2[32] = {
cannam@154 48 241, 225, 211, 199, 187, 175, 164, 153,
cannam@154 49 142, 132, 123, 114, 105, 96, 88, 80,
cannam@154 50 72, 64, 57, 50, 44, 38, 33, 29,
cannam@154 51 24, 20, 16, 12, 9, 5, 2, 0
cannam@154 52 };
cannam@154 53
cannam@154 54 static const opus_uint8 silk_LTP_gain_BITS_Q5_0[8] = {
cannam@154 55 15, 131, 138, 138, 155, 155, 173, 173
cannam@154 56 };
cannam@154 57
cannam@154 58 static const opus_uint8 silk_LTP_gain_BITS_Q5_1[16] = {
cannam@154 59 69, 93, 115, 118, 131, 138, 141, 138,
cannam@154 60 150, 150, 155, 150, 155, 160, 166, 160
cannam@154 61 };
cannam@154 62
cannam@154 63 static const opus_uint8 silk_LTP_gain_BITS_Q5_2[32] = {
cannam@154 64 131, 128, 134, 141, 141, 141, 145, 145,
cannam@154 65 145, 150, 155, 155, 155, 155, 160, 160,
cannam@154 66 160, 160, 166, 166, 173, 173, 182, 192,
cannam@154 67 182, 192, 192, 192, 205, 192, 205, 224
cannam@154 68 };
cannam@154 69
cannam@154 70 const opus_uint8 * const silk_LTP_gain_iCDF_ptrs[NB_LTP_CBKS] = {
cannam@154 71 silk_LTP_gain_iCDF_0,
cannam@154 72 silk_LTP_gain_iCDF_1,
cannam@154 73 silk_LTP_gain_iCDF_2
cannam@154 74 };
cannam@154 75
cannam@154 76 const opus_uint8 * const silk_LTP_gain_BITS_Q5_ptrs[NB_LTP_CBKS] = {
cannam@154 77 silk_LTP_gain_BITS_Q5_0,
cannam@154 78 silk_LTP_gain_BITS_Q5_1,
cannam@154 79 silk_LTP_gain_BITS_Q5_2
cannam@154 80 };
cannam@154 81
cannam@154 82 static const opus_int8 silk_LTP_gain_vq_0[8][5] =
cannam@154 83 {
cannam@154 84 {
cannam@154 85 4, 6, 24, 7, 5
cannam@154 86 },
cannam@154 87 {
cannam@154 88 0, 0, 2, 0, 0
cannam@154 89 },
cannam@154 90 {
cannam@154 91 12, 28, 41, 13, -4
cannam@154 92 },
cannam@154 93 {
cannam@154 94 -9, 15, 42, 25, 14
cannam@154 95 },
cannam@154 96 {
cannam@154 97 1, -2, 62, 41, -9
cannam@154 98 },
cannam@154 99 {
cannam@154 100 -10, 37, 65, -4, 3
cannam@154 101 },
cannam@154 102 {
cannam@154 103 -6, 4, 66, 7, -8
cannam@154 104 },
cannam@154 105 {
cannam@154 106 16, 14, 38, -3, 33
cannam@154 107 }
cannam@154 108 };
cannam@154 109
cannam@154 110 static const opus_int8 silk_LTP_gain_vq_1[16][5] =
cannam@154 111 {
cannam@154 112 {
cannam@154 113 13, 22, 39, 23, 12
cannam@154 114 },
cannam@154 115 {
cannam@154 116 -1, 36, 64, 27, -6
cannam@154 117 },
cannam@154 118 {
cannam@154 119 -7, 10, 55, 43, 17
cannam@154 120 },
cannam@154 121 {
cannam@154 122 1, 1, 8, 1, 1
cannam@154 123 },
cannam@154 124 {
cannam@154 125 6, -11, 74, 53, -9
cannam@154 126 },
cannam@154 127 {
cannam@154 128 -12, 55, 76, -12, 8
cannam@154 129 },
cannam@154 130 {
cannam@154 131 -3, 3, 93, 27, -4
cannam@154 132 },
cannam@154 133 {
cannam@154 134 26, 39, 59, 3, -8
cannam@154 135 },
cannam@154 136 {
cannam@154 137 2, 0, 77, 11, 9
cannam@154 138 },
cannam@154 139 {
cannam@154 140 -8, 22, 44, -6, 7
cannam@154 141 },
cannam@154 142 {
cannam@154 143 40, 9, 26, 3, 9
cannam@154 144 },
cannam@154 145 {
cannam@154 146 -7, 20, 101, -7, 4
cannam@154 147 },
cannam@154 148 {
cannam@154 149 3, -8, 42, 26, 0
cannam@154 150 },
cannam@154 151 {
cannam@154 152 -15, 33, 68, 2, 23
cannam@154 153 },
cannam@154 154 {
cannam@154 155 -2, 55, 46, -2, 15
cannam@154 156 },
cannam@154 157 {
cannam@154 158 3, -1, 21, 16, 41
cannam@154 159 }
cannam@154 160 };
cannam@154 161
cannam@154 162 static const opus_int8 silk_LTP_gain_vq_2[32][5] =
cannam@154 163 {
cannam@154 164 {
cannam@154 165 -6, 27, 61, 39, 5
cannam@154 166 },
cannam@154 167 {
cannam@154 168 -11, 42, 88, 4, 1
cannam@154 169 },
cannam@154 170 {
cannam@154 171 -2, 60, 65, 6, -4
cannam@154 172 },
cannam@154 173 {
cannam@154 174 -1, -5, 73, 56, 1
cannam@154 175 },
cannam@154 176 {
cannam@154 177 -9, 19, 94, 29, -9
cannam@154 178 },
cannam@154 179 {
cannam@154 180 0, 12, 99, 6, 4
cannam@154 181 },
cannam@154 182 {
cannam@154 183 8, -19, 102, 46, -13
cannam@154 184 },
cannam@154 185 {
cannam@154 186 3, 2, 13, 3, 2
cannam@154 187 },
cannam@154 188 {
cannam@154 189 9, -21, 84, 72, -18
cannam@154 190 },
cannam@154 191 {
cannam@154 192 -11, 46, 104, -22, 8
cannam@154 193 },
cannam@154 194 {
cannam@154 195 18, 38, 48, 23, 0
cannam@154 196 },
cannam@154 197 {
cannam@154 198 -16, 70, 83, -21, 11
cannam@154 199 },
cannam@154 200 {
cannam@154 201 5, -11, 117, 22, -8
cannam@154 202 },
cannam@154 203 {
cannam@154 204 -6, 23, 117, -12, 3
cannam@154 205 },
cannam@154 206 {
cannam@154 207 3, -8, 95, 28, 4
cannam@154 208 },
cannam@154 209 {
cannam@154 210 -10, 15, 77, 60, -15
cannam@154 211 },
cannam@154 212 {
cannam@154 213 -1, 4, 124, 2, -4
cannam@154 214 },
cannam@154 215 {
cannam@154 216 3, 38, 84, 24, -25
cannam@154 217 },
cannam@154 218 {
cannam@154 219 2, 13, 42, 13, 31
cannam@154 220 },
cannam@154 221 {
cannam@154 222 21, -4, 56, 46, -1
cannam@154 223 },
cannam@154 224 {
cannam@154 225 -1, 35, 79, -13, 19
cannam@154 226 },
cannam@154 227 {
cannam@154 228 -7, 65, 88, -9, -14
cannam@154 229 },
cannam@154 230 {
cannam@154 231 20, 4, 81, 49, -29
cannam@154 232 },
cannam@154 233 {
cannam@154 234 20, 0, 75, 3, -17
cannam@154 235 },
cannam@154 236 {
cannam@154 237 5, -9, 44, 92, -8
cannam@154 238 },
cannam@154 239 {
cannam@154 240 1, -3, 22, 69, 31
cannam@154 241 },
cannam@154 242 {
cannam@154 243 -6, 95, 41, -12, 5
cannam@154 244 },
cannam@154 245 {
cannam@154 246 39, 67, 16, -4, 1
cannam@154 247 },
cannam@154 248 {
cannam@154 249 0, -6, 120, 55, -36
cannam@154 250 },
cannam@154 251 {
cannam@154 252 -13, 44, 122, 4, -24
cannam@154 253 },
cannam@154 254 {
cannam@154 255 81, 5, 11, 3, 7
cannam@154 256 },
cannam@154 257 {
cannam@154 258 2, 0, 9, 10, 88
cannam@154 259 }
cannam@154 260 };
cannam@154 261
cannam@154 262 const opus_int8 * const silk_LTP_vq_ptrs_Q7[NB_LTP_CBKS] = {
cannam@154 263 (opus_int8 *)&silk_LTP_gain_vq_0[0][0],
cannam@154 264 (opus_int8 *)&silk_LTP_gain_vq_1[0][0],
cannam@154 265 (opus_int8 *)&silk_LTP_gain_vq_2[0][0]
cannam@154 266 };
cannam@154 267
cannam@154 268 /* Maximum frequency-dependent response of the pitch taps above,
cannam@154 269 computed as max(abs(freqz(taps))) */
cannam@154 270 static const opus_uint8 silk_LTP_gain_vq_0_gain[8] = {
cannam@154 271 46, 2, 90, 87, 93, 91, 82, 98
cannam@154 272 };
cannam@154 273
cannam@154 274 static const opus_uint8 silk_LTP_gain_vq_1_gain[16] = {
cannam@154 275 109, 120, 118, 12, 113, 115, 117, 119,
cannam@154 276 99, 59, 87, 111, 63, 111, 112, 80
cannam@154 277 };
cannam@154 278
cannam@154 279 static const opus_uint8 silk_LTP_gain_vq_2_gain[32] = {
cannam@154 280 126, 124, 125, 124, 129, 121, 126, 23,
cannam@154 281 132, 127, 127, 127, 126, 127, 122, 133,
cannam@154 282 130, 134, 101, 118, 119, 145, 126, 86,
cannam@154 283 124, 120, 123, 119, 170, 173, 107, 109
cannam@154 284 };
cannam@154 285
cannam@154 286 const opus_uint8 * const silk_LTP_vq_gain_ptrs_Q7[NB_LTP_CBKS] = {
cannam@154 287 &silk_LTP_gain_vq_0_gain[0],
cannam@154 288 &silk_LTP_gain_vq_1_gain[0],
cannam@154 289 &silk_LTP_gain_vq_2_gain[0]
cannam@154 290 };
cannam@154 291
cannam@154 292 const opus_int8 silk_LTP_vq_sizes[NB_LTP_CBKS] = {
cannam@154 293 8, 16, 32
cannam@154 294 };