ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup

Also makes the following changes:

Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.

Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size

Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html

Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.

Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same

Correct @BUILD_PATENTED flags for libffmpeg variants

Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
This commit is contained in:
Ian Leonard
2017-02-07 20:17:33 -08:00
committed by Ted Hess
parent 9c176d0b35
commit edc982430c
2 changed files with 143 additions and 42 deletions
+43 -5
View File
@@ -1,9 +1,37 @@
if PACKAGE_libffmpeg-custom
comment "Build Licensing"
config FFMPEG_CUSTOM_GPL
bool "Allow use of GPL code"
help
By default, FFMpeg is licensed under the LGPL. This builds a GPL licensed version.
Some software requires this, such as libx264.
default y
config FFMPEG_CUSTOM_GPLV3
bool "Use (L)GPL v3"
help
Uses the LPGL v3 if GPL isn't selected, or GPL v3 if it is.
config FFMPEG_CUSTOM_NONFREE
bool "Use code with complex licensing requirements; see help"
help
This sets --enable-nonfree, which in almost all cases, will prohibit redistribution of the resulting package.
Use this with care.
default n
config FFMPEG_CUSTOM_PATENTED
bool "Include patented codecs and technologies"
default BUILD_PATENTED
comment "Build Properties"
config FFMPEG_CUSTOM_LARGE
bool "Build libffmpeg for performance instead of minimizing size on disk"
default y if ( x86_64 )
default n
comment "Profiles"
config FFMPEG_CUSTOM_FFSERVER_SUPPORT
@@ -105,8 +133,14 @@ config FFMPEG_CUSTOM_AUDIO_DEC_SUPPORT
comment "External Libraries"
config FFMPEG_CUSTOM_SELECT_mp3lame
bool "MP3 LAME"
config FFMPEG_CUSTOM_SELECT_libfdk-aac
bool "Fraunhofer FDK AAC encoding library (libfdk-aac)"
depends on FFMPEG_CUSTOM_NONFREE
depends on FFMPEG_CUSTOM_PATENTED
depends on PACKAGE_fdk-aac
config FFMPEG_CUSTOM_SELECT_libmp3lame
bool "Libmp3lame"
depends on FFMPEG_CUSTOM_PATENTED
depends on PACKAGE_lame-lib
select FFMPEG_CUSTOM_DECODER_mp3
@@ -114,11 +148,15 @@ config FFMPEG_CUSTOM_SELECT_mp3lame
select FFMPEG_CUSTOM_DEMUXER_mp3
config FFMPEG_CUSTOM_SELECT_libopus
bool "Opus"
bool "Libopus"
config FFMPEG_CUSTOM_SELECT_x264
bool "x264"
config FFMPEG_CUSTOM_SELECT_libshine
bool "Libshine"
config FFMPEG_CUSTOM_SELECT_libx264
bool "Libx264"
depends on FFMPEG_CUSTOM_PATENTED
depends on FFMPEG_CUSTOM_GPL
depends on PACKAGE_libx264
select FFMPEG_CUSTOM_DECODER_h264
select FFMPEG_CUSTOM_MUXER_h264