VLC_EXPORT( void, aout_ChannelExtract, ( void *p_dst, int i_dst_channels, const void *p_src, int i_src_channels, int i_sample_count, const int *pi_selection, int i_bits_per_sample ) );
/* */
-VLC_EXPORT( unsigned int, aout_FormatNbChannels, ( const audio_sample_format_t * p_format ) LIBVLC_USED );
+static inline unsigned aout_FormatNbChannels(const audio_sample_format_t *fmt)
+{
+ return popcount(fmt->i_physical_channels & AOUT_CHAN_PHYSMASK);
+}
+
VLC_EXPORT( unsigned int, aout_BitsPerSample, ( vlc_fourcc_t i_format ) LIBVLC_USED );
VLC_EXPORT( void, aout_FormatPrepare, ( audio_sample_format_t * p_format ) );
VLC_EXPORT( void, aout_FormatPrint, ( aout_instance_t * p_aout, const char * psz_text, const audio_sample_format_t * p_format ) );
* Formats management (internal and external)
*/
-/*****************************************************************************
- * aout_FormatNbChannels : return the number of channels
- *****************************************************************************/
-unsigned int aout_FormatNbChannels( const audio_sample_format_t * p_format )
-{
- static const uint32_t pi_channels[] =
- { AOUT_CHAN_CENTER, AOUT_CHAN_LEFT, AOUT_CHAN_RIGHT,
- AOUT_CHAN_REARCENTER, AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT,
- AOUT_CHAN_MIDDLELEFT, AOUT_CHAN_MIDDLERIGHT, AOUT_CHAN_LFE };
- unsigned int i_nb = 0, i;
-
- for ( i = 0; i < sizeof(pi_channels)/sizeof(uint32_t); i++ )
- {
- if ( p_format->i_physical_channels & pi_channels[i] ) i_nb++;
- }
-
- return i_nb;
-}
-
/*****************************************************************************
* aout_BitsPerSample : get the number of bits per sample
*****************************************************************************/