[vlc-commits] a52dec: pass sample formats by address rather than value

Rémi Denis-Courmont git at videolan.org
Wed Aug 3 17:06:45 CEST 2011


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Aug  3 16:42:26 2011 +0300| [5d9de36f76c8dd003f4b61835ca52cd98f61a156] | committer: Rémi Denis-Courmont

a52dec: pass sample formats by address rather than value

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5d9de36f76c8dd003f4b61835ca52cd98f61a156
---

 modules/audio_filter/converter/a52tofloat32.c |   31 +++++++++++++------------
 1 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/modules/audio_filter/converter/a52tofloat32.c b/modules/audio_filter/converter/a52tofloat32.c
index 5d1cbf0..be73531 100644
--- a/modules/audio_filter/converter/a52tofloat32.c
+++ b/modules/audio_filter/converter/a52tofloat32.c
@@ -105,14 +105,15 @@ 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, "a52-dynrng" );
     p_sys->b_dontwarn = 0;
 
     /* No upmixing: it's not necessary and some other filters may want to do
      * it themselves. */
-    if ( aout_FormatNbChannels( &output ) > aout_FormatNbChannels( &input ) )
+    if ( aout_FormatNbChannels( output ) > aout_FormatNbChannels( input ) )
     {
         if ( ! var_InheritBool( p_this, "a52-upmix" ) )
         {
@@ -121,18 +122,18 @@ static int Open( vlc_object_t *p_this, filter_sys_t *p_sys,
     }
 
     /* 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 = A52_MONO;
         }
-        else if ( output.i_original_channels & AOUT_CHAN_LEFT )
+        else if ( output->i_original_channels & AOUT_CHAN_LEFT )
         {
             p_sys->i_flags = A52_CHANNEL1;
         }
@@ -143,23 +144,23 @@ 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 = A52_DOLBY;
         }
-        else if ( input.i_original_channels == AOUT_CHAN_CENTER )
+        else if ( input->i_original_channels == AOUT_CHAN_CENTER )
         {
             p_sys->i_flags = A52_MONO;
         }
-        else if ( input.i_original_channels & AOUT_CHAN_DUALMONO )
+        else if ( input->i_original_channels & AOUT_CHAN_DUALMONO )
         {
             p_sys->i_flags = A52_CHANNEL;
         }
-        else if ( !(output.i_original_channels & AOUT_CHAN_RIGHT) )
+        else if ( !(output->i_original_channels & AOUT_CHAN_RIGHT) )
         {
             p_sys->i_flags = A52_CHANNEL1;
         }
-        else if ( !(output.i_original_channels & AOUT_CHAN_LEFT) )
+        else if ( !(output->i_original_channels & AOUT_CHAN_LEFT) )
         {
             p_sys->i_flags = A52_CHANNEL2;
         }
@@ -197,7 +198,7 @@ static int Open( vlc_object_t *p_this, filter_sys_t *p_sys,
         free( p_sys );
         return VLC_EGENERIC;
     }
-    if ( output.i_physical_channels & AOUT_CHAN_LFE )
+    if ( output->i_physical_channels & AOUT_CHAN_LFE )
     {
         p_sys->i_flags |= A52_LFE;
     }
@@ -213,7 +214,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 );
 
@@ -375,7 +376,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