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 * settings.h 13470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * 14470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * Declaration of #defines used in the iSAC codec 15470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com * 16470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com */ 17470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 18470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_SOURCE_SETTINGS_H_ 19470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_SOURCE_SETTINGS_H_ 20470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 21470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 22470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* sampling frequency (Hz) */ 23470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define FS 16000 24470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* 1.5 times Sampling frequency */ 250946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.org#define FS_1_HALF (uint32_t) 24000 26470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* Three times Sampling frequency */ 270946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.org#define FS3 (uint32_t) 48000 28470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* Eight times Sampling frequency */ 290946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.org#define FS8 (uint32_t) 128000 30470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 31470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* number of samples per frame (either 480 (30ms) or 960 (60ms)) */ 32470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define INITIAL_FRAMESAMPLES 960 33470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 34470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* miliseconds */ 35470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define FRAMESIZE 30 36470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* number of samples per frame processed in the encoder (30ms) */ 37470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define FRAMESAMPLES 480 /* ((FRAMESIZE*FS)/1000) */ 38470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define FRAMESAMPLES_HALF 240 39470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* max number of samples per frame (= 60 ms frame) */ 40470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define MAX_FRAMESAMPLES 960 41470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* number of samples per 10ms frame */ 42470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define FRAMESAMPLES_10ms 160 /* ((10*FS)/1000) */ 43470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* Number of samples per 1 ms */ 44470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define SAMPLES_PER_MSEC 16 45470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* number of subframes */ 46470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define SUBFRAMES 6 47470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* length of a subframe */ 48470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define UPDATE 80 49470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* length of half a subframe (low/high band) */ 50470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define HALF_SUBFRAMELEN 40 /* (UPDATE/2) */ 51470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* samples of look ahead (in a half-band, so actually half the samples of look ahead @ FS) */ 52470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define QLOOKAHEAD 24 /* 3 ms */ 53470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 54470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* order of AR model in spectral entropy coder */ 55470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define AR_ORDER 6 56470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define MAX_ORDER 13 57470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define LEVINSON_MAX_ORDER 12 58470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 59470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* window length (masking analysis) */ 60470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define WINLEN 256 61470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* order of low-band pole filter used to approximate masking curve */ 62470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ORDERLO 12 63470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* order of hi-band pole filter used to approximate masking curve */ 64470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ORDERHI 6 65470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 66470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define KLT_NUM_AVG_GAIN 0 67470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define KLT_NUM_AVG_SHAPE 0 68470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define KLT_NUM_MODELS 3 69470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define LPC_SHAPE_ORDER 18 /* (ORDERLO + ORDERHI) */ 70470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 71470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define KLT_ORDER_GAIN 12 /* (2 * SUBFRAMES) */ 72470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define KLT_ORDER_SHAPE 108 /* (LPC_SHAPE_ORDER * SUBFRAMES) */ 73470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 74470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 75470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 76470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* order for post_filter_bank */ 77470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define POSTQORDER 3 78470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* order for pre-filterbank */ 79470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define QORDER 3 80470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* for decimator */ 81470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ALLPASSSECTIONS 2 82470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* The number of composite all-pass filter factors */ 83470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define NUMBEROFCOMPOSITEAPSECTIONS 4 84470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 85470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* The number of all-pass filter factors in an upper or lower channel*/ 86470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define NUMBEROFCHANNELAPSECTIONS 2 87470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 88470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 89470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 90470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define DPMIN_Q10 -10240 /* -10.00 in Q10 */ 91470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define DPMAX_Q10 10240 /* 10.00 in Q10 */ 92470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define MINBITS_Q10 10240 /* 10.0 in Q10 */ 93470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 94470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 95470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* array size for byte stream in number of Word16. */ 96470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define STREAM_MAXW16 300 /* The old maximum size still needed for the decoding */ 97470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define STREAM_MAXW16_30MS 100 /* 100 Word16 = 200 bytes = 53.4 kbit/s @ 30 ms.framelength */ 98470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define STREAM_MAXW16_60MS 200 /* 200 Word16 = 400 bytes = 53.4 kbit/s @ 60 ms.framelength */ 99532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org/* This is used only at the decoder bit-stream struct. 100532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org * - The encoder and decoder bitstream containers are of different size because 101532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org * old iSAC limited the encoded bitstream to 600 bytes. But newer versions 102532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org * restrict to shorter bitstream. 103532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org * - We add 10 bytes of guards to the internal bitstream container. The reason 104532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org * is that entropy decoder might read few bytes (3 according to our 105532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org * observations) more than the actual size of the bitstream. To avoid reading 106532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org * outside memory, in rare occasion of full-size bitstream we add 10 bytes 107532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org * of guard. */ 108532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org#define INTERNAL_STREAM_SIZE_W16 (STREAM_MAXW16 + 5) 109470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 110470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* storage size for bit counts */ 111470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com//#define BIT_COUNTER_SIZE 30 112470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* maximum order of any AR model or filter */ 113470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define MAX_AR_MODEL_ORDER 12 114470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 115470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* Maximum number of iterations allowed to limit payload size */ 116470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define MAX_PAYLOAD_LIMIT_ITERATION 1 117470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 118470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* Bandwidth estimator */ 119470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 120470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define MIN_ISAC_BW 10000 /* Minimum bandwidth in bits per sec */ 121470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define MAX_ISAC_BW 32000 /* Maxmum bandwidth in bits per sec */ 122470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define MIN_ISAC_MD 5 /* Minimum Max Delay in ?? */ 123470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define MAX_ISAC_MD 25 /* Maxmum Max Delay in ?? */ 124470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define DELAY_CORRECTION_MAX 717 125470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define DELAY_CORRECTION_MED 819 126470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define Thld_30_60 18000 127470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define Thld_60_30 27000 128470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 129470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* assumed header size; we don't know the exact number (header compression may be used) */ 130470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define HEADER_SIZE 35 /* bytes */ 131470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define INIT_FRAME_LEN 60 132470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define INIT_BN_EST 20000 133470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define INIT_BN_EST_Q7 2560000 /* 20 kbps in Q7 */ 134470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define INIT_REC_BN_EST_Q5 789312 /* INIT_BN_EST + INIT_HDR_RATE in Q5 */ 135470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 136470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* 8738 in Q18 is ~ 1/30 */ 137470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* #define INIT_HDR_RATE (((HEADER_SIZE * 8 * 1000) * 8738) >> NUM_BITS_TO_SHIFT (INIT_FRAME_LEN)) */ 138470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define INIT_HDR_RATE 4666 139470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* number of packets in a row for a high rate burst */ 140470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define BURST_LEN 3 141470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* ms, max time between two full bursts */ 142470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define BURST_INTERVAL 800 143470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* number of packets in a row for initial high rate burst */ 144470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define INIT_BURST_LEN 5 145470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* bits/s, rate for the first BURST_LEN packets */ 146470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define INIT_RATE 10240000 /* INIT_BN_EST in Q9 */ 147470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 148470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 149470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* For pitch analysis */ 150470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_FRAME_LEN 240 /* (FRAMESAMPLES/2) 30 ms */ 151470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_MAX_LAG 140 /* 57 Hz */ 152470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_MIN_LAG 20 /* 400 Hz */ 153470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_MIN_LAG_Q8 5120 /* 256 * PITCH_MIN_LAG */ 154470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define OFFSET_Q8 768 /* 256 * 3 */ 155470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 156470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_MAX_GAIN_Q12 1843 /* 0.45 */ 157470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_LAG_SPAN2 65 /* (PITCH_MAX_LAG/2-PITCH_MIN_LAG/2+5) */ 158470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_CORR_LEN2 60 /* 15 ms */ 159470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_CORR_STEP2 60 /* (PITCH_FRAME_LEN/4) */ 160470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_SUBFRAMES 4 161470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_SUBFRAME_LEN 60 /* (PITCH_FRAME_LEN/PITCH_SUBFRAMES) */ 162470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 163470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* For pitch filter */ 164470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_BUFFSIZE 190 /* (PITCH_MAX_LAG + 50) Extra 50 for fraction and LP filters */ 165470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_INTBUFFSIZE 430 /* (PITCH_FRAME_LEN+PITCH_BUFFSIZE) */ 166470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_FRACS 8 167470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_FRACORDER 9 168470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PITCH_DAMPORDER 5 169470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 170470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 171470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* Order of high pass filter */ 172470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define HPORDER 2 173470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 174470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 175470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* PLC */ 176470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define DECAY_RATE 10 /* Q15, 20% of decay every lost frame apllied linearly sample by sample*/ 177470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PLC_WAS_USED 1 178470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PLC_NOT_USED 3 179470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define RECOVERY_OVERLAP 80 180470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define RESAMP_RES 256 181470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define RESAMP_RES_BIT 8 182470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 183470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 184470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 185470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* Define Error codes */ 186470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* 6000 General */ 187470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_MEMORY_ALLOCATION_FAILED 6010 188470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_MODE_MISMATCH 6020 189470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_DISALLOWED_BOTTLENECK 6030 190470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_DISALLOWED_FRAME_LENGTH 6040 191470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* 6200 Bandwidth estimator */ 192470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_RANGE_ERROR_BW_ESTIMATOR 6240 193470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* 6400 Encoder */ 194470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_ENCODER_NOT_INITIATED 6410 195470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_DISALLOWED_CODING_MODE 6420 196470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_DISALLOWED_FRAME_MODE_ENCODER 6430 197470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_DISALLOWED_BITSTREAM_LENGTH 6440 198470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_PAYLOAD_LARGER_THAN_LIMIT 6450 199470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* 6600 Decoder */ 200470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_DECODER_NOT_INITIATED 6610 201470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_EMPTY_PACKET 6620 202532ed43e85356c6a775bebbf73ac5e9318d5bd66turaj@webrtc.org#define ISAC_PACKET_TOO_SHORT 6625 203470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_DISALLOWED_FRAME_MODE_DECODER 6630 204470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_RANGE_ERROR_DECODE_FRAME_LENGTH 6640 205470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_RANGE_ERROR_DECODE_BANDWIDTH 6650 206470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_RANGE_ERROR_DECODE_PITCH_GAIN 6660 207470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_RANGE_ERROR_DECODE_PITCH_LAG 6670 208470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_RANGE_ERROR_DECODE_LPC 6680 209470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_RANGE_ERROR_DECODE_SPECTRUM 6690 210470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_LENGTH_MISMATCH 6730 211470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/* 6800 Call setup formats */ 212470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ISAC_INCOMPATIBLE_FORMATS 6810 213470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 214470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com 215470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_SOURCE_SETTINGS_H_ */ 216