Commit e1b3ef17 authored by Gildas Bazin's avatar Gildas Bazin

* modules/codec/faad.c: compilation fix and proper 16bits pcm support.

parent c66d3a90
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* decoder.c: AAC decoder using libfaad2 * decoder.c: AAC decoder using libfaad2
***************************************************************************** *****************************************************************************
* Copyright (C) 2001, 2003 VideoLAN * Copyright (C) 2001, 2003 VideoLAN
* $Id: faad.c,v 1.11 2004/02/19 15:42:25 jpsaman Exp $ * $Id: faad.c,v 1.12 2004/02/19 16:19:41 gbazin Exp $
* *
* Authors: Laurent Aimar <fenrir@via.ecp.fr> * Authors: Laurent Aimar <fenrir@via.ecp.fr>
* Gildas Bazin <gbazin@netcourrier.com> * Gildas Bazin <gbazin@netcourrier.com>
...@@ -116,10 +116,10 @@ static int Open( vlc_object_t *p_this ) ...@@ -116,10 +116,10 @@ static int Open( vlc_object_t *p_this )
aout_DateSet( &p_sys->date, 0 ); aout_DateSet( &p_sys->date, 0 );
p_dec->fmt_out.i_cat = AUDIO_ES; p_dec->fmt_out.i_cat = AUDIO_ES;
if (p_intf->p_libvlc->i_cpu & CPU_CAPABILITY_FPU) if (p_dec->p_libvlc->i_cpu & CPU_CAPABILITY_FPU)
p_dec->fmt_out.i_codec = VLC_FOURCC('f','l','3','2'); p_dec->fmt_out.i_codec = VLC_FOURCC('f','l','3','2');
else else
p_dec->fmt_out.i_codec = VLC_FOURCC('f','i','1','6'); p_dec->fmt_out.i_codec = AOUT_FMT_S16_NE;
p_dec->pf_decode_audio = DecodeBlock; p_dec->pf_decode_audio = DecodeBlock;
p_dec->fmt_out.audio.i_physical_channels = p_dec->fmt_out.audio.i_physical_channels =
...@@ -151,7 +151,7 @@ static int Open( vlc_object_t *p_this ) ...@@ -151,7 +151,7 @@ static int Open( vlc_object_t *p_this )
/* Set the faad config */ /* Set the faad config */
cfg = faacDecGetCurrentConfiguration( p_sys->hfaad ); cfg = faacDecGetCurrentConfiguration( p_sys->hfaad );
if (p_intf->p_libvlc->i_cpu & CPU_CAPABILITY_FPU) if (p_dec->p_libvlc->i_cpu & CPU_CAPABILITY_FPU)
cfg->outputFormat = FAAD_FMT_FLOAT; cfg->outputFormat = FAAD_FMT_FLOAT;
else else
cfg->outputFormat = FAAD_FMT_16BIT; cfg->outputFormat = FAAD_FMT_16BIT;
...@@ -376,12 +376,14 @@ static void DoReordering( decoder_t *p_dec, ...@@ -376,12 +376,14 @@ static void DoReordering( decoder_t *p_dec,
} }
/* Do the actual reordering */ /* Do the actual reordering */
if( p_dec->p_libvlc->i_cpu & CPU_CAPABILITY_FPU )
for( i = 0; i < i_samples; i++ ) for( i = 0; i < i_samples; i++ )
{
for( j = 0; j < i_nb_channels; j++ ) for( j = 0; j < i_nb_channels; j++ )
{
p_out[i * i_nb_channels + pi_chan_table[j]] = p_out[i * i_nb_channels + pi_chan_table[j]] =
p_in[i * i_nb_channels + j]; p_in[i * i_nb_channels + j];
} else
} for( i = 0; i < i_samples; i++ )
for( j = 0; j < i_nb_channels; j++ )
((uint16_t *)p_out)[i * i_nb_channels + pi_chan_table[j]] =
((uint16_t *)p_in)[i * i_nb_channels + j];
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment