[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