1/* 2 * Copyright (c) 2012 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 * lpc_tables.h 13 * 14 * header file for coding tables for the LPC coefficients 15 * 16 */ 17 18#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_LPC_TABLES_H_ 19#define WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_LPC_TABLES_H_ 20 21#include "structs.h" 22 23#include "settings.h" 24 25#define KLT_STEPSIZE 1.00000000 26#define KLT_NUM_AVG_GAIN 0 27#define KLT_NUM_AVG_SHAPE 0 28#define KLT_NUM_MODELS 3 29#define LPC_GAIN_SCALE 4.000f 30#define LPC_LOBAND_SCALE 2.100f 31#define LPC_LOBAND_ORDER ORDERLO 32#define LPC_HIBAND_SCALE 0.450f 33#define LPC_HIBAND_ORDER ORDERHI 34#define LPC_GAIN_ORDER 2 35 36#define LPC_SHAPE_ORDER (LPC_LOBAND_ORDER + LPC_HIBAND_ORDER) 37 38#define KLT_ORDER_GAIN (LPC_GAIN_ORDER * SUBFRAMES) 39#define KLT_ORDER_SHAPE (LPC_SHAPE_ORDER * SUBFRAMES) 40 41/* cdf array for model indicator */ 42extern const uint16_t WebRtcIsac_kQKltModelCdf[KLT_NUM_MODELS+1]; 43 44/* pointer to cdf array for model indicator */ 45extern const uint16_t *WebRtcIsac_kQKltModelCdfPtr[1]; 46 47/* initial cdf index for decoder of model indicator */ 48extern const uint16_t WebRtcIsac_kQKltModelInitIndex[1]; 49 50/* offset to go from rounded value to quantization index */ 51extern const short WebRtcIsac_kQKltQuantMinGain[12]; 52 53extern const short WebRtcIsac_kQKltQuantMinShape[108]; 54 55/* maximum quantization index */ 56extern const uint16_t WebRtcIsac_kQKltMaxIndGain[12]; 57 58extern const uint16_t WebRtcIsac_kQKltMaxIndShape[108]; 59 60/* index offset */ 61extern const uint16_t WebRtcIsac_kQKltOffsetGain[12]; 62 63extern const uint16_t WebRtcIsac_kQKltOffsetShape[108]; 64 65/* initial cdf index for KLT coefficients */ 66extern const uint16_t WebRtcIsac_kQKltInitIndexGain[12]; 67 68extern const uint16_t WebRtcIsac_kQKltInitIndexShape[108]; 69 70/* quantizer representation levels */ 71extern const double WebRtcIsac_kQKltLevelsGain[392]; 72 73extern const double WebRtcIsac_kQKltLevelsShape[578]; 74 75/* cdf tables for quantizer indices */ 76extern const uint16_t WebRtcIsac_kQKltCdfGain[404]; 77 78extern const uint16_t WebRtcIsac_kQKltCdfShape[686]; 79 80/* pointers to cdf tables for quantizer indices */ 81extern const uint16_t *WebRtcIsac_kQKltCdfPtrGain[12]; 82 83extern const uint16_t *WebRtcIsac_kQKltCdfPtrShape[108]; 84 85/* left KLT transforms */ 86extern const double WebRtcIsac_kKltT1Gain[4]; 87 88extern const double WebRtcIsac_kKltT1Shape[324]; 89 90/* right KLT transforms */ 91extern const double WebRtcIsac_kKltT2Gain[36]; 92 93extern const double WebRtcIsac_kKltT2Shape[36]; 94 95/* means of log gains and LAR coefficients */ 96extern const double WebRtcIsac_kLpcMeansGain[12]; 97 98extern const double WebRtcIsac_kLpcMeansShape[108]; 99 100#endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_LPC_TABLES_H_ */ 101