Fixes 60 ms speech mode
[opus.git] / src / opus_encoder.h
index 8c952ab..a846db9 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
 #include "SKP_Silk_SDK_API.h"
 
 /* FIXME: This is only valid for 48 kHz */
-#define ENCODER_DELAY_COMPENSATION 130
+#define MAX_ENCODER_BUFFER 480
 
 struct OpusEncoder {
-       CELTMode    *celt_mode;
        CELTEncoder *celt_enc;
+       SKP_SILK_SDK_EncControlStruct silk_mode;
        void        *silk_enc;
+       int          channels;
+       int          stream_channels;
 
     int          mode;
+    int          user_mode;
+    int          prev_mode;
        int          bandwidth;
-    int          vbr_rate;
+       int          user_bandwidth;
+       int          voice_ratio;
     /* Sampling rate (at the API level) */
     int          Fs;
+    int          use_vbr;
+    int          vbr_constraint;
+    int          bitrate_bps;
+    int          encoder_buffer;
+    int          delay_compensation;
+    int          first;
+    short        delay_buffer[MAX_ENCODER_BUFFER*2];
 
-    short        delay_buffer[ENCODER_DELAY_COMPENSATION];
+#ifdef OPUS_TEST_RANGE_CODER_STATE
+    int          rangeFinal;
+#endif
 };