[vlc-commits] dca: pass audio sample formats by pointer rather than value
Rémi Denis-Courmont
git at videolan.org
Wed Aug 3 17:06:46 CEST 2011
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Aug 3 16:44:05 2011 +0300| [819d135d468e5618d8b7f4fe906c45667f359d59] | committer: Rémi Denis-Courmont
dca: pass audio sample formats by pointer rather than value
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=819d135d468e5618d8b7f4fe906c45667f359d59
---
modules/audio_filter/converter/dtstofloat32.c | 23 ++++++++++++-----------
1 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/modules/audio_filter/converter/dtstofloat32.c b/modules/audio_filter/converter/dtstofloat32.c
index 7089e3b..928b5ba 100644
--- a/modules/audio_filter/converter/dtstofloat32.c
+++ b/modules/audio_filter/converter/dtstofloat32.c
@@ -94,19 +94,20 @@ vlc_module_end ()
* Open:
*****************************************************************************/
static int Open( vlc_object_t *p_this, filter_sys_t *p_sys,
- audio_format_t input, audio_format_t output )
+ const audio_format_t *restrict input,
+ const audio_format_t *restrict output )
{
p_sys->b_dynrng = var_InheritBool( p_this, "dts-dynrng" );
p_sys->b_dontwarn = 0;
/* We'll do our own downmixing, thanks. */
- p_sys->i_nb_channels = aout_FormatNbChannels( &output );
- switch ( (output.i_physical_channels & AOUT_CHAN_PHYSMASK)
+ p_sys->i_nb_channels = aout_FormatNbChannels( output );
+ switch ( (output->i_physical_channels & AOUT_CHAN_PHYSMASK)
& ~AOUT_CHAN_LFE )
{
case AOUT_CHAN_CENTER:
- if ( (output.i_original_channels & AOUT_CHAN_CENTER)
- || (output.i_original_channels
+ if ( (output->i_original_channels & AOUT_CHAN_CENTER)
+ || (output->i_original_channels
& (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT)) )
{
p_sys->i_flags = DCA_MONO;
@@ -114,15 +115,15 @@ static int Open( vlc_object_t *p_this, filter_sys_t *p_sys,
break;
case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT:
- if ( output.i_original_channels & AOUT_CHAN_DOLBYSTEREO )
+ if ( output->i_original_channels & AOUT_CHAN_DOLBYSTEREO )
{
p_sys->i_flags = DCA_DOLBY;
}
- else if ( input.i_original_channels == AOUT_CHAN_CENTER )
+ else if ( input->i_original_channels == AOUT_CHAN_CENTER )
{
p_sys->i_flags = DCA_MONO;
}
- else if ( input.i_original_channels & AOUT_CHAN_DUALMONO )
+ else if ( input->i_original_channels & AOUT_CHAN_DUALMONO )
{
p_sys->i_flags = DCA_CHANNEL;
}
@@ -160,7 +161,7 @@ static int Open( vlc_object_t *p_this, filter_sys_t *p_sys,
free( p_sys );
return -1;
}
- if ( output.i_physical_channels & AOUT_CHAN_LFE )
+ if ( output->i_physical_channels & AOUT_CHAN_LFE )
{
p_sys->i_flags |= DCA_LFE;
}
@@ -175,7 +176,7 @@ static int Open( vlc_object_t *p_this, filter_sys_t *p_sys,
}
aout_CheckChannelReorder( pi_channels_in, NULL,
- output.i_physical_channels & AOUT_CHAN_PHYSMASK,
+ output->i_physical_channels & AOUT_CHAN_PHYSMASK,
p_sys->i_nb_channels,
p_sys->pi_chan_table );
@@ -343,7 +344,7 @@ static int OpenFilter( vlc_object_t *p_this )
return VLC_ENOMEM;
i_ret = Open( VLC_OBJECT(p_filter), p_sys,
- p_filter->fmt_in.audio, p_filter->fmt_out.audio );
+ &p_filter->fmt_in.audio, &p_filter->fmt_out.audio );
p_filter->pf_audio_filter = Convert;
p_filter->fmt_out.audio.i_rate = p_filter->fmt_in.audio.i_rate;
More information about the vlc-commits
mailing list