Commit 37eeb5e2 authored by Martin Storsjö's avatar Martin Storsjö

Support AAC encoding via the external library fdk-aac

Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent 372597e5
...@@ -33,6 +33,7 @@ version <next>: ...@@ -33,6 +33,7 @@ version <next>:
- Microsoft ATC Screen decoder - Microsoft ATC Screen decoder
- RTSP listen mode - RTSP listen mode
- TechSmith Screen Codec 2 decoder - TechSmith Screen Codec 2 decoder
- AAC encoding via libfdk-aac
version 0.8: version 0.8:
......
...@@ -170,6 +170,7 @@ External library support: ...@@ -170,6 +170,7 @@ External library support:
--enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
and libraw1394 [no] and libraw1394 [no]
--enable-libfaac enable FAAC support via libfaac [no] --enable-libfaac enable FAAC support via libfaac [no]
--enable-libfdk-aac enable AAC support via libfdk-aac [no]
--enable-libfreetype enable libfreetype [no] --enable-libfreetype enable libfreetype [no]
--enable-libgsm enable GSM support via libgsm [no] --enable-libgsm enable GSM support via libgsm [no]
--enable-libilbc enable iLBC de/encoding via libilbc [no] --enable-libilbc enable iLBC de/encoding via libilbc [no]
...@@ -943,6 +944,7 @@ CONFIG_LIST=" ...@@ -943,6 +944,7 @@ CONFIG_LIST="
libcdio libcdio
libdc1394 libdc1394
libfaac libfaac
libfdk_aac
libfreetype libfreetype
libgsm libgsm
libilbc libilbc
...@@ -1448,6 +1450,7 @@ h264_parser_select="golomb h264dsp h264pred" ...@@ -1448,6 +1450,7 @@ h264_parser_select="golomb h264dsp h264pred"
# external libraries # external libraries
libfaac_encoder_deps="libfaac" libfaac_encoder_deps="libfaac"
libfdk_aac_encoder_deps="libfdk_aac"
libgsm_decoder_deps="libgsm" libgsm_decoder_deps="libgsm"
libgsm_encoder_deps="libgsm" libgsm_encoder_deps="libgsm"
libgsm_ms_decoder_deps="libgsm" libgsm_ms_decoder_deps="libgsm"
...@@ -2968,6 +2971,7 @@ enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32 ...@@ -2968,6 +2971,7 @@ enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32
enabled frei0r && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; } enabled frei0r && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
enabled gnutls && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init enabled gnutls && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init
enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
enabled libfdk_aac && require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac
enabled libfreetype && require_pkg_config freetype2 "ft2build.h freetype/freetype.h" FT_Init_FreeType enabled libfreetype && require_pkg_config freetype2 "ft2build.h freetype/freetype.h" FT_Init_FreeType
enabled libgsm && require libgsm gsm/gsm.h gsm_create -lgsm enabled libgsm && require libgsm gsm/gsm.h gsm_create -lgsm
enabled libilbc && require libilbc ilbc.h WebRtcIlbcfix_InitDecode -lilbc enabled libilbc && require libilbc ilbc.h WebRtcIlbcfix_InitDecode -lilbc
...@@ -3259,6 +3263,7 @@ echo "gnutls enabled ${gnutls-no}" ...@@ -3259,6 +3263,7 @@ echo "gnutls enabled ${gnutls-no}"
echo "libcdio support ${libcdio-no}" echo "libcdio support ${libcdio-no}"
echo "libdc1394 support ${libdc1394-no}" echo "libdc1394 support ${libdc1394-no}"
echo "libfaac enabled ${libfaac-no}" echo "libfaac enabled ${libfaac-no}"
echo "libfdk-aac enabled ${libfdk_aac-no}"
echo "libgsm enabled ${libgsm-no}" echo "libgsm enabled ${libgsm-no}"
echo "libilbc enabled ${libilbc-no}" echo "libilbc enabled ${libilbc-no}"
echo "libmp3lame enabled ${libmp3lame-no}" echo "libmp3lame enabled ${libmp3lame-no}"
......
...@@ -18,8 +18,8 @@ explicitly requested by passing the appropriate flags to ...@@ -18,8 +18,8 @@ explicitly requested by passing the appropriate flags to
@section OpenCORE and VisualOn libraries @section OpenCORE and VisualOn libraries
Spun off Google Android sources, OpenCore and VisualOn libraries provide Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer
encoders for a number of audio codecs. libraries provide encoders for a number of audio codecs.
@float NOTE @float NOTE
OpenCORE and VisualOn libraries are under the Apache License 2.0 OpenCORE and VisualOn libraries are under the Apache License 2.0
...@@ -55,6 +55,14 @@ Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the ...@@ -55,6 +55,14 @@ Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the
instructions for installing the library. instructions for installing the library.
Then pass @code{--enable-libvo-amrwbenc} to configure to enable it. Then pass @code{--enable-libvo-amrwbenc} to configure to enable it.
@subsection Fraunhofer AAC library
Libav can make use of the Fraunhofer AAC library for AAC encoding.
Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the
instructions for installing the library.
Then pass @code{--enable-libfdk-aac} to configure to enable it.
@section LAME @section LAME
Libav can make use of the LAME library for MP3 encoding. Libav can make use of the LAME library for MP3 encoding.
......
...@@ -595,6 +595,7 @@ OBJS-$(CONFIG_WTV_DEMUXER) += mpeg4audio.o mpegaudiodata.o ...@@ -595,6 +595,7 @@ OBJS-$(CONFIG_WTV_DEMUXER) += mpeg4audio.o mpegaudiodata.o
# external codec libraries # external codec libraries
OBJS-$(CONFIG_LIBFAAC_ENCODER) += libfaac.o audio_frame_queue.o OBJS-$(CONFIG_LIBFAAC_ENCODER) += libfaac.o audio_frame_queue.o
OBJS-$(CONFIG_LIBFDK_AAC_ENCODER) += libfdk-aacenc.o audio_frame_queue.o
OBJS-$(CONFIG_LIBGSM_DECODER) += libgsm.o OBJS-$(CONFIG_LIBGSM_DECODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_ENCODER) += libgsm.o OBJS-$(CONFIG_LIBGSM_ENCODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_MS_DECODER) += libgsm.o OBJS-$(CONFIG_LIBGSM_MS_DECODER) += libgsm.o
......
...@@ -380,6 +380,7 @@ void avcodec_register_all(void) ...@@ -380,6 +380,7 @@ void avcodec_register_all(void)
/* external libraries */ /* external libraries */
REGISTER_ENCODER (LIBFAAC, libfaac); REGISTER_ENCODER (LIBFAAC, libfaac);
REGISTER_ENCODER (LIBFDK_AAC, libfdk_aac);
REGISTER_ENCDEC (LIBGSM, libgsm); REGISTER_ENCDEC (LIBGSM, libgsm);
REGISTER_ENCDEC (LIBGSM_MS, libgsm_ms); REGISTER_ENCDEC (LIBGSM_MS, libgsm_ms);
REGISTER_ENCDEC (LIBILBC, libilbc); REGISTER_ENCDEC (LIBILBC, libilbc);
......
This diff is collapsed.
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
*/ */
#define LIBAVCODEC_VERSION_MAJOR 54 #define LIBAVCODEC_VERSION_MAJOR 54
#define LIBAVCODEC_VERSION_MINOR 18 #define LIBAVCODEC_VERSION_MINOR 19
#define LIBAVCODEC_VERSION_MICRO 0 #define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
......
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