]> git.sesse.net Git - vlc/blobdiff - contrib/src/ffmpeg/rules.mak
Revert "contrib: ffmpeg: fix OSX linking with vda enabled"
[vlc] / contrib / src / ffmpeg / rules.mak
index 1f2e3177aeeaac3357e57ceda647e8a4f2818cf5..45dc3798af798cc39b97585ec3be760f68ac1b1c 100644 (file)
@@ -1,14 +1,15 @@
 # FFmpeg
 
-FFMPEG_VERSION=0.4.8
-FFMPEG_URL=$(SF)/ffmpeg/ffmpeg-$(FFMPEG_VERSION).tar.gz
-FFMPEG_SVN=svn://svn.ffmpeg.org/ffmpeg/trunk
-FFMPEG_SVN_REV=26400
+FFMPEG_SNAPURL := http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=HEAD;sf=tgz
+#FFMPEG_SNAPURL := http://git.libav.org/?p=libav.git;a=snapshot;h=HEAD;sf=tgz
 
-
-FFMPEGCONF = --cc="$(CC)" \
+FFMPEGCONF = \
+       --cc="$(CC)" \
        --disable-doc \
        --disable-decoder=libvpx \
+       --enable-libgsm \
+       --enable-libvpx \
+       --enable-libopenjpeg \
        --disable-debug \
        --enable-gpl \
        --enable-postproc \
@@ -16,33 +17,25 @@ FFMPEGCONF = --cc="$(CC)" \
        --disable-ffserver \
        --disable-ffmpeg \
        --disable-ffplay \
+       --disable-avconv \
        --disable-devices \
        --disable-protocols \
        --disable-avfilter \
        --disable-network
+DEPS_ffmpeg = zlib gsm vpx $(DEPS_vpx) openjpeg
 
 # Optional dependencies
 ifdef BUILD_ENCODERS
-# TODO:
-#FFMPEGCONF+= --enable-libmp3lame
-#.ffmpeg: .lame
-#PKGS += lame
+FFMPEGCONF += --enable-libmp3lame
+DEPS_ffmpeg += lame $(DEPS_lame)
 else
 FFMPEGCONF += --disable-encoders --disable-muxers
 # XXX: REVISIT --enable-small ?
 endif
 
-#FFMPEGCONF+= --enable-libgsm
-#.ffmpeg: .gsm
-#PKGS += gsm
-
-#FFMPEGCONF += --enable-libvpx
-#.ffmpeg: .vpx
-#PKGS += vpx
-
 # XXX: REVISIT
 #ifndef HAVE_FPU
-#FFMPEGCONF+= --disable-mpegaudio-hp
+#FFMPEGCONF += --disable-mpegaudio-hp
 #endif
 
 ifdef HAVE_CROSS_COMPILE
@@ -52,12 +45,6 @@ endif
 # ARM stuff
 ifeq ($(ARCH),arm)
 FFMPEGCONF += --disable-runtime-cpudetect
-# TODO: define HAVE_ARM_NEON or something
-ifdef HAVE_ARM_NEON
-# XXX: REVISIT choice of CPU?
-FFMPEGCONF += --cpu=cortex-a8 --enable-neon
-endif
-# TODO: --enable-iwmmxt if anyone still cares
 endif
 
 # Darwin
@@ -72,8 +59,6 @@ endif
 ifeq ($(ARCH),x86_64)
 FFMPEGCONF += --cpu=core2
 endif
-.ffmpeg: .yasm
-PKGS += yasm
 endif
 
 # Linux
@@ -83,20 +68,16 @@ endif
 
 # Windows
 ifdef HAVE_WIN32
+DEPS_ffmpeg += directx
 FFMPEGCONF += --target-os=mingw32 --enable-memalign-hack
 FFMPEGCONF += --enable-w32threads \
        --disable-bzlib --disable-bsfs \
-       --disable-decoder=dca --disable-encoder=vorbis
+       --disable-decoder=dca --disable-encoder=vorbis \
+       --enable-dxva2
 
 ifdef HAVE_WIN64
-FFMPEGCONF += --disable-dxva2
-
 FFMPEGCONF += --cpu=athlon64 --arch=x86_64
 else # !WIN64
-FFMPEGCONF += --enable-dxva2
-.ffmpeg: .directx
-PKGS += directx
-
 FFMPEGCONF+= --cpu=i686 --arch=x86
 endif
 else
@@ -115,35 +96,29 @@ FFMPEG_CFLAGS += --std=gnu99
 # Build
 
 PKGS += ffmpeg
+ifeq ($(call need_pkg,"libavcodec libavformat libswscale"),)
+PKGS_FOUND += ffmpeg
+endif
 
-ffmpeg-$(FFMPEG_VERSION).tar.gz:
-       $(error FFmpeg snapshot is too old, VCS must be used!)
-       $(call download,$(FFMPEG_URL))
-
-$(TARBALLS)/ffmpeg-svn.tar.gz:
-       $(SVN) export $(FFMPEG_SVN) ffmpeg-svn
-       tar cvz ffmpeg-svn > $@
+$(TARBALLS)/ffmpeg-git.tar.gz:
+       $(call download,$(FFMPEG_SNAPURL))
 
-FFMPEG_VERSION := svn
+FFMPEG_VERSION := git
 
 .sum-ffmpeg: $(TARBALLS)/ffmpeg-$(FFMPEG_VERSION).tar.gz
        $(warning Not implemented.)
        touch $@
 
 ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz .sum-ffmpeg
-       $(UNPACK)
-ifdef HAVE_WIN64
-       (cd $@-$(FFMPEG_VERSION)/libswscale && patch -p0) < $(SRC)/ffmpeg/ffmpeg-win64.patch
-endif
+       rm -Rf $@ $@-git
+       mkdir -p $@-git
+       $(ZCAT) "$<" | (cd $@-git && tar xv --strip-components=1)
 ifdef HAVE_WIN32
        sed -i "s/std=c99/std=gnu99/" $@-$(FFMPEG_VERSION)/configure
 endif
-       (cd $@-$(FFMPEG_VERSION) && patch -p1) < $(SRC)/ffmpeg/libavformat-ape.c.patch
-       mv $@-$(FFMPEG_VERSION) $@
-       touch $@
+       $(MOVE)
 
 .ffmpeg: ffmpeg
-       # TODO: .zlib
        cd $< && $(HOSTVARS) ./configure \
                --extra-cflags="$(FFMPEG_CFLAGS) -DHAVE_STDINT_H"  \
                --extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) \