summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2013-06-15 17:24:35 +0000
committerjstebbins <[email protected]>2013-06-15 17:24:35 +0000
commit768561ada96cd0149ed115748c95a32357676b38 (patch)
treef3133420c26ba3955476aaab30e829555745e57b
parentc0a3e42fcb044932defaa420ce9ecaeed54db9a3 (diff)
improve aac encoder build options and change some aac encoder defaults
By default, faac is no longer built. Libav aac is now the default aac encoder on all platforms except osx where ca_aac is the default. fdk-aac is now built by default (except on osx). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5581 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--contrib/ffmpeg/A04-aacenc.patch82
-rw-r--r--gtk/configure.ac10
-rw-r--r--gtk/module.defs4
-rw-r--r--libhb/common.c9
-rw-r--r--libhb/encfaac.c3
-rw-r--r--libhb/hb.c2
-rw-r--r--libhb/module.defs10
-rw-r--r--macosx/HandBrake.xcodeproj/project.pbxproj6
-rw-r--r--macosx/module.defs7
-rw-r--r--make/configure.py15
-rw-r--r--make/include/main.defs5
-rw-r--r--test/module.defs6
12 files changed, 141 insertions, 18 deletions
diff --git a/contrib/ffmpeg/A04-aacenc.patch b/contrib/ffmpeg/A04-aacenc.patch
new file mode 100644
index 000000000..b58441a17
--- /dev/null
+++ b/contrib/ffmpeg/A04-aacenc.patch
@@ -0,0 +1,82 @@
+commit 8bbdd20a293eab2cfac9f332613ead02a4e3c0c2
+Author: Claudio Freire <[email protected]>
+Date: Sun May 12 09:38:40 2013 +0200
+
+ aacenc: Fix erasure of surround channels
+
+ This was due to a miscomputation of s->cur_channel, which led to
+ psy-based encoders using the psy coefficients for the wrong channel.
+
+ Signed-off-by: Martin Storsjö <[email protected]>
+
+diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
+index 60eca59..b2ad47b 100644
+--- a/libavcodec/aacenc.c
++++ b/libavcodec/aacenc.c
+@@ -597,7 +597,7 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
+ coeffs[ch] = cpe->ch[ch].coeffs;
+ s->psy.model->analyze(&s->psy, start_ch, coeffs, wi);
+ for (ch = 0; ch < chans; ch++) {
+- s->cur_channel = start_ch * 2 + ch;
++ s->cur_channel = start_ch + ch;
+ s->coder->search_for_quantizers(avctx, s, &cpe->ch[ch], s->lambda);
+ }
+ cpe->common_window = 0;
+@@ -613,7 +613,7 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
+ }
+ }
+ }
+- s->cur_channel = start_ch * 2;
++ s->cur_channel = start_ch;
+ if (s->options.stereo_mode && cpe->common_window) {
+ if (s->options.stereo_mode > 0) {
+ IndividualChannelStream *ics = &cpe->ch[0].ics;
+
+commit f4d0a63b5b5c682c18df3bba730f97a9067408ba
+Author: Claudio Freire <[email protected]>
+Date: Sat May 4 18:36:37 2013 -0300
+
+ aacenc: Fix target bitrate for twoloop quantiser search
+
+ This fixes a case where multichannel bitrate isn't accurately
+ targetted by psy model alone, never achieving the target bitrate.
+
+ Signed-off-by: Martin Storsjö <[email protected]>
+
+diff --git a/libavcodec/aaccoder.c b/libavcodec/aaccoder.c
+index d65d8d9..35b98a9 100644
+--- a/libavcodec/aaccoder.c
++++ b/libavcodec/aaccoder.c
+@@ -710,7 +710,7 @@ static void search_for_quantizers_twoloop(AVCodecContext *avctx,
+ const float lambda)
+ {
+ int start = 0, i, w, w2, g;
+- int destbits = avctx->bit_rate * 1024.0 / avctx->sample_rate / avctx->channels;
++ int destbits = avctx->bit_rate * 1024.0 / avctx->sample_rate / avctx->channels * (lambda / 120.f);
+ float dists[128] = { 0 }, uplims[128];
+ float maxvals[128];
+ int fflag, minscaler;
+
+commit 7c71ada4cad3c6aab5fa24155c379465c41cfd76
+Author: Claudio Freire <[email protected]>
+Date: Sat May 4 18:35:49 2013 -0300
+
+ aacenc: Fix a rounding bug in aacpsy channel bitrate computation
+
+ Signed-off-by: Martin Storsjö <[email protected]>
+
+diff --git a/libavcodec/aacpsy.c b/libavcodec/aacpsy.c
+index 6f1ac05..66cf6d5 100644
+--- a/libavcodec/aacpsy.c
++++ b/libavcodec/aacpsy.c
+@@ -312,7 +312,7 @@ static av_cold int psy_3gpp_init(FFPsyContext *ctx) {
+ AacPsyCoeffs *coeffs = pctx->psy_coef[j];
+ const uint8_t *band_sizes = ctx->bands[j];
+ float line_to_frequency = ctx->avctx->sample_rate / (j ? 256.f : 2048.0f);
+- float avg_chan_bits = chan_bitrate / ctx->avctx->sample_rate * (j ? 128.0f : 1024.0f);
++ float avg_chan_bits = chan_bitrate * (j ? 128.0f : 1024.0f) / ctx->avctx->sample_rate;
+ /* reference encoder uses 2.4% here instead of 60% like the spec says */
+ float bark_pe = 0.024f * PSY_3GPP_BITS_TO_PE(avg_chan_bits) / num_bark;
+ float en_spread_low = j ? PSY_3GPP_EN_SPREAD_LOW_S : PSY_3GPP_EN_SPREAD_LOW_L;
+
+
diff --git a/gtk/configure.ac b/gtk/configure.ac
index 6d013f935..64aa72744 100644
--- a/gtk/configure.ac
+++ b/gtk/configure.ac
@@ -60,6 +60,10 @@ AC_ARG_ENABLE(fdk-aac,
AS_HELP_STRING([--enable-fdk-aac], [enable fdk aac encoder]),
use_fdk_aac=yes, use_fdk_aac=no)
+AC_ARG_ENABLE(faac,
+ AS_HELP_STRING([--enable-faac], [enable faac encoder]),
+ use_faac=yes, use_faac=no)
+
AC_ARG_ENABLE(gst,
AS_HELP_STRING([--disable-gst], [disable gstreamer (live preview)]),
gst_disable=yes, gst_disable=no)
@@ -203,12 +207,16 @@ case $host in
;;
esac
-HB_LIBS="-lhb -la52 -lmkv -lavresample -lavformat -lavcodec -lavutil -ldvdnav -ldvdread -lfaac -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lmp4v2 -lswscale -ltheoraenc -ltheoradec -lz -lbz2 -lpthread -lbluray -lass -lfontconfig -lfreetype -lxml2"
+HB_LIBS="-lhb -la52 -lmkv -lavresample -lavformat -lavcodec -lavutil -ldvdnav -ldvdread -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lmp4v2 -lswscale -ltheoraenc -ltheoradec -lz -lbz2 -lpthread -lbluray -lass -lfontconfig -lfreetype -lxml2"
if test "x$use_fdk_aac" = "xyes" ; then
HB_LIBS+=" -lfdk-aac"
fi
+if test "x$use_faac" = "xyes" ; then
+ HB_LIBS+=" -lfaac"
+fi
+
AC_SUBST(HB_LIBS)
AC_SUBST(GHB_TOOLS_CFLAGS)
AC_SUBST(GHB_TOOLS_LIBS)
diff --git a/gtk/module.defs b/gtk/module.defs
index 8eddc6d91..cee9d7790 100644
--- a/gtk/module.defs
+++ b/gtk/module.defs
@@ -32,3 +32,7 @@ endif
ifeq (1,$(FEATURE.fdk_aac))
GTK.CONFIGURE.extra += --enable-fdk-aac
endif
+
+ifeq (1,$(FEATURE.faac))
+ GTK.CONFIGURE.extra += --enable-faac
+endif
diff --git a/libhb/common.c b/libhb/common.c
index bdfefa3f9..2a090e638 100644
--- a/libhb/common.c
+++ b/libhb/common.c
@@ -229,10 +229,10 @@ hb_encoder_internal_t hb_audio_encoders[] =
// actual encoders
{ { "AAC (CoreAudio)", "ca_aac", HB_ACODEC_CA_AAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AAC, },
{ { "HE-AAC (CoreAudio)", "ca_haac", HB_ACODEC_CA_HAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AAC_HE, },
- { { "AAC (FDK)", "fdk_aac", HB_ACODEC_FDK_AAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AAC, },
- { { "HE-AAC (FDK)", "fdk_haac", HB_ACODEC_FDK_HAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AAC_HE, },
{ { "AAC (faac)", "faac", HB_ACODEC_FAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AAC, },
{ { "AAC (ffmpeg)", "ffaac", HB_ACODEC_FFAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AAC, },
+ { { "AAC (FDK)", "fdk_aac", HB_ACODEC_FDK_AAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AAC, },
+ { { "HE-AAC (FDK)", "fdk_haac", HB_ACODEC_FDK_HAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AAC_HE, },
{ { "AAC Passthru", "copy:aac", HB_ACODEC_AAC_PASS, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AAC_PASS, },
{ { "AC3 (ffmpeg)", "ffac3", HB_ACODEC_AC3, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AC3, },
{ { "AC3 Passthru", "copy:ac3", HB_ACODEC_AC3_PASS, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, HB_GID_ACODEC_AC3_PASS, },
@@ -261,12 +261,12 @@ static int hb_audio_encoder_is_enabled(int encoder)
return 1;
#endif
-#if 1 //#ifdef USE_FAAC
+#ifdef USE_FAAC
case HB_ACODEC_FAAC:
return 1;
#endif
-#if 1 //#ifdef USE_LIBAV_AAC
+#ifdef USE_LIBAV_AAC
case HB_ACODEC_FFAAC:
return 1;
#endif
@@ -1314,7 +1314,6 @@ int hb_mixdown_has_codec_support(int mixdown, uint32_t codec)
return (mixdown <= HB_AMIXDOWN_7POINT1);
case HB_ACODEC_LAME:
- case HB_ACODEC_FFAAC:
return (mixdown <= HB_AMIXDOWN_DOLBYPLII);
case HB_ACODEC_FAAC:
diff --git a/libhb/encfaac.c b/libhb/encfaac.c
index ffdddc8d4..3bdd7cee0 100644
--- a/libhb/encfaac.c
+++ b/libhb/encfaac.c
@@ -7,6 +7,7 @@
For full terms see the file COPYING file or visit http://www.gnu.org/licenses/gpl-2.0.html
*/
+#ifdef USE_FAAC
#include "hb.h"
#include "audio_remap.h"
@@ -286,4 +287,4 @@ int encfaacWork( hb_work_object_t * w, hb_buffer_t ** buf_in,
return HB_WORK_OK;
}
-
+#endif // USE_FAAC
diff --git a/libhb/hb.c b/libhb/hb.c
index a55575f8e..0c475abd2 100644
--- a/libhb/hb.c
+++ b/libhb/hb.c
@@ -1645,7 +1645,9 @@ int hb_global_init()
hb_register(&hb_encca_aac);
hb_register(&hb_encca_haac);
#endif
+#ifdef USE_FAAC
hb_register(&hb_encfaac);
+#endif
hb_register(&hb_enclame);
hb_register(&hb_enctheora);
hb_register(&hb_encvorbis);
diff --git a/libhb/module.defs b/libhb/module.defs
index bb7ffccb5..bd300bafb 100644
--- a/libhb/module.defs
+++ b/libhb/module.defs
@@ -40,6 +40,12 @@ endif
ifeq (1,$(FEATURE.fdk_aac))
LIBHB.GCC.D += USE_FDK_AAC
endif
+ifeq (1,$(FEATURE.libav_aac))
+LIBHB.GCC.D += USE_LIBAV_AAC
+endif
+ifeq (1,$(FEATURE.faac))
+LIBHB.GCC.D += USE_FAAC
+endif
LIBHB.GCC.D += __LIBHB__ USE_PTHREAD
LIBHB.GCC.I += $(LIBHB.build/) $(CONTRIB.build/)include
@@ -104,6 +110,10 @@ ifeq (1,$(FEATURE.fdk_aac))
LIBHB.dll.libs += $(CONTRIB.build/)lib/libfdk-aac.a
endif
+ifeq (1,$(FEATURE.faac))
+LIBHB.dll.libs += $(CONTRIB.build/)lib/libfaac.a
+endif
+
ifneq ($(HAS.iconv),1)
LIBHB.dll.libs += $(CONTRIB.build/)lib/libiconv.a
else
diff --git a/macosx/HandBrake.xcodeproj/project.pbxproj b/macosx/HandBrake.xcodeproj/project.pbxproj
index df3329743..6762c87e8 100644
--- a/macosx/HandBrake.xcodeproj/project.pbxproj
+++ b/macosx/HandBrake.xcodeproj/project.pbxproj
@@ -92,8 +92,6 @@
27D6C75014B102DA00B785E4 /* libdvdnav.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C72E14B102DA00B785E4 /* libdvdnav.a */; };
27D6C75114B102DA00B785E4 /* libdvdread.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C72F14B102DA00B785E4 /* libdvdread.a */; };
27D6C75214B102DA00B785E4 /* libdvdread.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C72F14B102DA00B785E4 /* libdvdread.a */; };
- 27D6C75314B102DA00B785E4 /* libfaac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C73014B102DA00B785E4 /* libfaac.a */; };
- 27D6C75414B102DA00B785E4 /* libfaac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C73014B102DA00B785E4 /* libfaac.a */; };
27D6C75514B102DA00B785E4 /* libfontconfig.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C73114B102DA00B785E4 /* libfontconfig.a */; };
27D6C75614B102DA00B785E4 /* libfontconfig.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C73114B102DA00B785E4 /* libfontconfig.a */; };
27D6C75714B102DA00B785E4 /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C73214B102DA00B785E4 /* libfreetype.a */; };
@@ -294,7 +292,6 @@
27D6C72C14B102DA00B785E4 /* libbluray.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbluray.a; path = external/contrib/lib/libbluray.a; sourceTree = BUILT_PRODUCTS_DIR; };
27D6C72E14B102DA00B785E4 /* libdvdnav.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdvdnav.a; path = external/contrib/lib/libdvdnav.a; sourceTree = BUILT_PRODUCTS_DIR; };
27D6C72F14B102DA00B785E4 /* libdvdread.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdvdread.a; path = external/contrib/lib/libdvdread.a; sourceTree = BUILT_PRODUCTS_DIR; };
- 27D6C73014B102DA00B785E4 /* libfaac.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfaac.a; path = external/contrib/lib/libfaac.a; sourceTree = BUILT_PRODUCTS_DIR; };
27D6C73114B102DA00B785E4 /* libfontconfig.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfontconfig.a; path = external/contrib/lib/libfontconfig.a; sourceTree = BUILT_PRODUCTS_DIR; };
27D6C73214B102DA00B785E4 /* libfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfreetype.a; path = external/contrib/lib/libfreetype.a; sourceTree = BUILT_PRODUCTS_DIR; };
27D6C73314B102DA00B785E4 /* libfribidi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfribidi.a; path = external/contrib/lib/libfribidi.a; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -368,7 +365,6 @@
27D6C74C14B102DA00B785E4 /* libbluray.a in Frameworks */,
27D6C75014B102DA00B785E4 /* libdvdnav.a in Frameworks */,
27D6C75214B102DA00B785E4 /* libdvdread.a in Frameworks */,
- 27D6C75414B102DA00B785E4 /* libfaac.a in Frameworks */,
27D6C75614B102DA00B785E4 /* libfontconfig.a in Frameworks */,
27D6C75814B102DA00B785E4 /* libfreetype.a in Frameworks */,
27D6C75A14B102DA00B785E4 /* libfribidi.a in Frameworks */,
@@ -411,7 +407,6 @@
27D6C74B14B102DA00B785E4 /* libbluray.a in Frameworks */,
27D6C74F14B102DA00B785E4 /* libdvdnav.a in Frameworks */,
27D6C75114B102DA00B785E4 /* libdvdread.a in Frameworks */,
- 27D6C75314B102DA00B785E4 /* libfaac.a in Frameworks */,
27D6C75514B102DA00B785E4 /* libfontconfig.a in Frameworks */,
27D6C75714B102DA00B785E4 /* libfreetype.a in Frameworks */,
27D6C75914B102DA00B785E4 /* libfribidi.a in Frameworks */,
@@ -446,7 +441,6 @@
27D6C72C14B102DA00B785E4 /* libbluray.a */,
27D6C72E14B102DA00B785E4 /* libdvdnav.a */,
27D6C72F14B102DA00B785E4 /* libdvdread.a */,
- 27D6C73014B102DA00B785E4 /* libfaac.a */,
27D6C73114B102DA00B785E4 /* libfontconfig.a */,
27D6C73214B102DA00B785E4 /* libfreetype.a */,
27D6C73314B102DA00B785E4 /* libfribidi.a */,
diff --git a/macosx/module.defs b/macosx/module.defs
index 1870d5fe9..1a2b6f81d 100644
--- a/macosx/module.defs
+++ b/macosx/module.defs
@@ -26,9 +26,14 @@ MACOSX.map.g.std = debug
MACOSX.map.g.max = debug
ifeq (1,$(FEATURE.fdk_aac))
-MACOSX.extra_ldflags = OTHER_LDFLAGS='$(abspath $(BUILD))/contrib/lib/libfdk-aac.a'
+ extra_libs += $(abspath $(BUILD))/contrib/lib/libfdk-aac.a
endif
+ifeq (1,$(FEATURE.faac))
+ extra_libs += $(abspath $(BUILD))/contrib/lib/libfaac.a
+endif
+MACOSX.extra_ldflags = OTHER_LDFLAGS='$(extra_libs)'
+
## xcconfig: must be one of macosx/xcconfig/*.xcconfig
MACOSX.xcconfig = $(foreach x,$(XCODE.xcconfig),-xcconfig $(MACOSX.src/)xcconfig/$(x))
MACOSX.sdk = $(foreach sdk,$(GCC.sysroot),-sdk $(sdk))
diff --git a/make/configure.py b/make/configure.py
index b3da14dd8..af893ddae 100644
--- a/make/configure.py
+++ b/make/configure.py
@@ -1177,7 +1177,16 @@ def createCLI():
grp.add_option( '--enable-ff-mpeg2', default=False, action='store_true', help=h )
h = IfHost( 'enable use of fdk-aac encoder', '*-*-*', none=optparse.SUPPRESS_HELP ).value
- grp.add_option( '--enable-fdk-aac', default=False, action='store_true', help=h )
+ grp.add_option( '--enable-fdk-aac', dest="enable_fdk_aac", default=not host.match( '*-*-darwin*' ), action='store_true', help=h )
+ grp.add_option( '--disable-fdk-aac', dest="enable_fdk_aac", action='store_false' )
+
+ h = IfHost( 'enable use of libav aac encoder', '*-*-*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--enable-libav-aac', dest="enable_libav_aac", default=not host.match( '*-*-darwin*' ), action='store_true', help=h )
+ grp.add_option( '--disable-libav-aac', dest="enable_libav_aac", action='store_false' )
+
+ h = IfHost( 'enable use of faac encoder', '*-*-*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--enable-faac', dest="enable_faac", default=False, action='store_true', help=h )
+ grp.add_option( '--disable-faac', dest="enable_faac", action='store_false' )
cli.add_option_group( grp )
@@ -1618,7 +1627,9 @@ int main ()
doc.add( 'FEATURE.gtk.mingw', int( options.enable_gtk_mingw ))
doc.add( 'FEATURE.gst', int( not options.disable_gst ))
doc.add( 'FEATURE.ff.mpeg2', int( options.enable_ff_mpeg2 ))
- doc.add( 'FEATURE.fdk_aac', int( options.enable_fdk_aac ))
+ doc.add( 'FEATURE.fdk_aac', int( options.enable_fdk_aac ))
+ doc.add( 'FEATURE.libav_aac', int( options.enable_libav_aac ))
+ doc.add( 'FEATURE.faac', int( options.enable_faac ))
doc.add( 'FEATURE.xcode', int( not (Tools.xcodebuild.fail or options.disable_xcode or options.cross) ))
if not Tools.xcodebuild.fail and not options.disable_xcode:
diff --git a/make/include/main.defs b/make/include/main.defs
index 45d375c36..08901bd27 100644
--- a/make/include/main.defs
+++ b/make/include/main.defs
@@ -43,8 +43,11 @@ ifeq (1,$(FEATURE.fdk_aac))
MODULES += contrib/fdk-aac
endif
+ifeq (1,$(FEATURE.faac))
+ MODULES += contrib/faac
+endif
+
MODULES += contrib/lame
-MODULES += contrib/faac
MODULES += contrib/ffmpeg
MODULES += contrib/libdvdread
MODULES += contrib/libdvdnav
diff --git a/test/module.defs b/test/module.defs
index 7898a86ed..2150ed906 100644
--- a/test/module.defs
+++ b/test/module.defs
@@ -14,7 +14,7 @@ TEST.GCC.L = $(CONTRIB.build/)lib
TEST.libs = $(LIBHB.a)
TEST.GCC.l = \
- a52 ass avcodec avformat avutil avresample dvdnav dvdread faac \
+ a52 ass avcodec avformat avutil avresample dvdnav dvdread \
fontconfig freetype fribidi mkv mpeg2 mp3lame mp4v2 ogg \
samplerate swscale theoraenc theoradec vorbis vorbisenc x264 \
bluray xml2 bz2 z
@@ -23,6 +23,10 @@ ifeq (1,$(FEATURE.fdk_aac))
TEST.GCC.l += fdk-aac
endif
+ifeq (1,$(FEATURE.faac))
+TEST.GCC.l += faac
+endif
+
TEST.install.exe = $(DESTDIR)$(PREFIX/)bin/$(notdir $(TEST.exe))
###############################################################################