From bb50827b45cc827ed19d04df143abfe144c11539 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Fri, 30 Sep 2011 12:48:57 +0000 Subject: [PATCH] ffmpeg: Allow for more configurable FFmpeg build options (#7837, #8465) 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 SVN-Revision: 28323 --- multimedia/ffmpeg/Config.in | 48 ++++++++++++++++++++++++++++++++++--- multimedia/ffmpeg/Makefile | 15 ++++++------ 2 files changed, 53 insertions(+), 10 deletions(-) diff --git a/multimedia/ffmpeg/Config.in b/multimedia/ffmpeg/Config.in index 69950b1cc..e2b9c633d 100644 --- a/multimedia/ffmpeg/Config.in +++ b/multimedia/ffmpeg/Config.in @@ -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 diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile index 9744defff..79a5e8b9a 100644 --- a/multimedia/ffmpeg/Makefile +++ b/multimedia/ffmpeg/Makefile @@ -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) \ -- 2.30.2