SILK bugfix
[opus.git] / src / opus_encoder.c
index 2c2e589..4ac580e 100644 (file)
@@ -157,7 +157,10 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size,
         /* Call SILK encoder for the low band */
         nBytes = max_data_bytes-1;
         if (prefill)
-               SKP_Silk_SDK_Encode( st->silk_enc, &st->silk_mode, st->delay_buffer, ENCODER_BUFFER, NULL, 0, 1 );
+        {
+            int zero=0;
+               SKP_Silk_SDK_Encode( st->silk_enc, &st->silk_mode, st->delay_buffer, ENCODER_BUFFER, NULL, &zero, 1 );
+        }
 
         ret = SKP_Silk_SDK_Encode( st->silk_enc, &st->silk_mode, pcm, frame_size, &enc, &nBytes, 0 );
         if( ret ) {
@@ -181,7 +184,7 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size,
     /* CELT processing */
        if (st->mode != MODE_SILK_ONLY)
        {
-               int endband;
+           int endband;
            short pcm_buf[960*2];
            int nb_compr_bytes;
 
@@ -229,7 +232,6 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size,
         if (st->mode == MODE_HYBRID)
         {
             int len;
-            celt_encoder_ctl(st->celt_enc, CELT_SET_START_BAND(17));
 
             len = (ec_tell(&enc)+7)>>3;
             if( st->use_vbr ) {
@@ -239,7 +241,6 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size,
                 nb_compr_bytes = len > bytes_target ? len : bytes_target;
             }
         } else {
-            celt_encoder_ctl(st->celt_enc, CELT_SET_START_BAND(0));
             if (st->use_vbr)
             {
                 celt_encoder_ctl(st->celt_enc, CELT_SET_VBR(1));