ffmpeg: bump to version 1.2.4
authorBernd Kuhls <berndkuhls@hotmail.com>
Thu, 2 Jan 2014 17:59:44 +0000 (18:59 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 12 Jan 2014 22:58:31 +0000 (23:58 +0100)
Compile tested the following packages which depend on ffmpeg:

freerdp
mpd
gstreamer

For minidlna please see the separate patch for version bump to 1.1.1

Some compile options were taken from OpenELEC:
https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/multimedia/ffmpeg/build

[Peter: fix ARM VFP option, target tune, enable PIC for !static]
Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/ffmpeg/ffmpeg-sdlconfig.patch [deleted file]
package/ffmpeg/ffmpeg.mk

diff --git a/package/ffmpeg/ffmpeg-sdlconfig.patch b/package/ffmpeg/ffmpeg-sdlconfig.patch
deleted file mode 100644 (file)
index 64371b2..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-We need to pass the location sdl-config so that ffmpeg picks it up.
-So just pass the whole string to make things simpler.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura ffmpeg-0.8.7.orig/configure ffmpeg-0.8.7/configure
---- ffmpeg-0.8.7.orig/configure        2011-11-21 16:49:30.000000000 -0300
-+++ ffmpeg-0.8.7/configure     2011-12-02 08:13:36.746619395 -0300
-@@ -2957,7 +2957,7 @@
- enabled libxvid    && require  libxvid xvid.h xvid_global -lxvidcore
- enabled mlib       && require  mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
--SDL_CONFIG="${cross_prefix}sdl-config"
-+SDL_CONFIG="${SDL_CONFIG}"
- if check_pkg_config sdl SDL_version.h SDL_Linked_Version; then
-     check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x010201" $sdl_cflags &&
-     enable sdl &&
index f1fc9202d6f72807c49487e4f719ca5f924f40cd..f7171151623ffd05cfa40ad9fe71829d2f73eb7f 100644 (file)
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-FFMPEG_VERSION = 0.8.15
+FFMPEG_VERSION = 1.2.4
 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.bz2
 FFMPEG_SITE = http://ffmpeg.org/releases
 FFMPEG_INSTALL_STAGING = YES
@@ -18,9 +18,61 @@ endif
 
 FFMPEG_CONF_OPT = \
        --prefix=/usr           \
-       --disable-avfilter      \
+       --enable-avfilter \
+       --disable-debug \
+       --disable-version3 \
+       --enable-logging \
+       --disable-pic \
+       --enable-optimizations \
+       --disable-extra-warnings \
+       --disable-ffprobe \
+       --enable-avdevice \
+       --enable-avcodec \
+       --enable-avformat \
+       --enable-swscale \
+       --enable-postproc \
+       --disable-x11grab \
+       --enable-network \
+       --disable-gray \
+       --enable-swscale-alpha \
+       --disable-small \
+       --enable-dct \
+       --enable-fft \
+       --enable-mdct \
+       --enable-rdft \
+       --disable-crystalhd \
+       --disable-vaapi \
+       --disable-vdpau \
+       --disable-dxva2 \
+       --enable-runtime-cpudetect \
+       --disable-hardcoded-tables \
+       --disable-memalign-hack \
+       --enable-hwaccels \
+       --disable-avisynth \
+       --disable-frei0r \
+       --disable-libopencore-amrnb \
+       --disable-libopencore-amrwb \
+       --disable-libopencv \
+       --disable-libdc1394 \
+       --disable-libfaac \
+       --disable-libfreetype \
+       --disable-libgsm \
+       --disable-libmp3lame \
+       --disable-libnut \
+       --disable-libopenjpeg \
+       --disable-librtmp \
+       --disable-libschroedinger \
+       --disable-libspeex \
+       --disable-libtheora \
+       --disable-libvo-aacenc \
+       --disable-libvo-amrwbenc \
+       --disable-vis \
+       --disable-sram \
+       --disable-symver \
        $(if $(BR2_HAVE_DOCUMENTATION),,--disable-doc)
 
+FFMPEG_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv)
+
 FFMPEG_CFLAGS = $(TARGET_CFLAGS)
 
 ifeq ($(BR2_xtensa),y)
