static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
float * p_in = (float*) p_in_buf->p_buffer;
float * p_out = (float*) p_out_buf->p_buffer;
size_t i_nb_samples = p_in_buf->i_nb_samples;
static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i_input_nb = aout_FormatNbChannels( &p_filter->input );
int i_output_nb = aout_FormatNbChannels( &p_filter->output );
static block_t *Convert( filter_t *p_filter, block_t *p_block );
-static unsigned int stereo_to_mono( aout_instance_t *, aout_filter_t *,
- aout_buffer_t *, aout_buffer_t * );
-static unsigned int mono( aout_instance_t *, aout_filter_t *,
- aout_buffer_t *, aout_buffer_t * );
-static void stereo2mono_downmix( aout_instance_t *, aout_filter_t *,
- aout_buffer_t *, aout_buffer_t * );
+static unsigned int stereo_to_mono( aout_filter_t *, aout_buffer_t *,
+ aout_buffer_t * );
+static unsigned int mono( aout_filter_t *, aout_buffer_t *, aout_buffer_t * );
+static void stereo2mono_downmix( aout_filter_t *, aout_buffer_t *,
+ aout_buffer_t * );
/*****************************************************************************
* Local structures
memset( p_out->p_buffer, 0, i_out_size );
if( p_filter->p_sys->b_downmix )
{
- stereo2mono_downmix( (aout_instance_t *)p_filter, &aout_filter,
- &in_buf, &out_buf );
- i_samples = mono( (aout_instance_t *)p_filter, &aout_filter,
- &out_buf, &in_buf );
+ stereo2mono_downmix( &aout_filter, &in_buf, &out_buf );
+ i_samples = mono( &aout_filter, &out_buf, &in_buf );
}
else
{
- i_samples = stereo_to_mono( (aout_instance_t *)p_filter, &aout_filter,
- &out_buf, &in_buf );
+ i_samples = stereo_to_mono( &aout_filter, &out_buf, &in_buf );
}
p_out->i_buffer = out_buf.i_nb_bytes;
* converted from float into int16_t based downmix
* Written by Boris Dorès <babal@via.ecp.fr>
*/
-static void stereo2mono_downmix( aout_instance_t * p_aout, aout_filter_t * p_filter,
+static void stereo2mono_downmix( aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys;
}
/* Simple stereo to mono mixing. */
-static unsigned int mono( aout_instance_t * p_aout, aout_filter_t *p_filter,
+static unsigned int mono( aout_filter_t *p_filter,
aout_buffer_t *p_output, aout_buffer_t *p_input )
{
filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys;
}
/* Simple stereo to mono mixing. */
-static unsigned int stereo_to_mono( aout_instance_t * p_aout, aout_filter_t *p_filter,
+static unsigned int stereo_to_mono( aout_filter_t *p_filter,
aout_buffer_t *p_output, aout_buffer_t *p_input )
{
filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys;
static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i_input_nb = aout_FormatNbChannels( &p_filter->input );
int i_output_nb = aout_FormatNbChannels( &p_filter->output );
float *p_dest = (float *)p_out_buf->p_buffer;
static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i_input_nb = aout_FormatNbChannels( &p_filter->input );
int i_output_nb = aout_FormatNbChannels( &p_filter->output );
int32_t * p_dest = (int32_t *)p_out_buf->p_buffer;
static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
/* AC3 is natively big endian. Most SPDIF devices have the native
* endianness of the computer system.
* On Mac OS X however, little endian devices are also common.
static void Do_F32ToS16( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i;
vlc_fixed_t * p_in = (vlc_fixed_t *)p_in_buf->p_buffer;
int16_t * p_out = (int16_t *)p_out_buf->p_buffer;
static void Do_S16ToF32( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i = p_in_buf->i_nb_samples * aout_FormatNbChannels( &p_filter->input );
/* We start from the end because b_in_place is true */
static void Do_U8ToF32( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i = p_in_buf->i_nb_samples * aout_FormatNbChannels( &p_filter->input );
/* We start from the end because b_in_place is true */
static void Do_F32ToFL32( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i;
vlc_fixed_t * p_in = (vlc_fixed_t *)p_in_buf->p_buffer;
float * p_out = (float *)p_out_buf->p_buffer;
static void Do_FL32ToF32( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i;
float * p_in = (float *)p_in_buf->p_buffer;
vlc_fixed_t * p_out = (vlc_fixed_t *)p_out_buf->p_buffer;
static void Do_FL32ToS16( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i;
float * p_in = (float *)p_in_buf->p_buffer;
int16_t * p_out = (int16_t *)p_out_buf->p_buffer;
static void Do_FL32ToS8( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i;
float * p_in = (float *)p_in_buf->p_buffer;
int8_t * p_out = (int8_t *)p_out_buf->p_buffer;
static void Do_FL32ToU16( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i;
float * p_in = (float *)p_in_buf->p_buffer;
uint16_t * p_out = (uint16_t *)p_out_buf->p_buffer;
static void Do_FL32ToU8( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i;
float * p_in = (float *)p_in_buf->p_buffer;
uint8_t * p_out = (uint8_t *)p_out_buf->p_buffer;
static void Do_S16ToFL32( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i = p_in_buf->i_nb_samples * aout_FormatNbChannels( &p_filter->input );
/* We start from the end because b_in_place is true */
static void Do_S16ToFL24( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i = p_in_buf->i_nb_samples * aout_FormatNbChannels( &p_filter->input );
/* We start from the end because b_in_place is true */
static void Do_S16ToFL32_SW( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i = p_in_buf->i_nb_samples * aout_FormatNbChannels( &p_filter->input );
/* We start from the end because b_in_place is true */
static void Do_S16ToFL24_SW( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i = p_in_buf->i_nb_samples * aout_FormatNbChannels( &p_filter->input );
/* We start from the end because b_in_place is true */
static void Do_S8ToFL32( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i = p_in_buf->i_nb_samples * aout_FormatNbChannels( &p_filter->input );
/* We start from the end because b_in_place is true */
static void Do_U8ToFL32( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
int i = p_in_buf->i_nb_samples * aout_FormatNbChannels( &p_filter->input );
/* We start from the end because b_in_place is true */
#define EQZ_IN_FACTOR (0.25)
static int EqzInit( aout_filter_t *, int );
-static void EqzFilter( aout_instance_t *,aout_filter_t *, float *, float *,
+static void EqzFilter( aout_filter_t *, float *, float *,
int, int );
static void EqzClean( aout_filter_t * );
static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
p_out_buf->i_nb_samples = p_in_buf->i_nb_samples;
p_out_buf->i_nb_bytes = p_in_buf->i_nb_bytes;
- EqzFilter( p_aout, p_filter, (float*)p_out_buf->p_buffer,
+ EqzFilter( p_filter, (float*)p_out_buf->p_buffer,
(float*)p_in_buf->p_buffer, p_in_buf->i_nb_samples,
aout_FormatNbChannels( &p_filter->input ) );
}
return VLC_SUCCESS;
}
-static void EqzFilter( aout_instance_t *p_aout,
- aout_filter_t *p_filter, float *out, float *in,
+static void EqzFilter( aout_filter_t *p_filter, float *out, float *in,
int i_samples, int i_channels )
{
aout_filter_sys_t *p_sys = p_filter->p_sys;
static int PresetCallback( vlc_object_t *p_this, char const *psz_cmd,
vlc_value_t oldval, vlc_value_t newval, void *p_data )
{
+ VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval);
aout_filter_sys_t *p_sys = (aout_filter_sys_t *)p_data;
aout_instance_t *p_aout = (aout_instance_t *)p_this;
static int PreampCallback( vlc_object_t *p_this, char const *psz_cmd,
vlc_value_t oldval, vlc_value_t newval, void *p_data )
{
+ VLC_UNUSED(p_this); VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval);
aout_filter_sys_t *p_sys = (aout_filter_sys_t *)p_data;
if( newval.f_float < -20.0 )
static int BandsCallback( vlc_object_t *p_this, char const *psz_cmd,
vlc_value_t oldval, vlc_value_t newval, void *p_data )
{
+ VLC_UNUSED(p_this); VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval);
aout_filter_sys_t *p_sys = (aout_filter_sys_t *)p_data;
char *psz_bands = newval.psz_string;
*****************************************************************************/
static block_t *Float32toS24( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
float *p_in = (float *)p_block->p_buffer;
uint8_t *p_out = (uint8_t *)p_in;
static block_t *Float32toS16( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
float *p_in = (float *)p_block->p_buffer;
int16_t *p_out = (int16_t *)p_in;
static block_t *Float32toU16( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
float *p_in = (float *)p_block->p_buffer;
uint16_t *p_out = (uint16_t *)p_in;
static block_t *S24toS16( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
uint8_t *p_in = (uint8_t *)p_block->p_buffer;
uint8_t *p_out = (uint8_t *)p_in;
static block_t *S16toS8( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
int16_t *p_in = (int16_t *)p_block->p_buffer;
int8_t *p_out = (int8_t *)p_in;
}
static block_t *S16toU8( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
int16_t *p_in = (int16_t *)p_block->p_buffer;
uint8_t *p_out = (uint8_t *)p_in;
}
static block_t *S16toU16( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
int16_t *p_in = (int16_t *)p_block->p_buffer;
uint16_t *p_out = (uint16_t *)p_in;
static block_t *U16toS8( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
uint16_t *p_in = (uint16_t *)p_block->p_buffer;
int8_t *p_out = (int8_t *)p_in;
}
static block_t *U16toU8( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
uint16_t *p_in = (uint16_t *)p_block->p_buffer;
uint8_t *p_out = (uint8_t *)p_in;
}
static block_t *U16toS16( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
uint16_t *p_in = (uint16_t *)p_block->p_buffer;
int16_t *p_out = (int16_t *)p_in;
static block_t *S8toU8( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
int8_t *p_in = (int8_t *)p_block->p_buffer;
uint8_t *p_out = (uint8_t *)p_in;
}
static block_t *U8toS8( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
uint8_t *p_in = (uint8_t *)p_block->p_buffer;
int8_t *p_out = (int8_t *)p_in;
*****************************************************************************/
static block_t *Swap16( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
uint8_t *p_in = (uint8_t *)p_block->p_buffer;
uint8_t tmp;
static block_t *Swap24( filter_t *p_filter, block_t *p_block )
{
+ VLC_UNUSED(p_filter);
int i;
uint8_t *p_in = (uint8_t *)p_block->p_buffer;
uint8_t tmp;
static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter,
aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
{
+ VLC_UNUSED(p_aout);
p_out_buf->i_nb_samples = p_in_buf->i_nb_samples;
p_out_buf->i_nb_bytes = p_in_buf->i_nb_bytes;