[FFmpeg-cvslog] r19133 - in branches/0.5: . Changelog LICENSE configure doc/general.texi libavcodec/Makefile libavcodec/allcodecs.c libavcodec/libopencore-amr.c

diego subversion
Sun Jun 7 22:14:56 CEST 2009


Author: diego
Date: Sun Jun  7 22:14:56 2009
New Revision: 19133

Log:
Merge OpenCORE AMR support from trunk.

Added:
   branches/0.5/libavcodec/libopencore-amr.c
      - copied unchanged from r19117, trunk/libavcodec/libopencore-amr.c
Modified:
   branches/0.5/   (props changed)
   branches/0.5/Changelog
   branches/0.5/LICENSE
   branches/0.5/configure
   branches/0.5/doc/general.texi
   branches/0.5/libavcodec/Makefile
   branches/0.5/libavcodec/allcodecs.c

Modified: branches/0.5/Changelog
==============================================================================
--- branches/0.5/Changelog	Sun Jun  7 21:30:54 2009	(r19132)
+++ branches/0.5/Changelog	Sun Jun  7 22:14:56 2009	(r19133)
@@ -9,6 +9,7 @@ version 0.5.1:
 - fix for GPL code in libswscale that was erroneously activated
 - AltiVec code in libswscale is now LGPL
 - remaining GPL parts in AC-3 decoder converted to LGPL
+- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
 
 
 

Modified: branches/0.5/LICENSE
==============================================================================
--- branches/0.5/LICENSE	Sun Jun  7 21:30:54 2009	(r19132)
+++ branches/0.5/LICENSE	Sun Jun  7 22:14:56 2009	(r19133)
@@ -39,6 +39,11 @@ Some external libraries, e.g. libx264, a
 conjunction with FFmpeg. They require --enable-gpl to be passed to configure
 as well.
 
+The OpenCORE external libraries are under the Apache License 2.0. That license
+is incompatible with the LGPL v2.1 and the GPL v2, but not with version 3 of
+those licenses. So to combine the OpenCORE libraries with FFmpeg, the license
+version needs to be upgraded by passing --enable-version3 to configure.
+
 The nonfree external libraries libamrnb, libamrwb and libfaac can be hooked up
 in FFmpeg. You need to pass --enable-nonfree to configure to enable them. Employ
 this option with care as FFmpeg then becomes nonfree and unredistributable.

