]> git.sesse.net Git - vlc/commitdiff
Revert "twolame: use FL32 as input"
authorIlkka Ollakka <ileoo@videolan.org>
Thu, 9 Jan 2014 08:35:44 +0000 (10:35 +0200)
committerIlkka Ollakka <ileoo@videolan.org>
Thu, 9 Jan 2014 08:37:43 +0000 (10:37 +0200)
This reverts commit 2363d00e1131bc4b50e3a15a6593e824bee68dd7.

Twolame converts from FL32 to S16 internally anyway so no point
using this instead of converting inside vlc.

Pointed-out-by: RĂ©mi Denis-Courmont
modules/codec/twolame.c

index 0607c578abbaca09d037dee45e14f4b6f4ab4c61..996f4aa85e9a7d959df615722beecf799d05697b 100644 (file)
@@ -101,7 +101,7 @@ struct encoder_sys_t
     /*
      * Input properties
      */
-    float p_buffer[MPEG_FRAME_SIZE * 2];
+    int16_t p_buffer[MPEG_FRAME_SIZE * 2];
     int i_nb_samples;
     mtime_t i_pts;
 
@@ -161,7 +161,8 @@ static int OpenEncoder( vlc_object_t *p_this )
         return VLC_ENOMEM;
     p_enc->p_sys = p_sys;
 
-    p_enc->fmt_in.i_codec = VLC_CODEC_FL32;
+    p_enc->pf_encode_audio = Encode;
+    p_enc->fmt_in.i_codec = VLC_CODEC_S16N;
 
     p_enc->fmt_out.i_cat = AUDIO_ES;
     p_enc->fmt_out.i_codec = VLC_CODEC_MPGA;
@@ -238,7 +239,6 @@ static int OpenEncoder( vlc_object_t *p_this )
     }
 
     p_sys->i_nb_samples = 0;
-    p_enc->pf_encode_audio = Encode;
 
     return VLC_SUCCESS;
 }
@@ -248,26 +248,25 @@ static int OpenEncoder( vlc_object_t *p_this )
  ****************************************************************************
  * This function spits out MPEG packets.
  ****************************************************************************/
-static void Bufferize( encoder_t *p_enc, float *p_in, int i_nb_samples )
+static void Bufferize( encoder_t *p_enc, int16_t *p_in, int i_nb_samples )
 {
-    float *p_buffer = (float *)p_enc->p_sys->p_buffer
+    int16_t *p_buffer = p_enc->p_sys->p_buffer
                          + (p_enc->p_sys->i_nb_samples
                              * p_enc->fmt_in.audio.i_channels);
 
     memcpy( p_buffer, p_in, i_nb_samples * p_enc->fmt_in.audio.i_channels
-                             * sizeof(float) );
+                             * sizeof(int16_t) );
 }
 
 static block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
 {
     encoder_sys_t *p_sys = p_enc->p_sys;
     block_t *p_chain = NULL;
-    block_t *p_block;
 
     if( unlikely( !p_aout_buf ) ) {
         int i_used = 0;
 
-        i_used = twolame_encode_flush( p_sys->p_twolame,
+        i_used = twolame_encode_flush_interleaved( p_sys->p_twolame,
                                 p_sys->p_out_buffer, MAX_CODED_FRAME_SIZE );
 
         if( i_used < 0 )
@@ -283,7 +282,7 @@ static block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
         return p_block;
     }
 
-    float *p_buffer = (float*)p_aout_buf->p_buffer;
+    int16_t *p_buffer = (int16_t *)p_aout_buf->p_buffer;
     int i_nb_samples = p_aout_buf->i_nb_samples;
 
     p_sys->i_pts = p_aout_buf->i_pts -
@@ -293,12 +292,13 @@ static block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
     while ( p_sys->i_nb_samples + i_nb_samples >= MPEG_FRAME_SIZE )
     {
         int i_used;
+        block_t *p_block;
 
         Bufferize( p_enc, p_buffer, MPEG_FRAME_SIZE - p_sys->i_nb_samples );
         i_nb_samples -= MPEG_FRAME_SIZE - p_sys->i_nb_samples;
         p_buffer += (MPEG_FRAME_SIZE - p_sys->i_nb_samples) * 2;
 
-        i_used = twolame_encode_buffer_float32_interleaved( p_sys->p_twolame,
+        i_used = twolame_encode_buffer_interleaved( p_sys->p_twolame,
                                p_sys->p_buffer, MPEG_FRAME_SIZE,
                                p_sys->p_out_buffer, MAX_CODED_FRAME_SIZE );
         p_sys->i_nb_samples = 0;