Commit 13293407 authored by Luca Ceresoli's avatar Luca Ceresoli Committed by Peter Korsgaard
Browse files

ffmpeg: add new package



[Peter: configure doesn't support --disable-nls / --disable-largefile,
 needs largefile support in toolchain]
Signed-off-by: default avatarLuca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent d2f6fcd1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ source "package/multimedia/alsa-lib/Config.in"
source "package/multimedia/alsa-utils/Config.in"
source "package/multimedia/aumix/Config.in"
source "package/multimedia/flac/Config.in"
source "package/multimedia/ffmpeg/Config.in"
source "package/multimedia/gstreamer/Config.in"
source "package/multimedia/gst-plugins-base/Config.in"
source "package/multimedia/gst-plugins-good/Config.in"
+27 −0
Original line number Diff line number Diff line
comment "ffmpeg requires a toolchain with LARGEFILE support"
	depends on !BR2_LARGEFILE

menuconfig BR2_PACKAGE_FFMPEG
	bool "ffmpeg"
	depends on BR2_LARGEFILE
	help
         FFmpeg is a complete, cross-platform solution to record, convert
         and stream audio and video.

	 http://www.ffmpeg.org

if BR2_PACKAGE_FFMPEG

config BR2_PACKAGE_FFMPEG_GPL
	bool "Enable GPL code"
	help
         allow use of GPL code, the resulting libs and binaries will
         be under GPL

config BR2_PACKAGE_FFMPEG_NONFREE
	bool "Enable nonfree code"
	help
         allow use of nonfree code, the resulting libs and binaries
         will be unredistributable

endif
+70 −0
Original line number Diff line number Diff line
#############################################################
#
# ffmpeg
#
#############################################################
FFMPEG_VERSION := 0.5.2
FFMPEG_SOURCE := ffmpeg-$(FFMPEG_VERSION).tar.bz2
FFMPEG_SITE := http://ffmpeg.org/releases
FFMPEG_INSTALL_STAGING = YES
FFMPEG_INSTALL_TARGET = YES

FFMPEG_CONF_OPT = \
	--prefix=/usr		\
	--enable-shared 	\
	--disable-ffmpeg	\
	--disable-ffplay	\
	--disable-ffserver	\
	--disable-avfilter	\
	--disable-postproc	\
	--disable-swscale	\
	--disable-vhook		\

ifeq ($(BR2_PACKAGE_FFMPEG_GPL),y)
FFMPEG_CONF_OPT += --enable-gpl
else
FFMPEG_CONF_OPT += --disable-gpl
endif

ifeq ($(BR2_PACKAGE_FFMPEG_NONFREE),y)
FFMPEG_CONF_OPT += --enable-nonfree
else
FFMPEG_CONF_OPT += --disable-nonfree
endif

ifeq ($(BR2_PTHREADS_NONE),y)
FFMPEG_CONF_OPT += --disable-pthreads
else
FFMPEG_CONF_OPT += --enable-pthreads
endif

ifeq ($(BR2_PACKAGE_ZLIB),y)
FFMPEG_CONF_OPT += --enable-zlib
FFMPEG_DEPENDENCIES += zlib
else
FFMPEG_CONF_OPT += --disable-zlib
endif

# Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others
define FFMPEG_CONFIGURE_CMDS
	(cd $(FFMPEG_SRCDIR) && rm -rf config.cache && \
	$(TARGET_CONFIGURE_OPTS) \
	$(TARGET_CONFIGURE_ARGS) \
	$(TARGET_CONFIGURE_ENV) \
	$(FFMPEG_CONF_ENV) \
	./configure \
		--enable-cross-compile	\
		--cross-prefix=$(TARGET_CROSS) \
		--sysroot=$(STAGING_DIR) \
		--host-cc=$(HOSTCC) \
		--arch=$(BR2_ARCH) \
		--extra-cflags=-fPIC \
		$(DISABLE_IPV6) \
		$(FFMPEG_CONF_OPT) \
	)
endef

# Override FFMPEG_INSTALL_TARGET_OPT: FFmpeg does not support install-strip
FFMPEG_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install

$(eval $(call AUTOTARGETS,package/multimedia,ffmpeg))