error_resilience: guess_dc: check malloc failure
[ffmpeg.git] / LICENSE
diff --git a/LICENSE b/LICENSE
index 7cb34d7..b98b5d3 100644 (file)
--- a/LICENSE
+++ b/LICENSE
@@ -1,33 +1,81 @@
+FFmpeg:
+
 Most files in FFmpeg are under the GNU Lesser General Public License version 2.1
-or later (LGPL v2.1+). Read the file COPYING.LGPL for details. Some other files
-have a MIT/X11/BSD-style license. In combination the LGPL v2.1+ applies to
+or later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other
+files have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to
 FFmpeg.
 
 Some optional parts of FFmpeg are licensed under the GNU General Public License
-version 2 or later (GPL v2+). See the file COPYING.GPL for details. None of
+version 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of
 these parts are used by default, you have to explicitly pass --enable-gpl to
 configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
 
 Specifically, the GPL parts of FFmpeg are
 
 - libpostproc
-- some x86 optimizations in libswscale
+- libmpcodecs
 - optional x86 optimizations in the files
-  libavcodec/x86/h264_deblock_sse2.asm
-  libavcodec/x86/h264_idct_sse2.asm
   libavcodec/x86/idct_mmx.c
-- the AC-3 decoder in libavcodec/ac3dec.c
+- libutvideo encoding/decoding wrappers in
+  libavcodec/libutvideo*.cpp
 - the X11 grabber in libavdevice/x11grab.c
+- the swresample test app in
+  libswresample/swresample-test.c
+- the texi2pod.pl tool
+- the following filters in libavfilter:
+    - vf_blackframe.c
+    - vf_boxblur.c
+    - vf_colormatrix.c
+    - vf_cropdetect.c
+    - vf_delogo.c
+    - vf_hqdn3d.c
+    - vf_mp.c
+    - vf_super2xsai.c
+    - vf_tinterlace.c
+    - vf_yadif.c
+    - vsrc_mptestsrc.c
 
-Some external libraries, e.g. libx264, are under GPL and can be used in
-conjunction with FFmpeg. They require --enable-gpl to be passed to configure
-as well.
+There are a handful of files under other licensing terms, namely:
 
-The nonfree external libraries libamrnb and libamrwb 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.
+* The files libavcodec/jfdctfst.c, libavcodec/jfdctint_template.c and
+  libavcodec/jrevdct.c are taken from libjpeg, see the top of the files for
+  licensing details. Specifically note that you must credit the IJG in the
+  documentation accompanying your program if you only distribute executables.
+  You must also indicate any changes including additions and deletions to
+  those three files in the documentation.
 
-There are a handful of files under other licensing terms, namely:
+Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
+the configure parameter --enable-version3 will activate this licensing option
+for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,
+COPYING.GPLv3 to learn the exact legal terms that apply in this case.
+
+
+external libraries
+==================
+
+FFmpeg can be combined with a number of external libraries, which sometimes
+affect the licensing of binaries resulting from the combination.
+
+compatible libraries
+--------------------
+
+The libcdio, libx264, libxavs and libxvid libraries are under GPL. When
+combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
+passing --enable-gpl to configure.
+
+The OpenCORE and VisualOn 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 these libraries with FFmpeg, the
+license version needs to be upgraded by passing --enable-version3 to configure.
+
+incompatible libraries
+----------------------
 
-* The files libavcodec/jfdctfst.c, libavcodec/jfdctint.c, libavcodec/jrevdct.c
-  are taken from libjpeg, see the top of the files for licensing details.
+The Fraunhofer AAC library, FAAC and aacplus are under licenses which
+are incompatible with the GPLv2 and v3. We do not know for certain if their
+licenses are compatible with the LGPL.
+If you wish to enable these libraries, pass --enable-nonfree to configure.
+But note that if you enable any of these libraries the resulting binary will
+be under a complex license mix that is more restrictive than the LGPL and that
+may result in additional obligations. It is possible that these
+restrictions cause the resulting binary to be unredistributeable.