[package] ffmpeg: Allow for more configurable FFmpeg build options (#7837, #8465)
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 30 Sep 2011 12:48:57 +0000 (12:48 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
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>
git-svn-id: svn://svn.openwrt.org/openwrt/packages@28323 3c298f89-4303-0410-b956-a3cf2f4a3e73

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

index 69950b1..e2b9c63 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 9744def..79a5e8b 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) \