vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon May 30 19:15:38 2011 +0300| [91307e828f43a6f1a578af262e0ad1f11711e73c] | committer: Rémi Denis-Courmont
Allow float mixer to run with 1.0 multiplier > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=91307e828f43a6f1a578af262e0ad1f11711e73c --- modules/audio_mixer/float32.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-) diff --git a/modules/audio_mixer/float32.c b/modules/audio_mixer/float32.c index a391cd4..60a02c5 100644 --- a/modules/audio_mixer/float32.c +++ b/modules/audio_mixer/float32.c @@ -63,10 +63,6 @@ static int Create( vlc_object_t *p_this ) if ( p_mixer->fmt.i_format != VLC_CODEC_FL32 ) return -1; - /* Use the trivial mixer when we can */ - if( p_mixer->multiplier == 1.0 && p_mixer->input->multiplier == 1.0 ) - return -1; - p_mixer->mix = DoWork; return 0; } @@ -77,6 +73,12 @@ static int Create( vlc_object_t *p_this ) static void ScaleWords( float * p_out, const float * p_in, size_t i_nb_words, float f_multiplier ) { + if( f_multiplier == 1.0 ) + { + vlc_memcpy( p_out, p_in, i_nb_words * sizeof(float) ); + return; + } + for( size_t i = 0; i < i_nb_words; i++ ) *p_out++ = *p_in++ * f_multiplier; } @@ -89,12 +91,11 @@ static void ScaleWords( float * p_out, const float * p_in, size_t i_nb_words, *****************************************************************************/ static void DoWork( aout_mixer_t * p_mixer, aout_buffer_t * p_buffer ) { - const float f_multiplier_global = p_mixer->multiplier; const int i_nb_channels = aout_FormatNbChannels( &p_mixer->fmt ); int i_nb_words = p_buffer->i_nb_samples * i_nb_channels; aout_mixer_input_t * p_input = p_mixer->input; - float f_multiplier = f_multiplier_global * p_input->multiplier; + float f_multiplier = p_mixer->multiplier * p_input->multiplier; float * p_out = (float *)p_buffer->p_buffer; float * p_in = (float *)p_input->begin; _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
