4 FFMPEG_URL=$(SF)/ffmpeg/ffmpeg-$(FFMPEG_VERSION).tar.gz
5 FFMPEG_SVN=svn://svn.ffmpeg.org/ffmpeg/trunk
9 FFMPEGCONF = --cc="$(CC)" \
11 --disable-decoder=libvpx \
24 # Optional dependencies
27 #FFMPEGCONF+= --enable-libmp3lame
31 FFMPEGCONF += --disable-encoders --disable-muxers
32 # XXX: REVISIT --enable-small ?
35 #FFMPEGCONF+= --enable-libgsm
39 #FFMPEGCONF += --enable-libvpx
45 #FFMPEGCONF+= --disable-mpegaudio-hp
48 ifdef HAVE_CROSS_COMPILE
49 FFMPEGCONF += --enable-cross-compile --cross-prefix=$(HOST)-
54 FFMPEGCONF += --disable-runtime-cpudetect
55 # TODO: define HAVE_ARM_NEON or something
57 # XXX: REVISIT choice of CPU?
58 FFMPEGCONF += --cpu=cortex-a8 --enable-neon
60 # TODO: --enable-iwmmxt if anyone still cares
65 FFMPEGCONF += --arch=$(ARCH) --target-os=darwin
66 FFMPEG_CFLAGS += -DHAVE_LRINTF
69 ifneq ($(findstring $(ARCH),i386 x86_64),)
70 FFMPEGCONF += --enable-memalign-hack
73 FFMPEGCONF += --cpu=core2
81 FFMPEGCONF += --target-os=linux --enable-pic
86 FFMPEGCONF += --target-os=mingw32 --enable-memalign-hack
87 FFMPEGCONF += --enable-w32threads \
88 --disable-bzlib --disable-bsfs \
89 --disable-decoder=dca --disable-encoder=vorbis
92 FFMPEGCONF += --disable-dxva2
94 FFMPEGCONF += --cpu=athlon64 --arch=x86_64
96 FFMPEGCONF += --enable-dxva2
100 FFMPEGCONF+= --cpu=i686 --arch=x86
103 FFMPEGCONF += --enable-pthreads
107 FFMPEGCONF += --target-os=mingw32ce --arch=armv4l --cpu=armv4t \
108 --disable-decoder=snow --disable-decoder=vc9 \
109 --disable-decoder=wmv3 --disable-decoder=vorbis \
110 --disable-decoder=dvdsub --disable-decoder=dvbsub
113 FFMPEG_CFLAGS += --std=gnu99
119 ffmpeg-$(FFMPEG_VERSION).tar.gz:
120 $(error FFmpeg snapshot is too old, VCS must be used!)
121 $(call download,$(FFMPEG_URL))
123 $(TARBALLS)/ffmpeg-svn.tar.gz:
124 $(SVN) export $(FFMPEG_SVN) ffmpeg-svn
125 tar cvz ffmpeg-svn > $@
127 FFMPEG_VERSION := svn
129 .sum-ffmpeg: $(TARBALLS)/ffmpeg-$(FFMPEG_VERSION).tar.gz
130 $(warning Not implemented.)
133 ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz .sum-ffmpeg
136 (cd $@-$(FFMPEG_VERSION)/libswscale && patch -p0) < $(SRC)/ffmpeg/ffmpeg-win64.patch
139 sed -i "s/std=c99/std=gnu99/" $@-$(FFMPEG_VERSION)/configure
141 (cd $@-$(FFMPEG_VERSION) && patch -p1) < $(SRC)/ffmpeg/libavformat-ape.c.patch
142 mv $@-$(FFMPEG_VERSION) $@
147 cd $< && $(HOSTVARS) ./configure \
148 --extra-cflags="$(FFMPEG_CFLAGS) -DHAVE_STDINT_H" \
149 --extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) \
150 --prefix="$(PREFIX)" --enable-static --disable-shared
151 cd $< && $(MAKE) install-libs install-headers