Modified: branches/0.5/configure
==============================================================================
--- branches/0.5/configure	Sun Jun  7 21:30:54 2009	(r19132)
+++ branches/0.5/configure	Sun Jun  7 22:14:56 2009	(r19133)
@@ -149,6 +149,8 @@ show_help(){
   echo "  --enable-bzlib           enable bzlib [autodetect]"
   echo "  --enable-libamr-nb       enable libamr-nb floating point audio codec [no]"
   echo "  --enable-libamr-wb       enable libamr-wb floating point audio codec [no]"
+  echo "  --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]"
+  echo "  --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]"
   echo "  --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394"
   echo "                           and libraw1394 [no]"
   echo "  --enable-libdirac        enable Dirac support via libdirac [no]"
@@ -780,6 +782,8 @@ CONFIG_LIST="
     libgsm
     libmp3lame
     libnut
+    libopencore_amrnb
+    libopencore_amrwb
     libopenjpeg
     libschroedinger
     libspeex
@@ -1079,6 +1083,9 @@ libgsm_encoder_deps="libgsm"
 libgsm_ms_decoder_deps="libgsm"
 libgsm_ms_encoder_deps="libgsm"
 libmp3lame_encoder_deps="libmp3lame"
+libopencore_amrnb_decoder_deps="libopencore_amrnb"
+libopencore_amrnb_encoder_deps="libopencore_amrnb"
+libopencore_amrwb_decoder_deps="libopencore_amrwb"
 libopenjpeg_decoder_deps="libopenjpeg"
 libschroedinger_decoder_deps="libschroedinger"
 libschroedinger_encoder_deps="libschroedinger"
@@ -1699,6 +1706,9 @@ die_license_disabled nonfree libamr_nb
 die_license_disabled nonfree libamr_wb
 die_license_disabled nonfree libfaac
 
+die_license_disabled version3 libopencore_amrnb
+die_license_disabled version3 libopencore_amrwb
+
 enabled version3 && { enabled gpl && enable gplv3 || enable lgplv3; }
 
 check_deps $ARCH_EXT_LIST
@@ -1990,6 +2000,8 @@ enabled libfaad    && require2 libfaad f
 enabled libgsm     && require  libgsm gsm.h gsm_create -lgsm
 enabled libmp3lame && require  libmp3lame lame/lame.h lame_init -lmp3lame -lm
 enabled libnut     && require  libnut libnut.h nut_demuxer_init -lnut
+enabled libopencore_amrnb  && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb -lm
+enabled libopencore_amrwb  && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb -lm
 enabled libopenjpeg && require libopenjpeg openjpeg.h opj_version -lopenjpeg
 enabled libschroedinger && add_cflags $(pkg-config --cflags schroedinger-1.0) &&
                            require libschroedinger schroedinger/schro.h schro_init $(pkg-config --libs schroedinger-1.0)
@@ -2317,6 +2329,8 @@ echo "libfaad dlopened          ${libfaa
 echo "libgsm enabled            ${libgsm-no}"
 echo "libmp3lame enabled        ${libmp3lame-no}"
 echo "libnut enabled            ${libnut-no}"
+echo "libopencore-amrnb support ${libopencore_amrnb-no}"
+echo "libopencore-amrwb support ${libopencore_amrwb-no}"
 echo "libopenjpeg enabled       ${libopenjpeg-no}"
 echo "libschroedinger enabled   ${libschroedinger-no}"
 echo "libspeex enabled          ${libspeex-no}"

Modified: branches/0.5/doc/general.texi
==============================================================================
--- branches/0.5/doc/general.texi	Sun Jun  7 21:30:54 2009	(r19132)
+++ branches/0.5/doc/general.texi	Sun Jun  7 22:14:56 2009	(r19133)
@@ -18,7 +18,22 @@ explicitly requested by passing the appr
 
 AMR comes in two different flavors, wideband and narrowband. FFmpeg can make
 use of the AMR wideband (floating-point mode) and the AMR narrowband
-(floating-point mode) reference decoders and encoders.
+(floating-point mode) reference decoders and encoders (libamr) as well as
+the OpenCORE libraries for AMR-NB decoding/encoding and AMR-WB decoding.
+
+ at subsection OpenCORE
+
+Go to @url{http://gitorious.org/opencore-amr/} and follow the instructions for
+installing the libraries. Then pass @code{--enable-libopencore-amrnb} and/or
+ at code{--enable-libopencore-amrwb} to configure to enable the libraries.
+
+Note that OpenCORE is under the Apache License 2.0 (see
+ at url{http://www.apache.org/licenses/LICENSE-2.0} for details), which is
+incompatible with the LGPL version 2.1 and GPL version 2. You have to
+upgrade FFmpeg's license to LGPL version 3 (or if you have enabled
+GPL components, GPL version 3) to use it.
+
+ at subsection libamr
 
 Go to @url{http://www.penguin.cz/~utx/amr} and follow the instructions for
 installing the libraries. Then pass @code{--enable-libamr-nb} and/or
@@ -511,9 +526,10 @@ following image formats are supported:
     @tab Used in Westwood Studios games like Command and Conquer.
 @item ADPCM Yamaha           @tab  X  @tab  X
 @item AMR-NB                 @tab  E  @tab  E
-    @tab supported through external library libamrnb
+    @tab supported through external libraries libamrnb and libopencore-amrnb
 @item AMR-WB                 @tab  E  @tab  E
-    @tab supported through external library libamrwb
+    @tab decoding supported through external libraries libamrwb and libopencore-amrwb,
+         encoding supported through external library libamrwb
 @item Apple lossless audio   @tab  X  @tab  X
     @tab QuickTime fourcc 'alac'
 @item Atrac 3                @tab     @tab  X

Modified: branches/0.5/libavcodec/Makefile
==============================================================================
--- branches/0.5/libavcodec/Makefile	Sun Jun  7 21:30:54 2009	(r19132)
+++ branches/0.5/libavcodec/Makefile	Sun Jun  7 22:14:56 2009	(r19133)
@@ -366,6 +366,8 @@ OBJS-$(CONFIG_LIBFAAC)                 +
 OBJS-$(CONFIG_LIBFAAD)                 += libfaad.o
 OBJS-$(CONFIG_LIBGSM)                  += libgsm.o
 OBJS-$(CONFIG_LIBMP3LAME)              += libmp3lame.o
+OBJS-$(CONFIG_LIBOPENCORE_AMRNB)       += libopencore-amr.o
+OBJS-$(CONFIG_LIBOPENCORE_AMRWB)       += libopencore-amr.o
 OBJS-$(CONFIG_LIBOPENJPEG)             += libopenjpeg.o
 OBJS-$(CONFIG_LIBSCHROEDINGER_DECODER) += libschroedingerdec.o libschroedinger.o libdirac_libschro.o
 OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER) += libschroedingerenc.o libschroedinger.o libdirac_libschro.o

Modified: branches/0.5/libavcodec/allcodecs.c
==============================================================================
--- branches/0.5/libavcodec/allcodecs.c	Sun Jun  7 21:30:54 2009	(r19132)
+++ branches/0.5/libavcodec/allcodecs.c	Sun Jun  7 22:14:56 2009	(r19133)
@@ -294,6 +294,8 @@ void avcodec_register_all(void)
     REGISTER_ENCDEC  (LIBGSM, libgsm);
     REGISTER_ENCDEC  (LIBGSM_MS, libgsm_ms);
     REGISTER_ENCODER (LIBMP3LAME, libmp3lame);
+    REGISTER_ENCDEC  (LIBOPENCORE_AMRNB, libopencore_amrnb);
+    REGISTER_DECODER (LIBOPENCORE_AMRWB, libopencore_amrwb);
     REGISTER_DECODER (LIBOPENJPEG, libopenjpeg);
     REGISTER_ENCDEC  (LIBSCHROEDINGER, libschroedinger);
     REGISTER_DECODER (LIBSPEEX, libspeex);



More information about the ffmpeg-cvslog mailing list