Beyond Linux® From Scratch - Version 7.5

Chapter 39. Multimedia Libraries and Drivers

FAAC-1.28

Introduction to FAAC

FAAC is an encoder for a lossy
sound compression scheme specified in MPEG-2 Part 7 and MPEG-4 Part
3 standards and known as Advanced Audio Coding (AAC). This encoder
is useful for producing files that can be played back on iPod.
Moreover, iPod does not understand other sound compression schemes
in video files.

This package is known to build and work properly using an LFS-7.5
platform.

Then, decode the result using the faad program from the FAAD2-2.7 package
and play back the decoded file (requires the aplay program from the alsa-utils-1.0.27.2 package:

faad Front_Left.mp4
aplay Front_Left.wav

aplay should identify
the file as “Signed 16 bit Little Endian,
Rate 48000 Hz, Stereo”, and you should hear the words
“front left”.

Now, as the root user:

make install

Command Explanations

sed -i ...: This
command removes documentation for the --obj-type parameter from the faac --long-help command output.
This parameter is already disabled in FAAC-1.28 due to sound
quality issues with object types other than “Low Complexity”.

--disable-static: This
switch prevents installation of static versions of the libraries.

--enable-drm: This option is supposed
to enable support for encoding files for Digital Radio Mondiale, but actually
breaks the base functionality of the package (e.g., the resulting
faac program produces
files that cannot be decoded by FAAD2-2.7, even if compiled with DRM
support). Don't use it.

Other AAC encoders

The quality of FAAC is not up to
par with the best AAC encoders currently available. Also, it only
supports AAC and not High Efficiency AAC (also known as aacPlus),
which provides better quality at low bitrates by means of using the
“spectral band replication”
technology. There are the following alternative programs for
producing AAC and HE-AAC streams:

Nero AAC
Codec: available only in the binary form, the
command-line AAC and HE-AAC encoders for Linux are in the
same archive as the Windows application.

3GPP
Enhanced aacPlus general audio codec: available in the
source form, can encode only HE-AAC up to 48 kbps out of the
box, but the maximum bitrate can be changed by editing the
tuning table in the FloatFR_sbrenclib/src/sbr_main.c file.

Note, however, that iPod supports only Low Complexity AAC profile,
which is the default in FAAC, but may not be the default in Nero
AAC Encoder and is completely unavailable in the 3GPP encoder.