123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- # ----------------------------------------------------------------------
- #
- # Project: C&M Video multi instance sample
- #
- # ----------------------------------------------------------------------
- .PHONY: CREATE_DIR LIBTHEORA clean all
- BUILD_CONFIGURATION := EmbeddedRiscvLinux
- PRODUCT := WAVE511
- #PRODUCT := WAVE521C
- $(shell cp sample_v2/component_list_all.h sample_v2/component/component_list.h)
- USE_FFMPEG = no
- USE_PTHREAD = yes
- USE_RTL_SIM = no
- UNAME = $(shell uname -a)
- ifneq (,$(findstring i386, $(UNAME)))
- USE_32BIT = yes
- endif
- ifeq ($(RTL_SIM), 1)
- USE_RTL_SIM = yes
- endif
- ifeq ($(SINGLE_THREAD), 1)
- USE_SINGLE_THREAD=yes
- endif
- ifeq ($(PRODUCT), CODA960)
- USE_LIBTHEORA=yes
- endif
- ifeq ($(PRODUCT), CODA980)
- USE_LIBTHEORA=yes
- endif
- ifeq ($(USE_32BIT), yes)
- PLATFORM = nativelinux
- else
- PLATFORM = nativelinux_64bit
- endif
- CROSS_CC_PREFIX =
- VDI_C = vdi/linux/vdi.c
- VDI_OSAL_C = vdi/linux/vdi_osal.c
- MM_C =
- PLATFORM_FLAGS =
- VDI_VPATH = vdi/linux
- ifeq ("$(BUILD_CONFIGURATION)", "NonOS")
- CROSS_CC_PREFIX = arm-none-eabi-
- VDI_C = vdi/nonos/vdi.c
- VDI_OSAL_C = vdi/nonos/vdi_osal.c
- MM_C = vdi/mm.c
- USE_FFMPEG = no
- USE_PTHREAD = no
- PLATFORM = none
- DEFINES = -DLIB_C_STUB
- PLATFORM_FLAGS =
- VDI_VPATH = vdi/nonos
- endif
- ifeq ("$(BUILD_CONFIGURATION)", "EmbeddedLinux")
- CROSS_CC_PREFIX = arm-none-linux-gnueabi-
- PLATFORM = armlinux
- endif
- ifeq ("$(BUILD_CONFIGURATION)", "EmbeddedRiscvLinux")
- CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
- PLATFORM = riscvlinux
- endif
- CC = $(CROSS_CC_PREFIX)gcc
- CXX = $(CROSS_CC_PREFIX)g++
- LINKER=$(CC)
- AR = $(CROSS_CC_PREFIX)ar
- INCLUDES = -I./theoraparser/include -I./vpuapi -I./ffmpeg/include -I./sample_v2/helper -I./sample_v2/helper/misc -I./sample_v2/component -I./vdi
- INCLUDES += -I./sample_v2/component_decoder -I./sample_v2/component_encoder
- DEFINES += -D$(PRODUCT) -DSUPPORT_MULTI_INSTANCE_TEST
- ifeq ($(PRODUCT), WAVE521)
- DEFINES += -DSUPPORT_ENCODER
- endif
- ifeq ($(PRODUCT), WAVE517)
- DEFINES += -DSUPPORT_ENCODER
- endif
- ifeq ($(SCALER), 1)
- DEFINES += -DSUPPORT_MINI_PIPPEN
- endif
- ifeq ($(USE_RTL_SIM), yes)
- DEFINES += -DCNM_SIM_PLATFORM -DCNM_SIM_DPI_INTERFACE -DSUPPORT_MULTI_INSTANCE_TEST -DUSE_SINGLE_THREAD
- USE_SINGLE_THREAD=yes
- MM_C = vdi/mm.c
- else # USE_RTL_SIM
- endif # USE_RTL_SIM
- ifeq ($(USE_SINGLE_THREAD), yes)
- DEFINES += -DUSE_SINGLE_THREAD
- endif
- ifeq ($(GDI),1)
- DEFINES += -DSUPPORT_WAVE511_GDI
- endif
- DEFINES += $(USER_DEFINES)
- CFLAGS += -g -I. -Wno-implicit-function-declaration -Wno-format -Wl,--fatal-warning $(INCLUDES) $(DEFINES) $(PLATFORM_FLAGS)
- ifeq ($(USE_RTL_SIM), yes)
- ifeq ($(IUS), 1)
- CFLAGS += -fPIC # ncverilog is 64bit version
- endif
- endif
- ARFLAGS += cru
- ifeq ($(USE_LIBTHEORA), yes)
- LDFLAGS += $(PLATFORM_FLAGS) -L./theoraparser/
- LDLIBS += -ltheoraparser
- endif
- ifeq ($(USE_FFMPEG), yes)
- LDLIBS += -lavformat -lavcodec -lavutil -lswresample -laom
- LDFLAGS += -L./ffmpeg/lib/$(PLATFORM)
- ifneq ($(USE_32BIT), yes)
- LDLIBS += -lz
- endif #USE_32BIT
- endif #USE_FFMPEG
- ifeq ($(USE_PTHREAD), yes)
- LDLIBS += -lpthread
- endif
- LDLIBS += -lm -lrt
- TARGET=multi_instance_dec_test
- MAKEFILE=WaveDecodeMult.mak
- OBJDIR=obj
- ALLOBJS=*.o
- ALLDEPS=*.dep
- ALLLIBS=*.a
- RM=rm -f
- MKDIR=mkdir -p
- SOURCES = main_multi_instance_test.c
- SOURCES += component_enc_encoder.c \
- component_enc_feeder.c \
- component_enc_reader.c \
- encoder_listener.c \
- yuvfeeder.c \
- yuvLoaderfeeder.c \
- yuvCfbcfeeder.c
- SOURCES += component_dec_decoder.c \
- component_dec_feeder.c \
- component_dec_renderer.c \
- decoder_listener.c \
- cnm_app.c \
- cnm_task.c \
- component.c \
- main_helper.c \
- vpuhelper.c \
- bitstreamfeeder.c \
- bitstreamreader.c \
- bsfeeder_fixedsize_impl.c \
- bsfeeder_framesize_impl.c \
- bsfeeder_size_plus_es_impl.c \
- bin_comparator_impl.c \
- comparator.c \
- md5_comparator_impl.c \
- yuv_comparator_impl.c \
- cfgParser.c \
- cnm_video_helper.c \
- container.c \
- datastructure.c \
- debug.c \
- bw_monitor.c \
- pf_monitor.c
- SOURCES += $(VDI_C) \
- $(VDI_OSAL_C) \
- $(MM_C) \
- vpuapi/product.c \
- vpuapi/vpuapifunc.c \
- vpuapi/vpuapi.c \
- vpuapi/coda9/coda9.c \
- vpuapi/wave/wave5.c
- VPATH = sample_v2:
- VPATH += sample_v2/component_encoder:
- VPATH += sample_v2/component_decoder:
- VPATH += sample_v2/helper:
- VPATH += sample_v2/helper/bitstream:
- VPATH += sample_v2/helper/comparator:
- VPATH += sample_v2/helper/display:sample_v2/helper/misc:sample_v2/helper/yuv:sample_v2/component:
- VPATH += vdi:
- ifeq ($(HAPS), 1)
- VPATH += vdi/haps
- endif
- ifeq ($(HAPS), 2)
- VPATH += vdi/haps
- endif
- VPATH += $(VDI_VPATH):vpuapi:vpuapi/coda9:vpuapi/wave
- OBJECTNAMES=$(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCES)))
- OBJECTPATHS=$(addprefix $(OBJDIR)/,$(notdir $(OBJECTNAMES)))
- target_list = CREATE_DIR $(OBJECTPATHS)
- ifeq ($(USE_LIBTHEORA), yes)
- target_list += LIBTHEORA
- endif
- ifeq ($(USE_RTL_SIM), yes)
- all: $(target_list)
- else
- all: $(target_list)
- $(LINKER) -o $(TARGET) $(LDFLAGS) -Wl,-gc-section -Wl,--start-group $(OBJECTPATHS) $(LDLIBS) -Wl,--end-group
- endif
- -include $(OBJECTPATHS:.o=.dep)
- clean:
- $(RM) $(TARGET)
- $(RM) $(OBJDIR)/$(ALLOBJS)
- $(RM) $(OBJDIR)/$(ALLDEPS)
- $(RM) theoraparser/$(ALLOBJS)
- $(RM) theoraparser/$(ALLLIBS)
- $(RM) theoraparser/$(ALLDEPS)
- LIBTHEORA:
- cd theoraparser; make clean; make
- CREATE_DIR:
- -mkdir -p $(OBJDIR)
- obj/%.o: %.c $(MAKEFILE)
- $(CC) $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
|