X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=contrib%2Fsrc%2Fffmpeg%2Frules.mak;h=6e1002848aa6992c9c48c09b79589ae540fcd95c;hb=14fa9f281c28432811f2804c29c2061ca6c127cb;hp=4b38fc4084c48cc4d60c3a51599791694caae896;hpb=d3b37eef0ef3d5923d1e39fa150d0ebbffe94a88;p=vlc diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak index 4b38fc4084..6e1002848a 100644 --- a/contrib/src/ffmpeg/rules.mak +++ b/contrib/src/ffmpeg/rules.mak @@ -1,19 +1,19 @@ # FFmpeg -#FFMPEG_SNAPURL := http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=570f6aaab12e2bc;sf=tgz -FFMPEG_SNAPURL := http://git.libav.org/?p=libav.git;a=snapshot;h=570f6aaab12e2bc;sf=tgz +#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 \ + --disable-decoder=bink \ --enable-libgsm \ --enable-libopenjpeg \ --disable-debug \ - --enable-gpl \ - --enable-postproc \ + --disable-avdevice \ --disable-devices \ - --disable-avfilter + --disable-avfilter \ + --disable-filters # Those tools are named differently in FFmpeg and Libav # --disable-ffserver \ @@ -23,37 +23,47 @@ DEPS_ffmpeg = zlib gsm openjpeg # Optional dependencies ifdef BUILD_ENCODERS -FFMPEGCONF += --enable-libmp3lame --enable-libvpx +FFMPEGCONF += --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx DEPS_ffmpeg += lame $(DEPS_lame) vpx $(DEPS_vpx) else FFMPEGCONF += --disable-encoders --disable-muxers -# XXX: REVISIT --enable-small ? endif -# XXX: REVISIT -#ifndef HAVE_FPU -#FFMPEGCONF += --disable-mpegaudio-hp -#endif +ifdef ENABLE_SMALL +FFMPEGCONF += --enable-small --optflags=-O2 +ifeq ($(ARCH),arm) +ifdef HAVE_ARMV7A +# XXX: assumes > ARMv7-A, and thus thumb2-able +FFMPEGCONF += --enable-thumb +endif +endif +endif ifdef HAVE_CROSS_COMPILE -FFMPEGCONF += --enable-cross-compile --cross-prefix=$(HOST)- +FFMPEGCONF += --enable-cross-compile +ifndef HAVE_IOS +FFMPEGCONF += --cross-prefix=$(HOST)- +endif endif # ARM stuff ifeq ($(ARCH),arm) -FFMPEGCONF += --disable-runtime-cpudetect --arch=arm +FFMPEGCONF += --arch=arm ifdef HAVE_NEON FFMPEGCONF += --cpu=cortex-a8 --enable-neon -FFMPEG_CFLAGS +=-mfloat-abi=softfp -mfpu=neon +FFMPEG_CFLAGS += -mfpu=neon endif endif +# x86 stuff +ifeq ($(ARCH),i386) +FFMPEGCONF += --arch=x86 +endif + # Darwin ifdef HAVE_DARWIN_OS FFMPEGCONF += --arch=$(ARCH) --target-os=darwin FFMPEG_CFLAGS += -DHAVE_LRINTF -endif -ifdef HAVE_MACOSX ifneq ($(findstring $(ARCH),i386 x86_64),) FFMPEGCONF += --enable-memalign-hack endif @@ -61,15 +71,31 @@ ifeq ($(ARCH),x86_64) FFMPEGCONF += --cpu=core2 endif endif +ifdef HAVE_IOS +FFMPEGCONF += --enable-pic --as="$(AS)" --disable-decoder=snow +endif # Linux ifdef HAVE_LINUX FFMPEGCONF += --target-os=linux --enable-pic + +ifeq ($(ANDROID_ABI), x86) +ifdef HAVE_ANDROID +# Android-x86 gcc doesn't guarantee an aligned stack, but this is +# handled by __attribute__((force_align_arg_pointer)) in libavcodec +# already, so we tell gcc to assume this alignment, so we don't need +# to waste a precious register in assembly functions to realign it. +FFMPEG_CFLAGS += -mincoming-stack-boundary=4 +endif # HAVE_ANDROID +endif # x86 + endif # Windows ifdef HAVE_WIN32 +ifndef HAVE_MINGW_W64 DEPS_ffmpeg += directx +endif FFMPEGCONF += --target-os=mingw32 --enable-memalign-hack FFMPEGCONF += --enable-w32threads \ --disable-bzlib --disable-bsfs \ @@ -85,19 +111,10 @@ else FFMPEGCONF += --enable-pthreads endif -ifdef HAVE_WINCE -FFMPEGCONF += --target-os=mingw32ce --arch=armv4l --cpu=armv4t \ - --disable-decoder=snow --disable-decoder=vc9 \ - --disable-decoder=wmv3 --disable-decoder=vorbis \ - --disable-decoder=dvdsub --disable-decoder=dvbsub -endif - -FFMPEG_CFLAGS += --std=gnu99 - # Build PKGS += ffmpeg -ifeq ($(call need_pkg,"libavcodec libavformat libswscale"),) +ifeq ($(call need_pkg,"libavcodec >= 52.25.0 libavformat >= 52.30.0 libswscale"),) PKGS_FOUND += ffmpeg endif @@ -114,14 +131,10 @@ ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz .sum-ffmpeg 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 $(MOVE) .ffmpeg: ffmpeg cd $< && $(HOSTVARS) ./configure \ - --extra-cflags="$(FFMPEG_CFLAGS) -DHAVE_STDINT_H" \ --extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) \ --prefix="$(PREFIX)" --enable-static --disable-shared cd $< && $(MAKE) install-libs install-headers