Fixes 60 ms speech mode
[opus.git] / src / opus_encoder.h
index 364f348..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
@@ -37,7 +33,7 @@
 #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 {
        CELTEncoder *celt_enc;
@@ -47,13 +43,20 @@ struct OpusEncoder {
        int          stream_channels;
 
     int          mode;
+    int          user_mode;
+    int          prev_mode;
        int          bandwidth;
+       int          user_bandwidth;
+       int          voice_ratio;
     /* Sampling rate (at the API level) */
     int          Fs;
     int          use_vbr;
+    int          vbr_constraint;
     int          bitrate_bps;
-
-    short        delay_buffer[ENCODER_DELAY_COMPENSATION*2];
+    int          encoder_buffer;
+    int          delay_compensation;
+    int          first;
+    short        delay_buffer[MAX_ENCODER_BUFFER*2];
 
 #ifdef OPUS_TEST_RANGE_CODER_STATE
     int          rangeFinal;