blob: a61af87e0726a1415015a62ca7765a293f8e112a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
SUBDIRS = libmpcdec libxdg-basedir libdca nosefart gsm610 libmad a52dec \
libfaad
if BUILD_DHA_KMOD
SUBDIRS += libdha
endif
# vidix depends on portions of dha
if ENABLE_VIDIX
if !BUILD_DHA_KMOD
SUBDIRS += libdha
endif
SUBDIRS += vidix
endif
if !WITH_EXTERNAL_VCDLIBS
SUBDIRS += libcdio libvcd
endif
srcdir = $(shell cd @srcdir@; pwd)
ffmpeg_builder = $(srcdir)/ffmpeg-universal.sh
if ENABLE_DXR3
dxr3encoder = --enable-encoder=mpeg1video
endif
if FFMPEG_DISABLE_UNCOMMON_CODECS
disable_uncommon_codecs = \
--disable-decoder=aasc --disable-decoder=asv1 --disable-decoder=asv2 --disable-decoder=avs \
--disable-decoder=cscd --disable-decoder=cyuv --disable-decoder=dvvideo --disable-decoder=eightbps \
--disable-decoder=flic --disable-decoder=flv --disable-decoder=fourxm --disable-decoder=fraps \
--disable-decoder=huffyuv --disable-decoder=idcin --disable-decoder=interplay_video --disable-decoder=kmvc \
--disable-decoder=loco --disable-decoder=mmvideo --disable-decoder=nuv --disable-decoder=qdraw \
--disable-decoder=qpeg --disable-decoder=roq --disable-decoder=rpza --disable-decoder=smacker \
--disable-decoder=smc --disable-decoder=snow --disable-decoder=truemotion1 --disable-decoder=truemotion2 \
--disable-decoder=tscc --disable-decoder=ulti --disable-decoder=vcr1 --disable-decoder=vmdvideo \
--disable-decoder=wnv1 --disable-decoder=xan_wc3 --disable-decoder=xl --disable-decoder=zmbv \
--disable-decoder=alac --disable-decoder=amr_nb --disable-decoder=amr_wb --disable-decoder=libgsm \
--disable-decoder=mace3 --disable-decoder=mace6 --disable-decoder=shorten --disable-decoder=smackaud \
--disable-decoder=truespeech --disable-decoder=tta --disable-decoder=vmdaudio --disable-decoder=pcm_alaw \
--disable-decoder=pcm_mulaw --disable-decoder=pcm_s8 --disable-decoder=pcm_s16be --disable-decoder=pcm_s16le \
--disable-decoder=pcm_s24be --disable-decoder=pcm_s24daud --disable-decoder=pcm_s24le --disable-decoder=pcm_s32be \
--disable-decoder=pcm_s32le --disable-decoder=pcm_u8 --disable-decoder=pcm_u16be --disable-decoder=pcm_u16le \
--disable-decoder=pcm_u24be --disable-decoder=pcm_u24le --disable-decoder=pcm_u32be --disable-decoder=pcm_u32le \
--disable-decoder=interplay_dpcm --disable-decoder=roq_dpcm --disable-decoder=sol_dpcm --disable-decoder=vqa \
--disable-decoder=xan_dpcm --disable-decoder=adpcm_4xm --disable-decoder=adpcm_ct --disable-decoder=adpcm_ea \
--disable-decoder=adpcm_ima_dk3 --disable-decoder=adpcm_ima_dk4 --disable-decoder=adpcm_ima_qt \
--disable-decoder=adpcm_ima_smjpeg --disable-decoder=adpcm_ima_wav --disable-decoder=adpcm_ima_ws \
--disable-decoder=adpcm_ms --disable-decoder=adpcm_sbpro_2 --disable-decoder=adpcm_sbpro_3 \
--disable-decoder=adpcm_sbpro_4 --disable-decoder=adpcm_xa --disable-decoder=adpcm_yamaha
endif
if FFMPEG_DISABLE_POPULAR_CODECS
disable_popular_codecs = \
--disable-decoder=cinepak --disable-decoder=flashsv --disable-decoder=h261 --disable-decoder=h263 \
--disable-decoder=h263i --disable-decoder=h264 --disable-decoder=indeo2 --disable-decoder=indeo3 \
--disable-decoder=mjpeg --disable-decoder=mjpegb --disable-decoder=mpeg1video --disable-decoder=mpeg2video \
--disable-decoder=mpeg4 --disable-decoder=mpegvideo --disable-decoder=msmpeg4v1 --disable-decoder=msmpeg4v2 \
--disable-decoder=msmpeg4v3 --disable-decoder=msrle --disable-decoder=msvideo1 --disable-decoder=qtrle \
--disable-decoder=rv10 --disable-decoder=rv20 --disable-decoder=svq1 --disable-decoder=svq3 --disable-decoder=vc1 \
--disable-decoder=vp3 --disable-decoder=vp5 --disable-decoder=vp6 --disable-decoder=vp6f --disable-decoder=wmv1 \
--disable-decoder=wmv2 --disable-decoder=wmv3 --disable-decoder=cook --disable-decoder=dts --disable-decoder=flac \
--disable-decoder=mp2 --disable-decoder=mp3 --disable-decoder=qdm2 --disable-decoder=ra_144 --disable-decoder=ra_288 \
--disable-decoder=wavpack --disable-decoder=wmav1 --disable-decoder=wmav2 --disable-decoder=adpcm_swf
endif
configure_options =\
--disable-shared --enable-static --disable-demuxers --disable-muxers --disable-strip \
--enable-gpl --enable-pthreads --disable-ffmpeg --disable-ffserver --disable-ffplay
# --enable-debug --disable-opts breaks the build of ffmpeg on x86:
# i386/mpegvideo_mmx_template.c:108: error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’
# pending a real fix --enable-debug for libxine does not enable debugging options for ffmpeg for now
#if DEBUG_BUILD
#configure_options += --enable-debug
#else
configure_options += --disable-debug
#endif
if PROFILING_BUILD
configure_options += --enable-gprof
endif
if DISABLE_OPTIMIZATIONS
#configure_options += --disable-opts
endif
if HAVE_MLIB
configure_options += --enable-sunmlib
endif
if !HOST_OS_DARWIN
FFMPEG_EXTRA_CFLAGS = -fPIC -DPIC
endif
disable_decoders = \
--disable-decoder=bmp --disable-decoder=cavs --disable-decoder=cljr --disable-decoder=dsicinvideo \
--disable-decoder=ffv1 --disable-decoder=ffvhuff --disable-decoder=gif --disable-decoder=mdec \
--disable-decoder=mpeg_xvmc --disable-decoder=mszh --disable-decoder=png --disable-decoder=rawvideo \
--disable-decoder=sp5x --disable-decoder=targa --disable-decoder=tiertexseqvideo --disable-decoder=tiff \
--disable-decoder=vmnc --disable-decoder=zlib --disable-decoder=dsicinaudio --disable-decoder=imc \
--disable-decoder=mp3adu --disable-decoder=mp3on4 --disable-decoder=mpc7 --disable-decoder=sonic \
--disable-decoder=ws_snd1 --disable-decoder=adpcm_adx --disable-decoder=adpcm_g726 --disable-decoder=dvbsub \
--disable-decoder=dvdsub --disable-decoder=theora --disable-decoder=aac --disable-decoder=mpeg4aac \
--disable-decoder=ac3 --disable-decoder=vorbis
all_configure_options = \
$(configure_options) --make="$(MAKE)" --cc="$(CC)" \
--disable-encoders $(dxr3encoder) $(disable_decoders) \
$(disable_uncommon_codecs) $(disable_popular_codecs)
ffmpeg/config.mak: ffmpeg/configure Makefile $(ffmpeg_builder)
if MACOSX_UNIVERSAL_BINARY
export CFLAGS="$(VISIBILITY_FLAG)"; \
export FFMPEG_CONFIGURE_OPTIONS="$(all_configure_options)"; \
$(ffmpeg_builder) -configure "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
else
mkdir -p ffmpeg
cd ffmpeg; \
$(srcdir)/ffmpeg/configure $(all_configure_options) \
--extra-cflags="$(VISIBILITY_FLAG) $(FFMPEG_EXTRA_CFLAGS)"; \
cd ..
if HOST_OS_DARWIN
cat ffmpeg/config.mak | sed -e '/OPTFLAGS=/s/-mdynamic-no-pic//g' > ffmpeg/config.tmp
mv -f ffmpeg/config.tmp ffmpeg/config.mak
endif
endif
ffmpeg/libavutil/libavutil.a: ffmpeg/config.mak
if MACOSX_UNIVERSAL_BINARY
export MAKE="$(MAKE)"; \
$(ffmpeg_builder) -avutil "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
else
$(MAKE) -C ffmpeg/libavutil libavutil.a
endif
ffmpeg/libavcodec/libavcodec.a: ffmpeg/config.mak
if MACOSX_UNIVERSAL_BINARY
export MAKE="$(MAKE)"; \
$(ffmpeg_builder) -avcodec "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
else
$(MAKE) -C ffmpeg/libavcodec libavcodec.a
endif
ffmpeg/libpostproc/libpostproc.a: ffmpeg/config.mak
if MACOSX_UNIVERSAL_BINARY
export MAKE="$(MAKE)"; \
$(ffmpeg_builder) -postproc "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
else
$(MAKE) -C ffmpeg/libpostproc libpostproc.a
endif
clean-local:
if MACOSX_UNIVERSAL_BINARY
export MAKE="$(MAKE)"; \
$(ffmpeg_builder) -clean "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
else
-$(MAKE) -C ffmpeg clean
endif
distclean-local:
if MACOSX_UNIVERSAL_BINARY
export MAKE="$(MAKE)"; \
$(ffmpeg_builder) -distclean "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
else
-$(MAKE) -C ffmpeg distclean
endif
EXTRA_DIST = README.contrib ffmpeg-distfiles ffmpeg-universal.sh
dist-hook:
while read entry; do \
test -d $(srcdir)/$$entry && mkdir -p $(distdir)/$$entry; \
test -f $(srcdir)/$$entry && cp -p $(srcdir)/$$entry $(distdir)/$$entry; \
done < $(srcdir)/ffmpeg-distfiles
|