[vlc-devel] [PATCH 2/2] faad: fix Ambisonics AAC order 1 streams

Tristan Matthews tmatth at videolan.org
Mon May 14 17:09:30 CEST 2018


Hi,

On Mon, May 14, 2018 at 10:55 AM, Adrien Maglo <magsoft at videolan.org> wrote:
> Reorder properly the audio channels.
> ---
>  modules/codec/faad.c | 19 +++++++++++++++----
>  1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/modules/codec/faad.c b/modules/codec/faad.c
> index b31d329d3b..e3c9e0405f 100644
> --- a/modules/codec/faad.c
> +++ b/modules/codec/faad.c
> @@ -529,12 +529,23 @@ static int DecodeBlock( decoder_t *p_dec, block_t *p_block )
>                  }
>                  else pi_faad_channels_positions[i] = 0;
>              }
> +        }
> +        else if (p_dec->fmt_out.audio.channel_type == AUDIO_CHANNEL_TYPE_AMBISONICS
> +            && frame.channels == 4)
> +        {
> +            pi_faad_channels_positions[0] = AOUT_CHAN_REARCENTER;
> +            pi_faad_channels_positions[1] = AOUT_CHAN_LEFT;
> +            pi_faad_channels_positions[2] = AOUT_CHAN_RIGHT;
> +            pi_faad_channels_positions[3] = AOUT_CHAN_CENTER;
> +            p_dec->fmt_out.audio.i_physical_channels =
> +                AOUT_CHAN_CENTER | AOUT_CHAN_LEFT
> +                | AOUT_CHAN_RIGHT | AOUT_CHAN_REARCENTER;
> +        }
>
> -            b_reorder = aout_CheckChannelReorder( pi_faad_channels_positions, NULL,
> -                p_dec->fmt_out.audio.i_physical_channels, pi_neworder_table );
> +        b_reorder = aout_CheckChannelReorder( pi_faad_channels_positions, NULL,
> +            p_dec->fmt_out.audio.i_physical_channels, pi_neworder_table );
>
> -            p_dec->fmt_out.audio.i_channels = vlc_popcount(p_dec->fmt_out.audio.i_physical_channels);
> -        }
> +        p_dec->fmt_out.audio.i_channels = vlc_popcount(p_dec->fmt_out.audio.i_physical_channels);
>
>          if( !decoder_UpdateAudioFormat( p_dec ) && p_dec->fmt_out.audio.i_channels > 0 )
>              p_out = decoder_NewAudioBuffer( p_dec, frame.samples / p_dec->fmt_out.audio.i_channels );
> --
> 2.14.1
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel

Do you have any samples for testing?

Best,
Tristan


More information about the vlc-devel mailing list