[package] ffmpeg: Allow for more configurable FFmpeg build options (#7837, #8465)
authorFlorian Fainelli <florian@openwrt.org>
Fri, 30 Sep 2011 12:48:57 +0000 (12:48 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Fri, 30 Sep 2011 12:48:57 +0000 (12:48 +0000)
This patch allows broad control over FFmpeg's libav* build configuration
and fixes a typo in ffprobe's install section.

The patch resolves #7837 as the choice of building a full libav* is available.
This should also resolve #8465 as input devices such as cameras can be enabled.

The files created by a full libav* build will be large (several megabytes) and
not recommended for end users. Its use could help debugging other issues to
learn whether the problem is the openwrt build configuration or another cause.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
SVN-Revision: 28323

multimedia/ffmpeg/Config.in
multimedia/ffmpeg/Makefile

index 69950b1cc738bbcbe0420c0077d3ebde9fb8713c..e2b9c633d6e3eaeac5b4f2dd6303f1971df17fb4 100644 (file)
@@ -1,18 +1,60 @@
 menu "Configuration"
        depends PACKAGE_libffmpeg
 
-config FFMPEG_ENCODE
-       bool "Big Toggle for FFmpeg's encoder/muxer support"
+comment "Libav* build options ---"
+
+config FFMPEG_LIBAV_FULL
+       bool "Toggle for full libav* support"
+       select FFMPEG_BSFS
+       select FFMPEG_DECODE
+       select FFMPEG_ENCODE
+       select FFMPEG_FILTERS
+       select FFMPEG_INDEVS
+       select FFMPEG_OUTDEVS
+       select FFMPEG_HWACCELS
+       select FFMPEG_PARSERS
+       select FFMPEG_PROTOCOLS
        depends FFMPEG_PATENTED
+       help
+         This options selects each of the FFmpeg's toggles to create a full build
+         of the libav* libraries. Note: This is a large binary and not suitable
+         for most users.
+
+config FFMPEG_BSFS
+       bool "Toggle for FFmpeg's bitstream filter support"
 
 config FFMPEG_DECODE
-       bool "Big Toggle for FFmpeg's decoder/demuxer support"
+       bool "Toggle for FFmpeg's decoder/demuxer support"
        depends FFMPEG_PATENTED
 
+config FFMPEG_ENCODE
+       bool "Toggle for FFmpeg's encoder/muxer support"
+       depends FFMPEG_PATENTED
+
+config FFMPEG_FILTERS
+       bool "Toggle for FFmpeg's video processing filter support"
+
+config FFMPEG_INDEVS
+       bool "Toggle for FFmpeg's input device (camera, etc) support"
+
+config FFMPEG_OUTDEVS
+       bool "Toggle for FFmpeg's output device support"
+
+config FFMPEG_HWACCELS
+       bool "Toggle for FFmpeg's video hardware acceleration support"
+
+config FFMPEG_PARSERS
+       bool "Toggle for FFmpeg's stream parsing support"
+
+config FFMPEG_PROTOCOLS
+       bool "Toggle for FFmpeg's protocol support"
+
 config FFMPEG_PATENTED
        bool "Include patented codecs and technologies"
        default BUILD_PATENTED
 
+comment "Package Profiles ---"
+
 config FFMPEG_FFSERVER_SUPPORT
        bool "Include support for ffserver (FFmpeg streaming server)"
        select FFMPEG_MUXER_ffm
index 9744defffe32c52053d2724618e728ee6501c9ae..79a5e8b9aff5a860882def62b959430dd4d9d7df 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ffmpeg
 PKG_VERSION:=0.8.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://ffmpeg.org/releases/
@@ -239,12 +239,13 @@ define Build/Configure
                --enable-postproc \
                --enable-swscale \
                \
-               --disable-bsfs \
-               --disable-devices \
-               --disable-filters \
-               --disable-hwaccels \
-               --disable-parsers \
-               --disable-protocols \
+               $(if $(CONFIG_FFMPEG_BSFS),,--disable-bsfs) \
+               $(if $(CONFIG_FFMPEG_OUTDEVS),,--disable-outdevs) \
+               $(if $(CONFIG_FFMPEG_INDEVS),,--disable-indevs) \
+               $(if $(CONFIG_FFMPEG_FILTERS),,--disable-filters) \
+               $(if $(CONFIG_FFMPEG_HWACCELS),,--disable-hwaccels) \
+               $(if $(CONFIG_FFMPEG_PARSERS),,--disable-parsers) \
+               $(if $(CONFIG_FFMPEG_PROTOCOLS),,--disable-protocols) \
                $(if $(CONFIG_FFMPEG_ENCODE),,--disable-encoders --disable-muxers) \
                $(if $(CONFIG_FFMPEG_DECODE),,--disable-decoders --disable-demuxers) \
                $(FFMPEG_CONFIGURE_ENCODERS) \