# HG changeset patch # User attila # Date 1278014382 0 # Node ID 8e5ba4ae7c36aa78582b9072d4813b368b614564 # Parent 96d04730232f10803f99a00c5894b59547c60b59 * fix compilation using external libfaad * revert r31565 diff -r 96d04730232f -r 8e5ba4ae7c36 Changelog --- a/Changelog Thu Jul 01 19:52:18 2010 +0000 +++ b/Changelog Thu Jul 01 19:59:42 2010 +0000 @@ -26,8 +26,6 @@ * VP8 en-/decoding through libvpx wrapper and native decoder in FFmpeg * support for external libmpeg2 added * hardware MPEG decoder priority lowered - * support for external FAAD removed, since FFmpeg decoder is complete - and only internal FAAD supports LATM it is pointless. * external libmpg123 support Demuxers: diff -r 96d04730232f -r 8e5ba4ae7c36 configure --- a/configure Thu Jul 01 19:52:18 2010 +0000 +++ b/configure Thu Jul 01 19:59:42 2010 +0000 @@ -339,6 +339,7 @@ --disable-libvorbis disable libvorbis support [autodetect] --disable-speex disable Speex support [autodetect] --enable-theora enable OggTheora libraries [autodetect] + --enable-faad enable external FAAD2 (AAC) [autodetect] --disable-faad-internal disable internal FAAD2 (AAC) [autodetect] --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled] --disable-faac disable support for FAAC (AAC encoder) [autodetect] @@ -655,7 +656,7 @@ _libdca=auto _libmpeg2=auto _libmpeg2_internal=auto -_faad=no +_faad=auto _faad_internal=auto _faad_fixed=no _faac=auto @@ -1058,6 +1059,8 @@ --disable-libmpeg2-internal) _libmpeg2_internal=no ;; --enable-musepack) _musepack=yes ;; --disable-musepack) _musepack=no ;; + --enable-faad) _faad=yes ;; + --disable-faad) _faad=no ;; --enable-faad-internal) _faad_internal=yes ;; --disable-faad-internal) _faad_internal=no ;; --enable-faad-fixed) _faad_fixed=yes ;; diff -r 96d04730232f -r 8e5ba4ae7c36 libmpcodecs/ad_faad.c --- a/libmpcodecs/ad_faad.c Thu Jul 01 19:52:18 2010 +0000 +++ b/libmpcodecs/ad_faad.c Thu Jul 01 19:59:42 2010 +0000 @@ -126,6 +126,7 @@ faacDecSetConfiguration(faac_hdec, faac_conf); sh->a_in_buffer_len = demux_read_data(sh->ds, sh->a_in_buffer, sh->a_in_buffer_size); +#if CONFIG_FAAD_INTERNAL /* init the codec, look for LATM */ faac_init = faacDecInit(faac_hdec, sh->a_in_buffer, sh->a_in_buffer_len, &faac_samplerate, &faac_channels,1); @@ -144,6 +145,11 @@ if (faac_init >= 0) break; } } +#else + /* external faad does not have latm lookup support */ + faac_init = faacDecInit(faac_hdec, sh->a_in_buffer, + sh->a_in_buffer_len, &faac_samplerate, &faac_channels); +#endif if (faac_init < 0) { pos = aac_probe(sh->a_in_buffer, sh->a_in_buffer_len); @@ -157,8 +163,13 @@ } /* init the codec */ +#if CONFIG_FAAD_INTERNAL faac_init = faacDecInit(faac_hdec, sh->a_in_buffer, sh->a_in_buffer_len, &faac_samplerate, &faac_channels,0); +#else + faac_init = faacDecInit(faac_hdec, sh->a_in_buffer, + sh->a_in_buffer_len, &faac_samplerate, &faac_channels); +#endif } sh->a_in_buffer_len -= (faac_init > 0)?faac_init:0; // how many bytes init consumed