3 #Uncomment the one you want
8 FFMPEG_HASH
=5a93a85fd0ad62c6c9cdf69415959f116c015f0e
9 FFMPEG_SNAPURL
:= http
://git.videolan.org
/?p
=ffmpeg.git
;a
=snapshot
;h
=$(FFMPEG_HASH
);sf
=tgz
10 FFMPEG_GITURL
:= http
://git.videolan.org
/git
/ffmpeg.git
11 FFMPEG_LAVC_MIN
:= 57.37.100
13 FFMPEG_HASH
=e171022c24c42b1e88a51bb3b4c27f13c87c85cb
14 FFMPEG_SNAPURL
:= http
://git.libav.org
/?p
=libav.git
;a
=snapshot
;h
=$(FFMPEG_HASH
);sf
=tgz
15 FFMPEG_GITURL
:= git
://git.libav.org
/libav.git
16 FFMPEG_LAVC_MIN
:= 57.16.0
19 FFMPEG_BASENAME
:= $(subst .
,_
,$(subst \
,_
,$(subst /,_
,$(FFMPEG_HASH
))))
23 --pkg-config
="$(PKG_CONFIG)" \
25 --disable-encoder
=vorbis \
26 --disable-decoder
=opus \
33 --disable-protocol
=concat \
40 --disable-swresample \
47 --disable-videotoolbox
51 DEPS_ffmpeg
= zlib gsm
56 DEPS_ffmpeg
+= openjpeg
59 # Optional dependencies
61 FFMPEGCONF
+= --disable-network
64 FFMPEGCONF
+= --enable-libmp3lame
--enable-libvpx
--disable-decoder
=libvpx_vp8
--disable-decoder
=libvpx_vp9
66 FFMPEGCONF
+= --disable-decoder
=libvpx
68 DEPS_ffmpeg
+= lame
$(DEPS_lame
) vpx
$(DEPS_vpx
)
70 FFMPEGCONF
+= --disable-encoders
--disable-muxers
74 ifdef WITH_OPTIMIZATION
76 FFMPEGCONF
+= --enable-small
80 FFMPEGCONF
+= --enable-thumb
84 FFMPEGCONF
+= --optflags
=-O0
87 ifdef HAVE_CROSS_COMPILE
88 FFMPEGCONF
+= --enable-cross-compile
--disable-programs
90 FFMPEGCONF
+= --cross-prefix
=$(HOST
)-
96 FFMPEGCONF
+= --arch
=arm
98 FFMPEGCONF
+= --enable-neon
101 FFMPEGCONF
+= --cpu
=cortex-a8
104 FFMPEGCONF
+= --cpu
=armv6
--disable-neon
109 ifeq ($(ARCH
),aarch64
)
110 FFMPEGCONF
+= --arch
=aarch64
114 ifeq ($(ARCH
),mipsel
)
115 FFMPEGCONF
+= --arch
=mips
117 ifeq ($(ARCH
),mips64el
)
118 FFMPEGCONF
+= --arch
=mips64
123 ifndef HAVE_DARWIN_OS
124 FFMPEGCONF
+= --arch
=x86
129 ifeq ($(ARCH
),x86_64
)
130 ifndef HAVE_DARWIN_OS
131 FFMPEGCONF
+= --arch
=x86_64
137 FFMPEGCONF
+= --arch
=$(ARCH
) --target-os
=darwin
139 FFMPEGCONF
+= --disable-lzma
141 ifeq ($(ARCH
),x86_64
)
142 FFMPEGCONF
+= --cpu
=core2
145 FFMPEGCONF
+= --enable-pic
--extra-ldflags
="$(EXTRA_CFLAGS)"
147 FFMPEGCONF
+= --as="$(AS)"
154 FFMPEGCONF
+= --target-os
=linux
--enable-pic
--extra-libs
="-lm"
159 # broken text relocations
160 ifeq ($(ANDROID_ABI
), x86
)
161 FFMPEGCONF
+= --disable-mmx
--disable-mmxext
--disable-inline-asm
163 ifeq ($(ANDROID_ABI
), x86_64
)
164 FFMPEGCONF
+= --disable-mmx
--disable-mmxext
--disable-inline-asm
167 ifeq ($(ANDROID_ABI
), armeabi-v7a
)
168 FFMPEGCONF
+= --as='gas-preprocessor.pl -as-type clang -arch arm $(CC)'
175 ifndef HAVE_VISUALSTUDIO
177 ifndef HAVE_MINGW_W64
178 DEPS_ffmpeg
+= directx
181 FFMPEGCONF
+= --target-os
=mingw32
182 FFMPEGCONF
+= --enable-w32threads
184 FFMPEGCONF
+= --enable-dxva2
186 FFMPEGCONF
+= --disable-dxva2
190 FFMPEGCONF
+= --cpu
=athlon64
--arch
=x86_64
192 ifeq ($(ARCH
),i386
) # 32bits intel
193 FFMPEGCONF
+= --cpu
=i686
--arch
=x86
196 FFMPEGCONF
+= --arch
=arm
202 FFMPEGCONF
+= --enable-pthreads
207 ifeq ($(ARCH
),x86_64
)
208 FFMPEGCONF
+= --cpu
=core2
210 FFMPEGCONF
+= --target-os
=sunos
--enable-pic
215 ifeq ($(call need_pkg
,"libavcodec >= $(FFMPEG_LAVC_MIN) libavformat >= 53.21.0 libswscale"),)
219 FFMPEGCONF
+= --nm
="$(NM)" --ar="$(AR)"
221 $(TARBALLS
)/ffmpeg-
$(FFMPEG_BASENAME
).
tar.xz
:
222 $(call download_git
,$(FFMPEG_GITURL
),,$(FFMPEG_HASH
))
224 .sum-ffmpeg
: $(TARBALLS
)/ffmpeg-
$(FFMPEG_BASENAME
).
tar.xz
225 $(call check_githash
,$(FFMPEG_HASH
))
228 ffmpeg
: ffmpeg-
$(FFMPEG_BASENAME
).
tar.xz .sum-ffmpeg
229 rm -Rf
$@
$@
-$(FFMPEG_BASENAME
)
230 mkdir
-p
$@
-$(FFMPEG_BASENAME
)
231 tar xvJf
"$<" --strip-components
=1 -C
$@
-$(FFMPEG_BASENAME
)
233 $(APPLY
) $(SRC
)/ffmpeg
/armv7_fixup.patch
234 $(APPLY
) $(SRC
)/ffmpeg
/lavc-change-HW_CONFIG_HWACCEL-arguments.patch
235 $(APPLY
) $(SRC
)/ffmpeg
/lavc-add-back-AD_HOC-method-for-DXVA2-D3D11-VAAPI-VDPAU.patch
238 $(APPLY
) $(SRC
)/ffmpeg
/libav_gsm.patch
243 cd
$< && $(HOSTVARS
) .
/configure \
244 --extra-ldflags
="$(LDFLAGS)" $(FFMPEGCONF
) \
245 --prefix="$(PREFIX)" --enable-static
--disable-shared
246 cd
$< && $(MAKE
) install-libs install-headers