openh264/codec/decoder/targets.mk
Martin Storsjö 2356eb1ff6 Move the memory allocation/deallocation routines to the common library
They are still used slightly differently in the encoder and decoder;
the decoder uses plain functions while the encoder uses one object
keeping track of the number of allocated bytes, and keeping track
of the requested alignment.
2015-01-30 11:30:59 +02:00

73 lines
2.5 KiB
Makefile

DECODER_SRCDIR=codec/decoder
DECODER_CPP_SRCS=\
$(DECODER_SRCDIR)/core/src/au_parser.cpp\
$(DECODER_SRCDIR)/core/src/bit_stream.cpp\
$(DECODER_SRCDIR)/core/src/cabac_decoder.cpp\
$(DECODER_SRCDIR)/core/src/deblocking.cpp\
$(DECODER_SRCDIR)/core/src/decode_mb_aux.cpp\
$(DECODER_SRCDIR)/core/src/decode_slice.cpp\
$(DECODER_SRCDIR)/core/src/decoder.cpp\
$(DECODER_SRCDIR)/core/src/decoder_core.cpp\
$(DECODER_SRCDIR)/core/src/decoder_data_tables.cpp\
$(DECODER_SRCDIR)/core/src/error_concealment.cpp\
$(DECODER_SRCDIR)/core/src/fmo.cpp\
$(DECODER_SRCDIR)/core/src/get_intra_predictor.cpp\
$(DECODER_SRCDIR)/core/src/manage_dec_ref.cpp\
$(DECODER_SRCDIR)/core/src/memmgr_nal_unit.cpp\
$(DECODER_SRCDIR)/core/src/mv_pred.cpp\
$(DECODER_SRCDIR)/core/src/parse_mb_syn_cabac.cpp\
$(DECODER_SRCDIR)/core/src/parse_mb_syn_cavlc.cpp\
$(DECODER_SRCDIR)/core/src/pic_queue.cpp\
$(DECODER_SRCDIR)/core/src/rec_mb.cpp\
$(DECODER_SRCDIR)/plus/src/welsDecoderExt.cpp\
DECODER_OBJS += $(DECODER_CPP_SRCS:.cpp=.$(OBJ))
DECODER_ASM_SRCS=\
$(DECODER_SRCDIR)/core/x86/dct.asm\
$(DECODER_SRCDIR)/core/x86/intra_pred.asm\
DECODER_OBJSASM += $(DECODER_ASM_SRCS:.asm=.$(OBJ))
ifeq ($(ASM_ARCH), x86)
DECODER_OBJS += $(DECODER_OBJSASM)
endif
OBJS += $(DECODER_OBJSASM)
DECODER_ASM_ARM_SRCS=\
$(DECODER_SRCDIR)/core/arm/block_add_neon.S\
$(DECODER_SRCDIR)/core/arm/intra_pred_neon.S\
DECODER_OBJSARM += $(DECODER_ASM_ARM_SRCS:.S=.$(OBJ))
ifeq ($(ASM_ARCH), arm)
DECODER_OBJS += $(DECODER_OBJSARM)
endif
OBJS += $(DECODER_OBJSARM)
DECODER_ASM_ARM64_SRCS=\
$(DECODER_SRCDIR)/core/arm64/block_add_aarch64_neon.S\
$(DECODER_SRCDIR)/core/arm64/intra_pred_aarch64_neon.S\
DECODER_OBJSARM64 += $(DECODER_ASM_ARM64_SRCS:.S=.$(OBJ))
ifeq ($(ASM_ARCH), arm64)
DECODER_OBJS += $(DECODER_OBJSARM64)
endif
OBJS += $(DECODER_OBJSARM64)
OBJS += $(DECODER_OBJS)
$(DECODER_SRCDIR)/%.$(OBJ): $(DECODER_SRCDIR)/%.cpp
$(QUIET_CXX)$(CXX) $(CFLAGS) $(CXXFLAGS) $(INCLUDES) $(DECODER_CFLAGS) $(DECODER_INCLUDES) -c $(CXX_O) $<
$(DECODER_SRCDIR)/%.$(OBJ): $(DECODER_SRCDIR)/%.asm
$(QUIET_ASM)$(ASM) $(ASMFLAGS) $(ASM_INCLUDES) $(DECODER_ASMFLAGS) $(DECODER_ASM_INCLUDES) -o $@ $<
$(DECODER_SRCDIR)/%.$(OBJ): $(DECODER_SRCDIR)/%.S
$(QUIET_CCAS)$(CCAS) $(CCASFLAGS) $(ASMFLAGS) $(INCLUDES) $(DECODER_CFLAGS) $(DECODER_INCLUDES) -c -o $@ $<
$(LIBPREFIX)decoder.$(LIBSUFFIX): $(DECODER_OBJS)
$(QUIET)rm -f $@
$(QUIET_AR)$(AR) $(AR_OPTS) $+
libraries: $(LIBPREFIX)decoder.$(LIBSUFFIX)
LIBRARIES += $(LIBPREFIX)decoder.$(LIBSUFFIX)