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