@@ -100,7 +152,7 @@ endif
 
 ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),all)
 FFMPEG_CONF_OPT += --disable-bsfs \
-       $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),--enable-bsf=$(x))
+       $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),--enable-bsfs=$(x))
 endif
 
 ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_PROTOCOLS)),all)
@@ -138,14 +190,58 @@ else
 FFMPEG_CONF_OPT += --disable-zlib
 endif
 
-ifeq ($(BR2_i386)$(BR2_x86_64),y)
-# MMX on is default for x86, disable it for lowly x86-type processors
-ifeq ($(BR2_x86_i386)$(BR2_x86_i486)$(BR2_x86_i586)$(BR2_x86_i686)$(BR2_x86_pentiumpro)$(BR2_x86_geode),y)
+ifeq ($(BR2_PACKAGE_BZIP2),y)
+FFMPEG_CONF_OPT += --enable-bzlib
+FFMPEG_DEPENDENCIES += bzip2
+else
+FFMPEG_CONF_OPT += --disable-bzlib
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+FFMPEG_CONF_OPT += --enable-openssl
+FFMPEG_DEPENDENCIES += openssl
+else
+FFMPEG_CONF_OPT += --disable-openssl
+endif
+
+ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
+FFMPEG_DEPENDENCIES += libvorbis
+FFMPEG_CONF_OPT += \
+       --enable-libvorbis \
+       --enable-muxer=ogg \
+       --enable-encoder=libvorbis
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_MMX),y)
+FFMPEG_CONF_OPT += --enable-yasm
+FFMPEG_DEPENDENCIES += yasm
+else
+FFMPEG_CONF_OPT += --disable-yasm
 FFMPEG_CONF_OPT += --disable-mmx
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSE),y)
+FFMPEG_CONF_OPT += --enable-sse
+else
+FFMPEG_CONF_OPT += --disable-sse
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSE2),y)
+FFMPEG_CONF_OPT += --enable-sse2
 else
-# If it is enabled, nasm is required
-FFMPEG_DEPENDENCIES += host-nasm
+FFMPEG_CONF_OPT += --disable-sse2
 endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSE3),y)
+FFMPEG_CONF_OPT += --enable-sse3
+else
+FFMPEG_CONF_OPT += --disable-sse3
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSSE3),y)
+FFMPEG_CONF_OPT += --enable-ssse3
+else
+FFMPEG_CONF_OPT += --disable-ssse3
 endif
 
 # Explicitly disable everything that doesn't match for ARM
@@ -160,9 +256,9 @@ else
 FFMPEG_CONF_OPT += --disable-armv6 --disable-armv6t2
 endif
 ifeq ($(BR2_arm10)$(BR2_arm1136jf_s)$(BR2_arm1176jz_s)$(BR2_arm1176jzf_s)$(BR2_cortex_a5)$(BR2_cortex_a8)$(BR2_cortex_a9)$(BR2_cortex_a15),y)
-FFMPEG_CONF_OPT += --enable-armvfp
+FFMPEG_CONF_OPT += --enable-vfp
 else
-FFMPEG_CONF_OPT += --disable-armvfp
+FFMPEG_CONF_OPT += --disable-vfp
 endif
 ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
 FFMPEG_CONF_OPT += --enable-neon
@@ -177,6 +273,10 @@ FFMPEG_CONF_OPT += --disable-altivec
 endif
 endif
 
+ifeq ($(BR2_PREFER_STATIC_LIB),)
+FFMPEG_CONF_OPT += --enable-pic
+endif
+
 FFMPEG_CONF_OPT += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF))
 
 # Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others
@@ -191,8 +291,8 @@ define FFMPEG_CONFIGURE_CMDS
                --sysroot=$(STAGING_DIR) \
                --host-cc="$(HOSTCC)" \
                --arch=$(BR2_ARCH) \
-               --target-os=linux \
-               --extra-cflags=-fPIC \
+               --target-os="linux" \
+               $(if $(BR2_GCC_TARGET_TUNE),--cpu=$(BR2_GCC_TARGET_TUNE)) \
                $(SHARED_STATIC_LIBS_OPTS) \
                $(FFMPEG_CONF_OPT) \
        )