annotate Makefile @ 1757:3906ddbaffec libavcodec

optimization & bugfix extracted from the 4k line diff between ffmpeg 0.4.7 and http://www.alicestreet.com/ffh263.html the other parts of the diff where 1. spelling fixes (rejected as only a small part of it could be applied automatically) 2. cosmetics (reindention, function reordering, var renaming, ...) with bugs (rejected) 3. rtp related stuff (rejetced as it breaks several codecs) 4. some changes to the intra/inter decission & scene change detection (quality tests needed first)
author michael
date Sat, 24 Jan 2004 23:47:33 +0000
parents f0c21b9a328e
children 66ae3c109d90
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
395
80518daaab05 added VPATH support for multiple dir compilation
glantau
parents: 356
diff changeset
1 #
80518daaab05 added VPATH support for multiple dir compilation
glantau
parents: 356
diff changeset
2 # libavcodec Makefile
1472
db00afcbd2ac use VC++ lib tool if available
bellard
parents: 1470
diff changeset
3 # (c) 2000-2003 Fabrice Bellard
395
80518daaab05 added VPATH support for multiple dir compilation
glantau
parents: 356
diff changeset
4 #
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
5 include ../config.mak
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
6
395
80518daaab05 added VPATH support for multiple dir compilation
glantau
parents: 356
diff changeset
7 VPATH=$(SRC_PATH)/libavcodec
80518daaab05 added VPATH support for multiple dir compilation
glantau
parents: 356
diff changeset
8
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
9 # NOTE: -I.. is needed to include config.h
1544
2335dcb71152 - Moving -Wall from the individual Makefiles to configure (and only
michael
parents: 1535
diff changeset
10 CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
11
489
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
12 OBJS= common.o utils.o mem.o allcodecs.o \
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1033
diff changeset
13 mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\
23
1e131bc21101 added MJPEG decoder, renamed mjpegenc.c to mjpeg.c
glantau
parents: 22
diff changeset
14 mpegaudio.o ac3enc.o mjpeg.o resample.o dsputil.o \
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1033
diff changeset
15 motion_est.o imgconvert.o imgresample.o \
1383
ed8a6c3bc4db compile xvmc only when requested
iive
parents: 1381
diff changeset
16 mpeg12.o mpegaudiodec.o pcm.o simple_idct.o \
784
32636728f24b added new fft/mdct code - added fft-test program
bellard
parents: 745
diff changeset
17 ratecontrol.o adpcm.o eval.o dv.o error_resilience.o \
1224
3fa9a3de913f first pass at a new VP3 video decoder
tmmm
parents: 1194
diff changeset
18 fft.o mdct.o mace.o huffyuv.o cyuv.o opts.o raw.o h264.o golomb.o \
1439
a4d00b1f0271 initial commit for Id RoQ and Interplay MVE multimedia subsystems
tmmm
parents: 1400
diff changeset
19 vp3.o asv1.o 4xm.o cabac.o ffv1.o ra144.o ra288.o vcr1.o cljr.o \
1491
222643544cf1 New demuxers: Sega FILM/CPK, Westwood VQA & AUD; new decoders: MS RLE &
tmmm
parents: 1487
diff changeset
20 roqvideo.o dpcm.o interplayvideo.o xan.o rpza.o cinepak.o msrle.o \
1610
b0fe2a0adf49 added Apple Graphics (SMC) decoder
melanson
parents: 1608
diff changeset
21 msvideo1.o vqavideo.o idcinvideo.o adx.o rational.o faandct.o 8bps.o \
1741
f0c21b9a328e MSZH and ZLIB decoder support
rtognimp
parents: 1717
diff changeset
22 smc.o parser.o flicvideo.o truemotion1.o vmdav.o lcl.o
1258
802614404398 AMR-NB audio support patch by (<joca at rixmail dot se>)
michaelni
parents: 1247
diff changeset
23
802614404398 AMR-NB audio support patch by (<joca at rixmail dot se>)
michaelni
parents: 1247
diff changeset
24 ifeq ($(AMR_NB),yes)
1297
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
25 ifeq ($(AMR_NB_FIXED),yes)
1258
802614404398 AMR-NB audio support patch by (<joca at rixmail dot se>)
michaelni
parents: 1247
diff changeset
26 OBJS+= amr.o
1297
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
27 AMREXTRALIBS+= amr/*.o
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
28 AMRLIBS=amrlibs
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
29 CLEANAMR=cleanamr
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
30 else
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
31 OBJS+= amr.o amr_float/sp_dec.o amr_float/sp_enc.o amr_float/interf_dec.o amr_float/interf_enc.o
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
32 CLEANAMR=cleanamrfloat
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
33 endif
1258
802614404398 AMR-NB audio support patch by (<joca at rixmail dot se>)
michaelni
parents: 1247
diff changeset
34 endif
802614404398 AMR-NB audio support patch by (<joca at rixmail dot se>)
michaelni
parents: 1247
diff changeset
35
1486
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
36 ifeq ($(AMR_WB),yes)
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
37 OBJS+= amr.o amrwb_float/dec_acelp.o amrwb_float/dec_dtx.o amrwb_float/dec_gain.o \
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
38 amrwb_float/dec_if.o amrwb_float/dec_lpc.o amrwb_float/dec_main.o \
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
39 amrwb_float/dec_rom.o amrwb_float/dec_util.o amrwb_float/enc_acelp.o \
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
40 amrwb_float/enc_dtx.o amrwb_float/enc_gain.o amrwb_float/enc_if.o \
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
41 amrwb_float/enc_lpc.o amrwb_float/enc_main.o amrwb_float/enc_rom.o \
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
42 amrwb_float/enc_util.o amrwb_float/if_rom.o
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
43 endif
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
44 CLEANAMRWB=cleanamrwbfloat
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
45 ASM_OBJS=
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
46
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1033
diff changeset
47 # codecs which are patented in some non free countries like the us
a78f6f72d54e --disable-risky support
michaelni
parents: 1033
diff changeset
48 ifeq ($(CONFIG_RISKY),yes)
1190
60bd91a6e218 native Indeo3 decoder implementation
tmmm
parents: 1168
diff changeset
49 OBJS+= h263.o msmpeg4.o h263dec.o svq1.o rv10.o wmadec.o indeo3.o
1042
a78f6f72d54e --disable-risky support
michaelni
parents: 1033
diff changeset
50 endif
a78f6f72d54e --disable-risky support
michaelni
parents: 1033
diff changeset
51
1383
ed8a6c3bc4db compile xvmc only when requested
iive
parents: 1381
diff changeset
52 ifeq ($(HAVE_XVMC_ACCEL),yes)
ed8a6c3bc4db compile xvmc only when requested
iive
parents: 1381
diff changeset
53 OBJS+= xvmcvideo.o
ed8a6c3bc4db compile xvmc only when requested
iive
parents: 1381
diff changeset
54 endif
ed8a6c3bc4db compile xvmc only when requested
iive
parents: 1381
diff changeset
55
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
56 # currently using liba52 for ac3 decoding
3
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
57 ifeq ($(CONFIG_AC3),yes)
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
58 OBJS+= a52dec.o
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
59
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
60 # using builtin liba52 or runtime linked liba52.so.0
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
61 ifneq ($(CONFIG_A52BIN),yes)
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
62 OBJS+= liba52/bit_allocate.o liba52/bitstream.o liba52/downmix.o \
1194
432d9a42a244 Compile a52 util functions too
arpi_esp
parents: 1190
diff changeset
63 liba52/imdct.o liba52/parse.o liba52/crc.o liba52/resample.o
3
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
64 endif
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
65 endif
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
66
1245
cd88870c4560 * support for AAC audio streams via libfaad
kabi
parents: 1224
diff changeset
67 ifeq ($(CONFIG_FAAD),yes)
cd88870c4560 * support for AAC audio streams via libfaad
kabi
parents: 1224
diff changeset
68 OBJS+= faad.o
1247
26827e6ae6dd * link libfaad when needed
kabi
parents: 1245
diff changeset
69 ifeq ($(CONFIG_FAADBIN),yes)
26827e6ae6dd * link libfaad when needed
kabi
parents: 1245
diff changeset
70 # no libs needed
26827e6ae6dd * link libfaad when needed
kabi
parents: 1245
diff changeset
71 else
26827e6ae6dd * link libfaad when needed
kabi
parents: 1245
diff changeset
72 EXTRALIBS += -lfaad
26827e6ae6dd * link libfaad when needed
kabi
parents: 1245
diff changeset
73 endif
1245
cd88870c4560 * support for AAC audio streams via libfaad
kabi
parents: 1224
diff changeset
74 endif
cd88870c4560 * support for AAC audio streams via libfaad
kabi
parents: 1224
diff changeset
75
1500
726a81d83ddd Patch for AAC encoding with libfaac by (Gildas Bazin <gbazin at altern dot org>)
michaelni
parents: 1498
diff changeset
76 ifeq ($(CONFIG_FAAC),yes)
726a81d83ddd Patch for AAC encoding with libfaac by (Gildas Bazin <gbazin at altern dot org>)
michaelni
parents: 1498
diff changeset
77 OBJS+= faac.o
726a81d83ddd Patch for AAC encoding with libfaac by (Gildas Bazin <gbazin at altern dot org>)
michaelni
parents: 1498
diff changeset
78 EXTRALIBS += -lfaac
726a81d83ddd Patch for AAC encoding with libfaac by (Gildas Bazin <gbazin at altern dot org>)
michaelni
parents: 1498
diff changeset
79 endif
726a81d83ddd Patch for AAC encoding with libfaac by (Gildas Bazin <gbazin at altern dot org>)
michaelni
parents: 1498
diff changeset
80
1069
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
81 ifeq ($(CONFIG_PP),yes)
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
82 ifeq ($(SHARED_PP),yes)
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
83 EXTRALIBS += -lpostproc
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
84 else
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
85 # LIBS += libpostproc/libpostproc.a ... should be fixed
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
86 OBJS += libpostproc/postprocess.o
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
87 endif
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
88 endif
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
89
258
9c975237ec64 - Added MP3 encoding through libmp3lame contributed by Lennert Buytenhek.
pulento
parents: 252
diff changeset
90 ifeq ($(CONFIG_MP3LAME),yes)
9c975237ec64 - Added MP3 encoding through libmp3lame contributed by Lennert Buytenhek.
pulento
parents: 252
diff changeset
91 OBJS += mp3lameaudio.o
348
ae9e9af0b627 * by Thomas Sailer:
kabi
parents: 343
diff changeset
92 EXTRALIBS += -lmp3lame
258
9c975237ec64 - Added MP3 encoding through libmp3lame contributed by Lennert Buytenhek.
pulento
parents: 252
diff changeset
93 endif
9c975237ec64 - Added MP3 encoding through libmp3lame contributed by Lennert Buytenhek.
pulento
parents: 252
diff changeset
94
636
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 633
diff changeset
95 ifeq ($(CONFIG_VORBIS),yes)
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 633
diff changeset
96 OBJS += oggvorbis.o
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 633
diff changeset
97 EXTRALIBS += -lvorbis -lvorbisenc
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 633
diff changeset
98 endif
57b9a37546a0 oggvorbis support patch by (Mark Hills <mark at pogo dot org dot uk>)
michaelni
parents: 633
diff changeset
99
252
ddb1a0e94cf4 - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
pulento
parents: 214
diff changeset
100 ifeq ($(TARGET_GPROF),yes)
ddb1a0e94cf4 - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
pulento
parents: 214
diff changeset
101 CFLAGS+=-p
ddb1a0e94cf4 - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
pulento
parents: 214
diff changeset
102 LDFLAGS+=-p
ddb1a0e94cf4 - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
pulento
parents: 214
diff changeset
103 endif
ddb1a0e94cf4 - Added PSNR feature to libavcodec and ffmpeg. By now just Y PSNR until I'm
pulento
parents: 214
diff changeset
104
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
105 # i386 mmx specific stuff
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
106 ifeq ($(TARGET_MMX),yes)
74
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
107 OBJS += i386/fdct_mmx.o i386/cputest.o \
32
a524484f9adf added idct mmx
glantau
parents: 23
diff changeset
108 i386/dsputil_mmx.o i386/mpegvideo_mmx.o \
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
109 i386/idct_mmx.o i386/motion_est_mmx.o \
973
e2c119417470 enabled SSE fft (first code using GCC 3.2 vector builtins on x86 - please tell me if you have better ideas for intrinsic naming or Makefile support)
bellard
parents: 866
diff changeset
110 i386/simple_idct_mmx.o i386/fft_sse.o
1027
a0a7149be543 fixed dependancy generation (I want the case where SRC_PATH is not . to work too - very useful if you have different gcc versions to test at the same time...) - fixed -msse stuff
bellard
parents: 1010
diff changeset
111 ifdef TARGET_BUILTIN_VECTOR
a0a7149be543 fixed dependancy generation (I want the case where SRC_PATH is not . to work too - very useful if you have different gcc versions to test at the same time...) - fixed -msse stuff
bellard
parents: 1010
diff changeset
112 i386/fft_sse.o: CFLAGS+= -msse
a0a7149be543 fixed dependancy generation (I want the case where SRC_PATH is not . to work too - very useful if you have different gcc versions to test at the same time...) - fixed -msse stuff
bellard
parents: 1010
diff changeset
113 endif
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
114 endif
986e461dc072 Initial revision
glantau
parents:
diff changeset
115
62
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
116 # armv4l specific stuff
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
117 ifeq ($(TARGET_ARCH_ARMV4L),yes)
1347
cca26199ab17 Optimized simple idct for arm by Frederic 'dilb' Boulay <dilb@handhelds.org>. Currently licensed under the GPLv2, but the author allowed to license it under the LGPL, feel free to change
al3x
parents: 1304
diff changeset
118 ASM_OBJS += armv4l/jrevdct_arm.o armv4l/simple_idct_arm.o
730
b24ea84b23e2 trying to fix the non-x86 IDCTs (untested)
michaelni
parents: 727
diff changeset
119 OBJS += armv4l/dsputil_arm.o armv4l/mpegvideo_arm.o
62
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
120 endif
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
121
88
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
122 # sun mediaLib specific stuff
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
123 # currently only works when libavcodec is used in mplayer
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
124 ifeq ($(HAVE_MLIB),yes)
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
125 OBJS += mlib/dsputil_mlib.o
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
126 CFLAGS += $(MLIB_INC)
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
127 endif
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
128
214
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
129 # alpha specific stuff
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
130 ifeq ($(TARGET_ARCH_ALPHA),yes)
744
2f7da29ede37 Move Alpha optimized IDCT to own file. Based on a patch by M?ns
mellum
parents: 730
diff changeset
131 OBJS += alpha/dsputil_alpha.o alpha/mpegvideo_alpha.o \
2f7da29ede37 Move Alpha optimized IDCT to own file. Based on a patch by M?ns
mellum
parents: 730
diff changeset
132 alpha/simple_idct_alpha.o alpha/motion_est_alpha.o
705
107a56aa74f5 Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents: 689
diff changeset
133 ASM_OBJS += alpha/dsputil_alpha_asm.o alpha/motion_est_mvi_asm.o
683
aad2dedb8b6a * Remove -finline-limit=8000 (not supported by gcc 2.95)
mellum
parents: 645
diff changeset
134 CFLAGS += -fforce-addr -freduce-all-givs
214
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
135 endif
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
136
623
92e99e506920 first cut at altivec support on darwin patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 612
diff changeset
137 ifeq ($(TARGET_ARCH_POWERPC),yes)
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 827
diff changeset
138 OBJS += ppc/dsputil_ppc.o ppc/mpegvideo_ppc.o
638
0012f75c92bb altivec build tidyup patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 636
diff changeset
139 endif
0012f75c92bb altivec build tidyup patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 636
diff changeset
140
689
efcbfbd18864 ps2 idct patch by (Leon van Stuivenberg <leonvs at iae dot nl>)
michaelni
parents: 683
diff changeset
141 ifeq ($(TARGET_MMI),yes)
721
71f669e9f633 ps2 optimizations update patch by (Leon van Stuivenberg <leonvs at iae dot nl>)
michaelni
parents: 705
diff changeset
142 OBJS += ps2/dsputil_mmi.o ps2/idct_mmi.o ps2/mpegvideo_mmi.o
689
efcbfbd18864 ps2 idct patch by (Leon van Stuivenberg <leonvs at iae dot nl>)
michaelni
parents: 683
diff changeset
143 endif
efcbfbd18864 ps2 idct patch by (Leon van Stuivenberg <leonvs at iae dot nl>)
michaelni
parents: 683
diff changeset
144
638
0012f75c92bb altivec build tidyup patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 636
diff changeset
145 ifeq ($(TARGET_ALTIVEC),yes)
975
e05d525505c5 fft altivec by Romain Dolbeau - simplified patch, test it on PPC with fft-test and wma decoding
bellard
parents: 973
diff changeset
146 OBJS += ppc/dsputil_altivec.o ppc/mpegvideo_altivec.o ppc/idct_altivec.o \
1578
6a4cfc5f9f96 AltiVec optimized fdct patch by (James Klicman <james at klicman dot org>)
michael
parents: 1568
diff changeset
147 ppc/fft_altivec.o ppc/gmc_altivec.o ppc/fdct_altivec.o
623
92e99e506920 first cut at altivec support on darwin patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 612
diff changeset
148 endif
92e99e506920 first cut at altivec support on darwin patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 612
diff changeset
149
1259
e8c3884f2c7e sh4 optimized idct & bswap patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents: 1258
diff changeset
150 ifeq ($(TARGET_ARCH_SH4),yes)
e8c3884f2c7e sh4 optimized idct & bswap patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents: 1258
diff changeset
151 OBJS+= sh4/idct_sh4.o sh4/dsputil_sh4.o sh4/dsputil_align.o
e8c3884f2c7e sh4 optimized idct & bswap patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents: 1258
diff changeset
152 endif
e8c3884f2c7e sh4 optimized idct & bswap patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents: 1258
diff changeset
153
e8c3884f2c7e sh4 optimized idct & bswap patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents: 1258
diff changeset
154
509
cab79946302f Implement put_pixels_clamped and add_pixels_clamped in Assembler. This
mellum
parents: 489
diff changeset
155 SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S)
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
156 OBJS := $(OBJS) $(ASM_OBJS)
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
157
994
7701ff462e3a os2 support patch by ("Slavik Gnatenko" <miracle9 at newmail dot ru>)
michaelni
parents: 979
diff changeset
158 LIB= $(LIBPREF)avcodec$(LIBSUF)
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
159 ifeq ($(BUILD_SHARED),yes)
994
7701ff462e3a os2 support patch by ("Slavik Gnatenko" <miracle9 at newmail dot ru>)
michaelni
parents: 979
diff changeset
160 SLIB= $(SLIBPREF)avcodec$(SLIBSUF)
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
161 endif
784
32636728f24b added new fft/mdct code - added fft-test program
bellard
parents: 745
diff changeset
162 TESTS= imgresample-test dct-test motion-test fft-test
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
163
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
164 all: $(LIB) $(SLIB)
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
165
1297
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
166 amrlibs:
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
167 $(MAKE) -C amr spclib fipoplib
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
168
43
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
169 tests: apiexample cpuid_test $(TESTS)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
170
1297
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
171 $(LIB): $(OBJS) $(AMRLIBS)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
172 rm -f $@
1297
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
173 $(AR) rc $@ $(OBJS) $(AMREXTRALIBS)
640
d2f47c6c6b41 ar -s -> ranlib
michaelni
parents: 638
diff changeset
174 $(RANLIB) $@
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
175
1046
a717c451cf1b dependencies are only build with make depend
bellard
parents: 1042
diff changeset
176 $(SLIB): $(OBJS)
1472
db00afcbd2ac use VC++ lib tool if available
bellard
parents: 1470
diff changeset
177 ifeq ($(CONFIG_WIN32),yes)
db00afcbd2ac use VC++ lib tool if available
bellard
parents: 1470
diff changeset
178 $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS)
db00afcbd2ac use VC++ lib tool if available
bellard
parents: 1470
diff changeset
179 -lib /machine:i386 /def:$(@:.dll=.def)
db00afcbd2ac use VC++ lib tool if available
bellard
parents: 1470
diff changeset
180 else
1297
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
181 $(CC) $(SHFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS)
1472
db00afcbd2ac use VC++ lib tool if available
bellard
parents: 1470
diff changeset
182 endif
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
183
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
184 dsputil.o: dsputil.c dsputil.h
986e461dc072 Initial revision
glantau
parents:
diff changeset
185
1069
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
186 libpostproc/libpostproc.a:
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
187 $(MAKE) -C libpostproc
8528d0b9e508 moving postprocess to ffmpeg/libavcodec
michaelni
parents: 1060
diff changeset
188
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
189 %.o: %.c
986e461dc072 Initial revision
glantau
parents:
diff changeset
190 $(CC) $(CFLAGS) -c -o $@ $<
986e461dc072 Initial revision
glantau
parents:
diff changeset
191
62
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
192 %.o: %.S
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
193 $(CC) $(CFLAGS) -c -o $@ $<
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
194
1046
a717c451cf1b dependencies are only build with make depend
bellard
parents: 1042
diff changeset
195 depend: $(SRCS)
1027
a0a7149be543 fixed dependancy generation (I want the case where SRC_PATH is not . to work too - very useful if you have different gcc versions to test at the same time...) - fixed -msse stuff
bellard
parents: 1010
diff changeset
196 $(CC) -MM $(CFLAGS) $^ 1>.depend
1010
3c110cba4b29 - removed nonsense *.d dependancy stuff, there was already a better 'make dep' support in it
arpi_esp
parents: 1005
diff changeset
197
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
198 dep: depend
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
199
1297
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
200 clean: $(CLEANAMR)
1005
c331a07c0be2 AUtomatic dependency generation. Runs on Linux (at least). Probably should
philipjsg
parents: 995
diff changeset
201 rm -f *.o *.d *~ .depend $(LIB) $(SLIB) *.so i386/*.o i386/*~ \
62
4bfc845cdfea arm optimizations
glantau
parents: 43
diff changeset
202 armv4l/*.o armv4l/*~ \
88
06f63b58d2a8 mlib merge
glantau
parents: 81
diff changeset
203 mlib/*.o mlib/*~ \
214
73df666cacc7 Alpha optimizations by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nickols_k
parents: 174
diff changeset
204 alpha/*.o alpha/*~ \
623
92e99e506920 first cut at altivec support on darwin patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 612
diff changeset
205 ppc/*.o ppc/*~ \
689
efcbfbd18864 ps2 idct patch by (Leon van Stuivenberg <leonvs at iae dot nl>)
michaelni
parents: 683
diff changeset
206 ps2/*.o ps2/*~ \
1259
e8c3884f2c7e sh4 optimized idct & bswap patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents: 1258
diff changeset
207 sh4/*.o sh4/*~ \
338
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
208 liba52/*.o liba52/*~ \
1a38b3b4ea28 * using liba52
kabi
parents: 329
diff changeset
209 apiexample $(TESTS)
1074
d90c350454da * using $(MAKE)
kabi
parents: 1071
diff changeset
210 $(MAKE) -C libpostproc clean
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
211
484
f8bbc8976247 in libavcodec/Makefile there is in line 110: "distclean: clean<binary char>"
arpi_esp
parents: 429
diff changeset
212 distclean: clean
2
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
213 rm -f Makefile.bak .depend
2e2c46c87460 fixed config for direct mplayer build compatibility
glantau
parents: 0
diff changeset
214
1297
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
215 cleanamr:
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
216 $(MAKE) -C amr clean
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
217
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
218 cleanamrfloat:
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
219 rm -f amr_float/*.o
1db67cd7808a * 3gp patch by Joca
kabi
parents: 1293
diff changeset
220
1486
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
221 cleanamrwbfloat:
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
222 $(MAKE) -C amrwb_float -f makefile.gcc clean
f22010affdce AMR-WB support by (Johannes Carlsson <joca at rixmail dot se>)
michaelni
parents: 1472
diff changeset
223
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
224 # api example program
986e461dc072 Initial revision
glantau
parents:
diff changeset
225 apiexample: apiexample.c $(LIB)
645
f53e17dec13f apiexample needs EXTRALIBS
michaelni
parents: 644
diff changeset
226 $(CC) $(CFLAGS) -o $@ $< $(LIB) $(EXTRALIBS) -lm
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
227
43
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
228 # cpuid test
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
229 cpuid_test: i386/cputest.c
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
230 $(CC) $(CFLAGS) -D__TEST__ -o $@ $<
ab64a3fc62bf Portability and testing issues
nickols_k
parents: 32
diff changeset
231
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
232 # testing progs
986e461dc072 Initial revision
glantau
parents:
diff changeset
233
986e461dc072 Initial revision
glantau
parents:
diff changeset
234 imgresample-test: imgresample.c
644
641708b5c33c fixing tests
michaelni
parents: 640
diff changeset
235 $(CC) $(CFLAGS) -DTEST -o $@ $^ -lm
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
236
979
979f3cbd08a2 tests link all libavcodec
bellard
parents: 975
diff changeset
237 dct-test: dct-test.o fdctref.o $(LIB)
607
5762b2d659d2 darwin patches by Heliodoro Tammaro <helio at interactives dot org>
michaelni
parents: 603
diff changeset
238 $(CC) -o $@ $^ -lm
3
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
239
74
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
240 motion-test: motion_test.o $(LIB)
644
641708b5c33c fixing tests
michaelni
parents: 640
diff changeset
241 $(CC) -o $@ $^ -lm
74
d7603c46c52f suppressed nasm stuff
glantau
parents: 62
diff changeset
242
973
e2c119417470 enabled SSE fft (first code using GCC 3.2 vector builtins on x86 - please tell me if you have better ideas for intrinsic naming or Makefile support)
bellard
parents: 866
diff changeset
243 fft-test: fft-test.o $(LIB)
784
32636728f24b added new fft/mdct code - added fft-test program
bellard
parents: 745
diff changeset
244 $(CC) -o $@ $^ -lm
32636728f24b added new fft/mdct code - added fft-test program
bellard
parents: 745
diff changeset
245
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
246 ifeq ($(BUILD_SHARED),yes)
1470
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
247 install: all install-headers
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
248 ifeq ($(CONFIG_WIN32),yes)
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
249 install -s -m 755 $(SLIB) "$(prefix)"
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
250 else
603
442dede8795b patch by (Volker Moell <volker-ml at die-moells dot de>)
michaelni
parents: 586
diff changeset
251 install -d $(prefix)/lib
429
718a22dc121f license/copyright change
glantau
parents: 410
diff changeset
252 install -s -m 755 $(SLIB) $(prefix)/lib/libavcodec-$(VERSION).so
603
442dede8795b patch by (Volker Moell <volker-ml at die-moells dot de>)
michaelni
parents: 586
diff changeset
253 ln -sf libavcodec-$(VERSION).so $(prefix)/lib/libavcodec.so
442dede8795b patch by (Volker Moell <volker-ml at die-moells dot de>)
michaelni
parents: 586
diff changeset
254 ldconfig || true
1470
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
255 endif
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
256 else
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
257 install:
136
669955525b67 Shared objects support
nickols_k
parents: 92
diff changeset
258 endif
489
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
259
1470
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
260 installlib: all install-headers
489
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
261 install -m 644 $(LIB) $(prefix)/lib
1470
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
262
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
263 install-headers:
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
264 mkdir -p "$(prefix)/include/ffmpeg"
1568
c5ec7ac5c053 rational.h not installed patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michael
parents: 1557
diff changeset
265 install -m 644 $(SRC_PATH)/libavcodec/avcodec.h \
c5ec7ac5c053 rational.h not installed patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michael
parents: 1557
diff changeset
266 $(SRC_PATH)/libavcodec/common.h \
c5ec7ac5c053 rational.h not installed patch by (Fred Rothganger <rothgang at uiuc dot edu>)
michael
parents: 1557
diff changeset
267 $(SRC_PATH)/libavcodec/rational.h \
1470
dc1aebe51742 correct DLL windows install
bellard
parents: 1465
diff changeset
268 "$(prefix)/include/ffmpeg"
489
b9fcdf9f4420 added installlib target to install static libraries and includes
bellard
parents: 484
diff changeset
269
3
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
270 #
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
271 # include dependency files if they exist
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
272 #
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
273 ifneq ($(wildcard .depend),)
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
274 include .depend
1bdbd869c1f0 added CONFIG_AC3, CONFIG_MPGLIB, CONFIG_DECODERS and CONFIG_ENCODERS (Arpi: don't forget to put CONFIG_DECODERS in mplayer)
glantau
parents: 2
diff changeset
275 endif