Go to file
Timothy Gu 9ba54c1b82 avcodec: Remove libaacplus
TODO: bump minor

It's inferior in quality to fdk-aac and has an arguably more problematic
license.

As early as 2012, a HydrogenAudio user reported:

> It has however one huge advantage: much better quality at low bitrates than
> faac and libaacplus.

(https://hydrogenaud.io/index.php?PHPSESSID=ckiq394pdglka0kj2fin6ij8t7&topic=95989.msg804633#msg804633)

I myself have made a few spectrograms for a comparison of the two
encoders as well. The FDK output is consistently better than the
libaacplus one, in all bitrates I tested.

libaacplus license is 3GPP + LGPLv2. 3GPP copyright notice is completely
proprietory, as follows:

> No part may be reproduced except as authorized by written permission.
>
> The copyright and the foregoing restriction extend to reproduction in
> all media.
>
> © 2008, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC).
>
> All rights reserved.

(The latest 26410-d00 zip from 3GPP has the same notice, but the copyright
year is changed to 2015)

The copyright part of the FDK AAC license (section 2) is a copyleft
license that permits redistribution under certain conditions (and
therefore the LGPL + libfdk-aac combination is not prohibited by
configure):

> Redistribution and use in source and binary forms, with or without
> modification, are permitted without payment of copyright license fees
> provided that you satisfy the following conditions:
>
> You must retain the complete text of this software license in
> redistributions of the FDK AAC Codec or your modifications thereto in
> source code form.
>
> You must retain the complete text of this software license in the
> documentation and/or other materials provided with redistributions of
> the FDK AAC Codec or your modifications thereto in binary form.
>
> You must make available free of charge copies of the complete source
> code of the FDK AAC Codec and your modifications thereto to recipients
> of copies in binary form.
>
> The name of Fraunhofer may not be used to endorse or promote products
> derived from this library without prior written permission.
>
> You may not charge copyright license fees for anyone to use, copy or
> distribute the FDK AAC Codec software or your modifications thereto.
>
> Your modified versions of the FDK AAC Codec must carry prominent
> notices stating that you changed the software and the date of any
> change. For modified versions of the FDK AAC Codec, the term
> "Fraunhofer FDK AAC Codec Library for Android" must be replaced by the
> term "Third-Party Modified Version of the Fraunhofer FDK AAC Codec
> Library for Android."
2016-01-29 17:14:37 -08:00
compat all: Add missing header guards 2016-01-28 19:49:48 -08:00
doc avcodec: Remove libaacplus 2016-01-29 17:14:37 -08:00
libavcodec avcodec: Remove libaacplus 2016-01-29 17:14:37 -08:00
libavdevice libavdevice/decklink_common.h: fix broken build due to missing / 2016-01-29 13:29:47 +01:00
libavfilter all: Add missing header guards 2016-01-28 19:49:48 -08:00
libavformat lavf/flvdec: Allow files where the PreviousTagSize is not set according to the spec. 2016-01-29 22:30:12 +01:00
libavresample Merge commit 'cc4c24208159200b7aff5b5c313903c7f23fa345' 2016-01-02 10:13:58 +01:00
libavutil libavutil/mastering_display_metadata.h: change fields to be rationals as this is how they are typically coded. 2016-01-29 19:08:52 +01:00
libpostproc Merge commit 'e88103a7f92cf27a2868b50acc8a9912f6088249' 2015-09-05 21:35:46 +02:00
libswresample swr/resample: use av_clip_int16 instead of av_clip 2015-12-24 11:29:52 -08:00
libswscale avutil: Rename FF_CEIL_COMPAT to AV_CEIL_COMPAT 2016-01-27 16:36:46 +00:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests lavc/rawdec: Use AV_PIX_FMT_PAL8 for raw 1 bpp video in AVI 2016-01-29 14:52:30 +01:00
tools avcodec: Remove libstagefright 2016-01-06 16:43:06 +00:00
.gitattributes Treat all '*.pnm' files as non-text file 2014-11-28 17:52:43 -05:00
.gitignore build: use a link instead of changing current directory when compiling 2016-01-25 20:43:34 +01:00
.travis.yml Merge commit 'eda183287489b2c705843aa373a19c4e46fb2fec' 2015-11-22 17:12:24 +00:00
arch.mak mips: rename mipsdspr1 to mipsdsp 2015-12-04 02:35:42 +01:00
Changelog avcodec: Remove libaacplus 2016-01-29 17:14:37 -08:00
cmdutils_common_opts.h opts: add list device sources/sinks options 2014-10-25 20:20:31 +02:00
cmdutils_opencl.c all: use FFDIFFSIGN to resolve possible undefined behavior in comparators 2015-11-03 16:28:30 -05:00
cmdutils.c cosmetics: Fix weird indentations 2015-12-07 10:43:43 -08:00
cmdutils.h cmdutils: remove sws_opts usage, simplify code 2015-08-08 16:51:25 +02:00
common.mak build: use a link instead of changing current directory when compiling 2016-01-25 20:43:34 +01:00
configure avcodec: Remove libaacplus 2016-01-29 17:14:37 -08:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
ffmpeg_dxva2.c ffmpeg_dxva2: support vp9 hwaccel 2015-12-07 09:47:51 +01:00
ffmpeg_filter.c ffmpeg_filter: remove redundant null ptr check 2015-11-11 01:51:52 +01:00
ffmpeg_opt.c ffmpeg_opt: Allow -metadata option to set metadata on programs. 2016-01-26 17:36:08 +01:00
ffmpeg_qsv.c Merge commit 'fb472e1a11a4e0caed2c3c91da01ea8e35d9e3f8' 2015-10-22 16:18:02 +02:00
ffmpeg_vdpau.c ffmpeg_vdpau: Ignore decoder's max supported level 2015-08-16 15:02:33 -07:00
ffmpeg_videotoolbox.c ffmpeg/videotoolbox: protect UTGetOSTypeFromString on both VDA and VT 2015-10-15 10:22:31 +02:00
ffmpeg.c ffmpeg: replace "flush Media" with "flush_media" in benchmark_all output 2016-01-29 10:58:18 +01:00
ffmpeg.h ffmpeg: use lavf API for applying bitstream filters 2015-12-28 08:34:30 -06:00
ffplay.c ffplay: update docs after previous changes in ffplay mouse behaviour 2016-01-20 21:23:03 +01:00
ffprobe.c ffprobe: avoid unnecessary pow and exp2 calls 2015-12-29 08:59:16 -08:00
ffserver_config.c ffserver_config: check for INT_MIN before doing FFABS 2015-10-13 19:40:09 -04:00
ffserver_config.h ffserver: Use singlejpeg muxer for jpeg 2015-06-08 03:36:22 +02:00
ffserver.c ffserver: Cast time_t value when using it in a format string. 2015-12-29 16:00:34 +01:00
INSTALL.md
library.mak build: use a link instead of changing current directory when compiling 2016-01-25 20:43:34 +01:00
LICENSE.md avcodec: Remove libaacplus 2016-01-29 17:14:37 -08:00
MAINTAINERS avcodec: Remove libstagefright 2016-01-06 16:43:06 +00:00
Makefile build: use a link instead of changing current directory when compiling 2016-01-25 20:43:34 +01:00
README.md README: replace http with https 2015-10-06 13:27:29 +02:00
RELEASE RELEASE: update to 2.8.git 2015-09-09 23:53:15 -03:00
version.sh version.sh: add note that ffversion.h is auto-generated 2015-10-25 10:14:44 -04:00

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis tool to inspect multimedia content.
  • ffserver is a multimedia streaming server for live broadcasts.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Coding examples are available in the doc/examples directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process. Few developers follow pull requests so they will likely be ignored.