# libavcodec Makefile
# (c) 2000-2005 Fabrice Bellard
#
-include ../config.mak
+include $(SUBDIR)../config.mak
+
+NAME = avcodec
+FFLIBS = avutil
OBJS = allcodecs.o \
audioconvert.o \
OBJS-$(CONFIG_ATRAC3_DECODER) += atrac3.o mdct.o fft.o
OBJS-$(CONFIG_AVS_DECODER) += avs.o
OBJS-$(CONFIG_BETHSOFTVID_DECODER) += bethsoftvideo.o
+OBJS-$(CONFIG_BFI_DECODER) += bfi.o
OBJS-$(CONFIG_BMP_DECODER) += bmp.o
OBJS-$(CONFIG_BMP_ENCODER) += bmpenc.o
OBJS-$(CONFIG_C93_DECODER) += c93.o
OBJS-$(CONFIG_DVVIDEO_ENCODER) += dv.o
OBJS-$(CONFIG_DXA_DECODER) += dxa.o
OBJS-$(CONFIG_EIGHTBPS_DECODER) += 8bps.o
+OBJS-$(CONFIG_EIGHTSVX_EXP_DECODER) += 8svx.o
+OBJS-$(CONFIG_EIGHTSVX_FIB_DECODER) += 8svx.o
+OBJS-$(CONFIG_ESCAPE124_DECODER) += escape124.o
OBJS-$(CONFIG_FFV1_DECODER) += ffv1.o rangecoder.o golomb.o
OBJS-$(CONFIG_FFV1_ENCODER) += ffv1.o rangecoder.o
OBJS-$(CONFIG_FFVHUFF_DECODER) += huffyuv.o
OBJS-$(CONFIG_LOCO_DECODER) += loco.o golomb.o
OBJS-$(CONFIG_MACE3_DECODER) += mace.o
OBJS-$(CONFIG_MACE6_DECODER) += mace.o
+OBJS-$(CONFIG_MIMIC_DECODER) += mimic.o
OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o mjpeg.o
OBJS-$(CONFIG_MJPEG_ENCODER) += mjpegenc.o mjpeg.o mpegvideo_enc.o motion_est.o ratecontrol.o mpeg12data.o mpegvideo.o
OBJS-$(CONFIG_MJPEGB_DECODER) += mjpegbdec.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_MP2_ENCODER) += mpegaudioenc.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MP3_DECODER) += mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MP3ADU_DECODER) += mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
-OBJS-$(CONFIG_MP3ON4_DECODER) += mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
+OBJS-$(CONFIG_MP3ON4_DECODER) += mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o mpeg4audio.o
OBJS-$(CONFIG_MPC7_DECODER) += mpc7.o mpc.o mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MPC8_DECODER) += mpc8.o mpc.o mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MDEC_DECODER) += mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_RA_288_DECODER) += ra288.o
OBJS-$(CONFIG_RAWVIDEO_DECODER) += rawdec.o
OBJS-$(CONFIG_RAWVIDEO_ENCODER) += rawenc.o
+OBJS-$(CONFIG_RL2_DECODER) += rl2.o
OBJS-$(CONFIG_ROQ_DECODER) += roqvideodec.o roqvideo.o
OBJS-$(CONFIG_ROQ_ENCODER) += roqvideoenc.o roqvideo.o elbg.o
OBJS-$(CONFIG_ROQ_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_ZMBV_DECODER) += zmbv.o
OBJS-$(CONFIG_ZMBV_ENCODER) += zmbvenc.o
-OBJS-$(CONFIG_PCM_S32BE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S32BE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_S32LE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S32LE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_U32BE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_U32BE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_U32LE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_U32LE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_ALAW_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_ALAW_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_MULAW_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_MULAW_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S8_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S8_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S16BE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S16BE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S16LE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S16LE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S16LE_PLANAR_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_S24BE_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_S24BE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S24DAUD_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S24DAUD_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_S24LE_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_S24LE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S32BE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S32BE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_S32LE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_S32LE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_U8_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_U8_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_U16BE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_U16BE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_U16LE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_U16LE_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_U24BE_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_U24BE_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_U24LE_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_U24LE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_S24DAUD_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S24DAUD_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_S16LE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S16LE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_S16LE_PLANAR_DECODER)+= pcm.o
-OBJS-$(CONFIG_PCM_S16BE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S16BE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_U16LE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_U16LE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_U16BE_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_U16BE_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_S8_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_S8_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_U8_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_U8_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_ALAW_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_ALAW_ENCODER) += pcm.o
-OBJS-$(CONFIG_PCM_MULAW_DECODER) += pcm.o
-OBJS-$(CONFIG_PCM_MULAW_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_U32BE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_U32BE_ENCODER) += pcm.o
+OBJS-$(CONFIG_PCM_U32LE_DECODER) += pcm.o
+OBJS-$(CONFIG_PCM_U32LE_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_ZORK_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_ZORK_ENCODER) += pcm.o
# libavformat dependencies
OBJS-$(CONFIG_GXF_DEMUXER) += mpeg12data.o
-OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER) += xiph.o
-OBJS-$(CONFIG_MATROSKA_MUXER) += xiph.o
+OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER) += xiph.o mpeg4audio.o
+OBJS-$(CONFIG_MATROSKA_DEMUXER) += mpeg4audio.o
+OBJS-$(CONFIG_MATROSKA_MUXER) += xiph.o mpeg4audio.o
+OBJS-$(CONFIG_MOV_DEMUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_NUT_MUXER) += mpegaudiodata.o
OBJS-$(CONFIG_OGG_MUXER) += xiph.o
OBJS-$(CONFIG_RTP_MUXER) += mpegvideo.o
OBJS-$(CONFIG_LIBA52) += liba52.o
OBJS-$(CONFIG_LIBAMR_NB) += libamr.o
OBJS-$(CONFIG_LIBAMR_WB) += libamr.o
+OBJS-$(CONFIG_LIBDIRAC_DECODER) += libdiracdec.o
+OBJS-$(CONFIG_LIBDIRAC_ENCODER) += libdiracenc.o libdirac_libschro.o
OBJS-$(CONFIG_LIBFAAC) += libfaac.o
OBJS-$(CONFIG_LIBFAAD) += libfaad.o
OBJS-$(CONFIG_LIBGSM) += libgsm.o
OBJS-$(CONFIG_LIBMP3LAME) += libmp3lame.o
+OBJS-$(CONFIG_LIBSCHROEDINGER_DECODER) += libschroedingerdec.o libschroedinger.o libdirac_libschro.o
+OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER) += libschroedingerenc.o libschroedinger.o libdirac_libschro.o
OBJS-$(CONFIG_LIBTHEORA) += libtheoraenc.o
OBJS-$(CONFIG_LIBVORBIS) += libvorbis.o
OBJS-$(CONFIG_LIBX264) += libx264.o
OBJS-$(CONFIG_LIBXVID) += libxvidff.o libxvid_rc.o
-OBJS-$(CONFIG_AAC_PARSER) += aac_parser.o aac_ac3_parser.o
+OBJS-$(CONFIG_AAC_PARSER) += aac_parser.o aac_ac3_parser.o mpeg4audio.o
OBJS-$(CONFIG_AC3_PARSER) += ac3_parser.o ac3tab.o aac_ac3_parser.o
OBJS-$(CONFIG_CAVSVIDEO_PARSER) += cavs_parser.o
OBJS-$(CONFIG_DCA_PARSER) += dca_parser.o
+OBJS-$(CONFIG_DIRAC_PARSER) += dirac_parser.o
OBJS-$(CONFIG_DVBSUB_PARSER) += dvbsub_parser.o
OBJS-$(CONFIG_DVDSUB_PARSER) += dvdsub_parser.o
OBJS-$(CONFIG_H261_PARSER) += h261_parser.o
OBJS-$(HAVE_PTHREADS) += pthread.o
OBJS-$(HAVE_W32THREADS) += w32thread.o
-OBJS-$(HAVE_XVMC_ACCEL) += xvmcvideo.o
+OBJS-$(HAVE_XVMC) += xvmcvideo.o
-ifneq ($(CONFIG_SWSCALER),yes)
+ifndef CONFIG_SWSCALE
OBJS += imgresample.o
endif
# processor-specific code
-ifeq ($(HAVE_MMX),yes)
+ifdef HAVE_MMX
OBJS += i386/fdct_mmx.o \
- i386/cputest.o \
+ i386/cpuid.o \
i386/dsputil_mmx.o \
i386/mpegvideo_mmx.o \
i386/motion_est_mmx.o \
i386/simple_idct_mmx.o \
i386/idct_mmx_xvid.o \
+ i386/idct_sse2_xvid.o \
i386/fft_sse.o \
i386/fft_3dn.o \
i386/fft_3dn2.o \
OBJS-$(HAVE_IWMMXT) += armv4l/dsputil_iwmmxt.o \
armv4l/mpegvideo_iwmmxt.o \
+OBJS-$(HAVE_ARMV5TE) += armv4l/mpegvideo_armv5te.o \
+
+OBJS-$(HAVE_ARMVFP) += armv4l/float_arm_vfp.o \
+
ASM_OBJS-$(HAVE_ARMV5TE) += armv4l/simple_idct_armv5te.o \
- armv4l/mpegvideo_armv5te.o \
ASM_OBJS-$(HAVE_ARMV6) += armv4l/simple_idct_armv6.o \
OBJS-$(HAVE_VIS) += sparc/dsputil_vis.o \
sparc/simple_idct_vis.o \
-OBJS-$(HAVE_MLIB) += mlib/dsputil_mlib.o \
+OBJS-$(CONFIG_MLIB) += mlib/dsputil_mlib.o \
OBJS-$(ARCH_ALPHA) += alpha/dsputil_alpha.o \
alpha/motion_est_alpha.o \
ALTIVEC-OBJS-$(CONFIG_WMV3_DECODER) += ppc/vc1dsp_altivec.o
# -maltivec is needed in order to build AltiVec code.
-$(ALTIVEC-OBJS-yes): CFLAGS += -maltivec -mabi=altivec
+$(addprefix $(SUBDIR),$(ALTIVEC-OBJS-yes)): CFLAGS += -maltivec -mabi=altivec
# check_altivec must be built without -maltivec
OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS-yes) \
bfin/idct_bfin.o \
bfin/vp3_idct_bfin.o \
-FFLIBS = avutil
+TESTS = $(addsuffix -test$(EXESUF), cabac dct eval fft h264 imgresample rangecoder snow)
+TESTS-$(ARCH_X86) += i386/cpuid-test$(EXESUF) motion-test$(EXESUF)
-NAME=avcodec
-LIBVERSION=$(LAVCVERSION)
-LIBMAJOR=$(LAVCMAJOR)
+CLEANFILES = apiexample$(EXESUF)
+DIRS = alpha armv4l bfin i386 mlib ppc ps2 sh4 sparc
-TESTS = $(addsuffix -test$(EXESUF), cabac dct eval fft h264 imgresample rangecoder snow)
-ifeq ($(ARCH_X86),yes)
-TESTS += cpuid-test$(EXESUF) motion-test$(EXESUF)
-endif
+include $(SUBDIR)../subdir.mak
-include ../common.mak
-
-clean::
- rm -f \
- alpha/*.o alpha/*~ \
- armv4l/*.o armv4l/*~ \
- bfin/*.o bfin/*~ \
- i386/*.o i386/*~ \
- mlib/*.o mlib/*~ \
- ppc/*.o ppc/*~ \
- ps2/*.o ps2/*~ \
- sh4/*.o sh4/*~ \
- sparc/*.o sparc/*~ \
- apiexample$(EXESUF)
-
-cpuid-test$(EXESUF): i386/cputest.c
-apiexample$(EXESUF): apiexample.o $(LIBNAME)
-dct-test$(EXESUF): dct-test.o fdctref.o $(LIBNAME)
-fft-test$(EXESUF): fft-test.o $(LIBNAME)
-motion-test$(EXESUF): motion-test.o $(LIBNAME)
+$(SUBDIR)dct-test$(EXESUF): $(SUBDIR)fdctref.o