]> git.sesse.net Git - vlc/blobdiff - contrib/src/ffmpeg/rules.mak
contrib: ffmpeg: fix OSX linking with vda enabled
[vlc] / contrib / src / ffmpeg / rules.mak
index c40a9cec00eb69161d7d2f19744cb18f746909d2..7af652e33419bd5ebafee54f484b59dc9275048c 100644 (file)
@@ -1,15 +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)" \
        --disable-doc \
        --disable-decoder=libvpx \
-       --enable-gsm \
+       --enable-libgsm \
+       --enable-libvpx \
+       --enable-libopenjpeg \
        --disable-debug \
        --enable-gpl \
        --enable-postproc \
@@ -17,25 +17,22 @@ FFMPEGCONF = \
        --disable-ffserver \
        --disable-ffmpeg \
        --disable-ffplay \
+       --disable-avconv \
        --disable-devices \
        --disable-protocols \
        --disable-avfilter \
        --disable-network
-DEPS_ffmpeg = zlib gsm
+DEPS_ffmpeg = zlib gsm vpx $(DEPS_vpx) openjpeg
 
 # Optional dependencies
 ifdef BUILD_ENCODERS
-# TODO:
-#FFMPEGCONF += --enable-libmp3lame
-#DEPS_ffmpeg += lame $(DEPS_lame)
+FFMPEGCONF += --enable-libmp3lame
+DEPS_ffmpeg += lame $(DEPS_lame)
 else
 FFMPEGCONF += --disable-encoders --disable-muxers
 # XXX: REVISIT --enable-small ?
 endif
 
-#FFMPEGCONF += --enable-libvpx
-#DEPS_ffmpeg += vpx $(DEPS_vpx)
-
 # XXX: REVISIT
 #ifndef HAVE_FPU
 #FFMPEGCONF += --disable-mpegaudio-hp
@@ -62,7 +59,6 @@ endif
 ifeq ($(ARCH),x86_64)
 FFMPEGCONF += --cpu=core2
 endif
-DEPS_ffmpeg += yasm $(DEPS_yasm)
 endif
 
 # Linux
@@ -72,19 +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
-DEPS_ffmpeg += directx
-
 FFMPEGCONF+= --cpu=i686 --arch=x86
 endif
 else
@@ -107,29 +100,23 @@ 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
-       $(APPLY) $(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
-       $(APPLY) $(SRC)/ffmpeg/libavformat-ape.c.patch
+       $(APPLY) $(SRC)/ffmpeg/vda.patch
        $(MOVE)
 
 .ffmpeg: ffmpeg