changeset 31537:8e5ba4ae7c36

* fix compilation using external libfaad * revert r31565
author attila
date Thu, 01 Jul 2010 19:59:42 +0000
parents 96d04730232f
children 09e7a988ab93
files Changelog configure libmpcodecs/ad_faad.c
diffstat 3 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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:
--- 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 ;;
--- 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