[vlc-devel] commit: linear resampler: cosmetics (no functional changes) ( Rémi Denis-Courmont )
git version control
git at videolan.org
Wed Sep 30 22:02:02 CEST 2009
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Sep 30 22:53:53 2009 +0300| [ab151ef12afe2550ffd1b92b1138e1af77de3b12] | committer: Rémi Denis-Courmont
linear resampler: cosmetics (no functional changes)
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ab151ef12afe2550ffd1b92b1138e1af77de3b12
---
modules/audio_filter/resampler/linear.c | 45 +++++++++++++-----------------
1 files changed, 20 insertions(+), 25 deletions(-)
diff --git a/modules/audio_filter/resampler/linear.c b/modules/audio_filter/resampler/linear.c
index 53c446c..81ee15f 100644
--- a/modules/audio_filter/resampler/linear.c
+++ b/modules/audio_filter/resampler/linear.c
@@ -43,12 +43,14 @@ static int OpenFilter ( vlc_object_t * );
static void CloseFilter( vlc_object_t * );
static block_t *Resample( filter_t *, block_t * );
+typedef float sample_t;
+
/*****************************************************************************
* Local structures
*****************************************************************************/
struct filter_sys_t
{
- int32_t *p_prev_sample; /* this filter introduces a 1 sample delay */
+ sample_t *p_prev_sample; /* this filter introduces a 1 sample delay */
unsigned int i_remainder; /* remainder of previous sample */
@@ -80,20 +82,21 @@ static block_t *Resample( filter_t *p_filter, block_t *p_in_buf )
filter_sys_t *p_sys = p_filter->p_sys;
unsigned i_nb_channels = p_filter->fmt_in.audio.i_channels;
- float *p_prev_sample = (float *)p_sys->p_prev_sample;
+ sample_t *p_prev_sample = p_sys->p_prev_sample;
/* Check if we really need to run the resampler */
if( p_filter->fmt_out.audio.i_rate == p_filter->fmt_in.audio.i_rate )
{
if( !(p_in_buf->i_flags & BLOCK_FLAG_DISCONTINUITY) )
{
- p_in_buf = block_Realloc( p_in_buf, sizeof(float) * i_nb_channels,
+ p_in_buf = block_Realloc( p_in_buf,
+ sizeof(sample_t) * i_nb_channels,
p_in_buf->i_buffer );
if( !p_in_buf )
return NULL;
memcpy( p_in_buf->p_buffer, p_prev_sample,
- i_nb_channels * sizeof(float) );
+ i_nb_channels * sizeof(sample_t) );
}
return p_in_buf;
}
@@ -107,11 +110,11 @@ static block_t *Resample( filter_t *p_filter, block_t *p_in_buf )
if( !p_out_buf )
goto out;
- float *p_out = (float *)p_out_buf->p_buffer;
+ sample_t *p_out = (sample_t *)p_out_buf->p_buffer;
unsigned i_in_nb = p_in_buf->i_nb_samples;
unsigned i_out = 0;
- const float *p_in = (float *)p_in_buf->p_buffer;
+ const sample_t *p_in = (sample_t *)p_in_buf->p_buffer;
/* Take care of the previous input sample (if any) */
if( p_in_buf->i_flags & BLOCK_FLAG_DISCONTINUITY )
@@ -124,13 +127,11 @@ static block_t *Resample( filter_t *p_filter, block_t *p_in_buf )
{
while( p_sys->i_remainder < p_filter->fmt_out.audio.i_rate )
{
- for( unsigned i_chan = i_nb_channels ; i_chan ; )
+ for( unsigned i = 0; i < i_nb_channels ; i++ )
{
- i_chan--;
- p_out[i_chan] = p_prev_sample[i_chan];
- p_out[i_chan] += ( ( p_in[i_chan] - p_prev_sample[i_chan] )
- * p_sys->i_remainder
- / p_filter->fmt_out.audio.i_rate );
+ p_out[i] = p_prev_sample[i];
+ p_out[i] += (p_in[i] - p_prev_sample[i])
+ * p_sys->i_remainder / p_filter->fmt_out.audio.i_rate;
}
p_out += i_nb_channels;
i_out++;
@@ -145,13 +146,11 @@ static block_t *Resample( filter_t *p_filter, block_t *p_in_buf )
{
while( p_sys->i_remainder < p_filter->fmt_out.audio.i_rate )
{
- for( unsigned i_chan = i_nb_channels ; i_chan ; )
+ for( unsigned i = 0; i < i_nb_channels ; i++ )
{
- i_chan--;
- p_out[i_chan] = p_in[i_chan];
- p_out[i_chan] += ( ( p_in[i_chan + i_nb_channels]
- - p_in[i_chan] )
- * p_sys->i_remainder / p_filter->fmt_out.audio.i_rate );
+ p_out[i] = p_in[i];
+ p_out[i] += (p_in[i + i_nb_channels] - p_in[i])
+ * p_sys->i_remainder / p_filter->fmt_out.audio.i_rate;
}
p_out += i_nb_channels;
i_out++;
@@ -164,11 +163,7 @@ static block_t *Resample( filter_t *p_filter, block_t *p_in_buf )
}
/* Backup the last input sample for next time */
- for( unsigned i_chan = i_nb_channels ; i_chan ; )
- {
- i_chan--;
- p_prev_sample[i_chan] = p_in[i_chan];
- }
+ memcpy( p_prev_sample, p_in, i_nb_channels * sizeof(sample_t) );
p_out_buf->i_nb_samples = i_out;
p_out_buf->i_pts = p_in_buf->i_pts;
@@ -183,7 +178,7 @@ static block_t *Resample( filter_t *p_filter, block_t *p_in_buf )
p_out_buf->i_nb_samples ) - p_out_buf->i_pts;
p_out_buf->i_buffer = p_out_buf->i_nb_samples *
- i_nb_channels * sizeof(int32_t);
+ i_nb_channels * sizeof(sample_t);
out:
block_Release( p_in_buf );
return p_out_buf;
@@ -210,7 +205,7 @@ static int OpenFilter( vlc_object_t *p_this )
return VLC_ENOMEM;
p_sys->p_prev_sample = malloc(
- p_filter->fmt_in.audio.i_channels * sizeof(int32_t) );
+ p_filter->fmt_in.audio.i_channels * sizeof(sample_t) );
if( p_sys->p_prev_sample == NULL )
{
free( p_sys );
More information about the vlc-devel
mailing list