SILK bugfix
[opus.git] / src / opus_decoder.h
index c7a3be6..037c87b 100644 (file)
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
 
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 struct OpusDecoder {
        CELTDecoder *celt_dec;
        void        *silk_dec;
+       int          channels;
+       int          stream_channels;
 
-    int          mode;
     int          bandwidth;
     /* Sampling rate (at the API level) */
     int          Fs;
+    int          prev_mode;
+    int          prev_redundancy;
+
+#ifdef OPUS_TEST_RANGE_CODER_STATE
+    int          rangeFinal;
+#endif
 };
 
+inline short ADD_SAT16(short a, short b) {
+    int sum = a + b;
+    return sum > 32767 ? 32767 : sum < -32768 ? -32768 : (short)sum;
+};
 
 #endif /* OPUS_DECODER_H */