1 Star 0 Fork 0

UncleRoderick/SS928V100_SDK_V2.0.2.2_Open_Source_MPP_Sample

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Makefile 26.14 KB
一键复制 编辑 原始数据 按行查看 历史
UncleRoderick 提交于 2026-02-15 23:41 +08:00 . feat: 新增xvp_pseudo sample
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591
CROSS_COMPILE = aarch64-mix210-linux-
CC =$(CROSS_COMPILE)gcc
CXX =$(CROSS_COMPILE)g++
STRIP =$(CROSS_COMPILE)strip
CFLAGS =-Dss928v100 -DOT_XXXX -lpthread -lm -ldl -DISP_V2 -lstdc++ -Wall -fsigned-char -mcpu=cortex-a53 -fno-aggressive-loop-optimizations -ldl -ffunction-sections -fdata-sections -O2 -fstack-protector-strong -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fPIE -pie -s -Wall -fsigned-char -DOT_RELEASE -DVER_X=1 -DVER_Y=0 -DVER_Z=0 -DVER_P=0 -DVER_B=10 -DUSER_BIT_64 -DKERNEL_BIT_64 -Wno-date-time
export CC
export CXX
export STRIP
################# select sensor type for your sample ###############################
#### OV_OS08A20_MIPI_8M_30FPS_12BIT #################
#### OV_OS08A20_MIPI_8M_30FPS_12BIT_WDR2TO1 #################
#### SONY_IMX347_SLAVE_MIPI_4M_30FPS_12BIT #################
#### SONY_IMX347_2L_SLAVE_MIPI_4M_30FPS_12BIT #################
#### OV_OS05A10_SLAVE_MIPI_4M_30FPS_12BIT #################
#### SONY_IMX485_MIPI_8M_30FPS_12BIT #################
#### SONY_IMX485_MIPI_8M_30FPS_10BIT_WDR3TO1 #################
#### OV_OS04A10_MIPI_4M_30FPS_12BIT #################
#### OV_OS08B10_MIPI_8M_30FPS_12BIT #################
#### OV_OS08B10_MIPI_8M_30FPS_12BIT_WDR2TO1 #################
SENSOR0_TYPE ?= OV_OS08A20_MIPI_8M_30FPS_12BIT
SENSOR1_TYPE ?= OV_OS08A20_MIPI_8M_30FPS_12BIT
SENSOR2_TYPE ?= OV_OS08A20_MIPI_8M_30FPS_12BIT
SENSOR3_TYPE ?= OV_OS08A20_MIPI_8M_30FPS_12BIT
CFLAGS += -DSENSOR0_TYPE=$(SENSOR0_TYPE)
CFLAGS += -DSENSOR1_TYPE=$(SENSOR1_TYPE)
CFLAGS += -DSENSOR2_TYPE=$(SENSOR2_TYPE)
CFLAGS += -DSENSOR3_TYPE=$(SENSOR3_TYPE)
CFLAGS += -DCONFIG_SUPPORT_SAMPLE_ROTATION
################ select audio codec type for your sample ################
#external acodec
#ACODEC_TYPE ?= ACODEC_TYPE_ES8388
ACODEC_TYPE ?= ACODEC_TYPE_INNER
INNER_HDMI ?= y
ifeq ($(ACODEC_TYPE), ACODEC_TYPE_ES8388)
CFLAGS += -DOT_ACODEC_TYPE_ES8388
endif
ifeq ($(INNER_HDMI), y)
CFLAGS += -DOT_ACODEC_TYPE_HDMI
endif
ifeq ($(ACODEC_TYPE), ACODEC_TYPE_INNER)
CFLAGS += -DOT_ACODEC_TYPE_INNER
endif
CFLAGS += -DOT_VQE_USE_STATIC_MODULE_REGISTER
CFLAGS += -DOT_AAC_USE_STATIC_MODULE_REGISTER
CFLAGS += -DOT_AAC_HAVE_SBR_LIB
CURRENT_PATH =$(shell pwd)
SAMPLE_PATH =$(shell pwd)/sample
INCLUDES =-I$(CURRENT_PATH)/include/hisilicon
INCLUDES +=-I$(CURRENT_PATH)/include/hisilicon/exp_inc
INCLUDES +=-I$(CURRENT_PATH)/include/hisilicon/osal/include
INCLUDES +=-I$(CURRENT_PATH)/include/hisilicon/npu
INCLUDES +=-I$(CURRENT_PATH)/include/hisilicon/svp_npu
INCLUDES +=-I$(CURRENT_PATH)/include/3rdparty
INCLUDES +=-I$(CURRENT_PATH)/include/vendor
INCLUDES +=-I$(CURRENT_PATH)/sample/common/
INCLUDES +=-I$(CURRENT_PATH)/sample/audio/adp/
INCLUDES +=-I$(CURRENT_PATH)/sample/hdmi/include/
INCLUDES +=-I$(CURRENT_PATH)/sample/scene_auto/include/
INCLUDES +=-I$(CURRENT_PATH)/sample/scene_auto/src/core/
INCLUDES +=-I$(CURRENT_PATH)/sample/scene_auto/src/sample/
INCLUDES +=-I$(CURRENT_PATH)/sample/scene_auto/tools/configaccess/include/
INCLUDES +=-I$(CURRENT_PATH)/sample/svc_rate_auto/include/
INCLUDES +=-I$(CURRENT_PATH)/sample/svp/common/
INCLUDES +=-I$(CURRENT_PATH)/sample/svp/dpu/common/
INCLUDES +=-I$(CURRENT_PATH)/sample/svp/dpu/sample_svp_dpu/
INCLUDES +=-I$(CURRENT_PATH)/sample/svp/dsp/sample/
INCLUDES +=-I$(CURRENT_PATH)/sample/svp/dsp/encapsulation/include/
INCLUDES +=-I$(CURRENT_PATH)/sample/svp/ive/sample/
INCLUDES +=-I$(CURRENT_PATH)/sample/svp/mau/include/
INCLUDES +=-I$(CURRENT_PATH)/sample/svp/npu/include/
INCLUDES +=-I$(CURRENT_PATH)/sample/svp/svp_npu/include/
REL_INC =$(INCLUDES)
export REL_INC
REL_LIB =$(CURRENT_PATH)/lib/hisilicon
export REL_LIB
MPI_LIBS_PATH =$(CURRENT_PATH)/lib/hisilicon
3RD_LIBS_PATH =$(CURRENT_PATH)/lib/3rdparty
MPI_LIBS += $(MPI_LIBS_PATH)/libss_mpi.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_ae.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_isp.a
MPI_LIBS += $(MPI_LIBS_PATH)/libot_isp.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_awb.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_dehaze.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_extend_stats.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_drc.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_ldci.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_crb.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_bnr.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_calcflicker.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_ir_auto.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_acs.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_acs.a
MPI_LIBS += $(MPI_LIBS_PATH)/libsns_os08a20.a
MPI_LIBS += $(MPI_LIBS_PATH)/libsns_os05a10_2l_slave.a
MPI_LIBS += $(MPI_LIBS_PATH)/libsns_imx347_slave.a
MPI_LIBS += $(MPI_LIBS_PATH)/libsns_imx485.a
MPI_LIBS += $(MPI_LIBS_PATH)/libsns_os04a10.a
MPI_LIBS += $(MPI_LIBS_PATH)/libsns_os08b10.a
MPI_LIBS += $(MPI_LIBS_PATH)/libheif.a
MPI_LIBS += $(MPI_LIBS_PATH)/libfileformat.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_hdmi.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_ive.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_md.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_mau.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_dpu_rect.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_dpu_match.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_dsp.a
MPI_LIBS += $(MPI_LIBS_PATH)/svp_npu/libsvp_acl.a
MPI_LIBS += $(MPI_LIBS_PATH)/svp_npu/libprotobuf-c.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_pqp.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_hnr.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_mcf.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_mcf_vi.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_avslut.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_pos_query.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_avsconvert.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_cipher.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_klad.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_tde.a
ifeq ($(CONFIG_OT_ISP_HNR_SUPPORT), y)
CFLAGS += -DSAMPLE_HNR_SUPPORT
MPI_LIBS += $(MPI_LIBS_PATH)/libpqp.a
MPI_LIBS += $(MPI_LIBS_PATH)/libhnr.a
endif
MPI_LIBS += $(MPI_LIBS_PATH)/libss_motionfusion.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_mcf.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_mcf_vi.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_mcfcalibrate.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_pciv.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_snap.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_photo.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_dsp.a
MPI_LIBS += $(MPI_LIBS_PATH)/libhdr_ap.a
MPI_LIBS += $(MPI_LIBS_PATH)/libmfnr_ap.a
MPI_LIBS += $(MPI_LIBS_PATH)/libsfnr_ap.a
MPI_LIBS += $(MPI_LIBS_PATH)/libdetail_ap.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_snap.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_uvc.a
MPI_LIBS += $(3RD_LIBS_PATH)/libiniparser.a
MPI_LIBS += $(3RD_LIBS_PATH)/libxvp_pseudo.a
MPI_LIBS += $(3RD_LIBS_PATH)/libxproc.a
NPU_CFLAGS = -L$(MPI_LIBS_PATH)/npu/stub -lascendcl
MPI_LIBS += -fno-common -Wl,-z,relro -Wl,-z,noexecstack -Wl,-z,now,-s -fno-aggressive-loop-optimizations -mcpu=cortex-a55 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -ldl -rdynamic
MPI_LIBS += -L$(REL_LIB)
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libss_voice_engine.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libss_upvqe.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libss_dnvqe.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libaac_comm.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libaac_enc.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libaac_dec.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libaac_sbr_enc.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libaac_sbr_dec.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libvqe_res.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libvqe_record.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libvqe_hpf.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libvqe_anr.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libvqe_aec.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libvqe_agc.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libvqe_eq.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libvqe_talkv2.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libvqe_wnr.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libaac_dec.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libaac_enc.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libaac_comm.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libaac_sbr_dec.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libaac_sbr_enc.a
AUDIO_LIBS +=$(MPI_LIBS_PATH)/libsecurec.a
SCENE_AUTO_MCF_SUPPORT ?= n
SCENE_AUTO_HNR_SUPPORT ?= n
ifeq ($(SCENE_AUTO_MCF_SUPPORT), y)
CFLAGS += -DMCF_SCENE_AUTO_USED
MPI_LIBS += $(MPI_LIBS_PATH)/libss_mcf.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_mcf_vi.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_mcfcalibrate.a
endif
ifeq ($(SCENE_AUTO_HNR_SUPPORT), y)
CFLAGS += -DHNR_SCENE_AUTO_USED
MPI_LIBS += $(MPI_LIBS_PATH)/libss_hnr.a
MPI_LIBS += $(MPI_LIBS_PATH)/libss_pqp.a
endif
COMM_SRC =$(wildcard $(CURRENT_PATH)/sample/common/*.c)
COMM_OBJ =$(patsubst %.c, %.o, $(COMM_SRC))
AUDIO_SRC =$(wildcard $(CURRENT_PATH)/sample/audio/*.c)
AUDIO_SRC +=$(wildcard $(CURRENT_PATH)/sample/audio/adp/*.c)
AUDIO_OBJ =$(patsubst %.c, %.o, $(AUDIO_SRC))
AVS_SRC =$(wildcard $(CURRENT_PATH)/sample/avs/*.c)
AVS_OBJ =$(patsubst %.c, %.o, $(AVS_SRC))
AWB_SRC =$(wildcard $(CURRENT_PATH)/sample/awb_online_calibration/*.c)
AWB_OBJ =$(patsubst %.c, %.o, $(AWB_SRC))
BITRATE_AUTO_SRC=$(wildcard $(CURRENT_PATH)/sample/bitrate_auto/*.c)
BITRATE_AUTO_OBJ=$(patsubst %.c, %.o, $(BITRATE_AUTO_SRC))
CIPHER_SRC =$(wildcard $(CURRENT_PATH)/sample/cipher/*.c)
CIPHER_OBJ =$(patsubst %.c, %.o, $(CIPHER_SRC))
COMPOSITE_SRC =$(wildcard $(CURRENT_PATH)/sample/composite/*.c)
COMPOSITE_OBJ =$(patsubst %.c, %.o, $(COMPOSITE_SRC))
CORRELATION_CAL_SRC =$(wildcard $(CURRENT_PATH)/sample/correlation_calc/*.c)
CORRELATION_CAL_OBJ =$(patsubst %.c, %.o, $(CORRELATION_CAL_SRC))
DIS_SRC =$(wildcard $(CURRENT_PATH)/sample/dis/*.c)
DIS_OBJ =$(patsubst %.c, %.o, $(DIS_SRC))
DYNAMIC_BLC_ONLINE_SRC =$(wildcard $(CURRENT_PATH)/sample/dynamic_blc_online_cali/*.c)
DYNAMIC_BLC_ONLINE_OBJ =$(patsubst %.c, %.o, $(DYNAMIC_BLC_ONLINE_SRC))
FISHEYE_SRC =$(wildcard $(CURRENT_PATH)/sample/fisheye/*.c)
FISHEYE_OBJ =$(patsubst %.c, %.o, $(FISHEYE_SRC))
GFBG_SRC =$(wildcard $(CURRENT_PATH)/sample/gfbg/*.c)
GFBG_OBJ =$(patsubst %.c, %.o, $(GFBG_SRC))
HDMI_SRC =$(wildcard $(CURRENT_PATH)/sample/hdmi/*.c)
HDMI_OBJ =$(patsubst %.c, %.o, $(HDMI_SRC))
HEIF_SRC =$(wildcard $(CURRENT_PATH)/sample/heif/*.c)
HEIF_OBJ =$(patsubst %.c, %.o, $(HEIF_SRC))
HNR_SRC =$(wildcard $(CURRENT_PATH)/sample/hnr/*.c)
HNR_OBJ =$(patsubst %.c, %.o, $(HNR_SRC))
HOST_UVC_SRC =$(wildcard $(CURRENT_PATH)/sample/host_uvc/*.c)
HOST_UVC_OBJ =$(patsubst %.c, %.o, $(HOST_UVC_SRC))
LSC_ONLINE_SRC =$(wildcard $(CURRENT_PATH)/sample/lsc_online_cali/*.c)
LSC_ONLINE_OBJ =$(patsubst %.c, %.o, $(LSC_ONLINE_SRC))
MCF_SRC =$(wildcard $(CURRENT_PATH)/sample/mcf/*.c)
MCF_OBJ =$(patsubst %.c, %.o, $(MCF_SRC))
PCIV_HOST_SRC =$(CURRENT_PATH)/sample/pciv/sample_pciv_host.c
PCIV_HOST_SRC +=$(CURRENT_PATH)/sample/pciv/pciv_trans.c
PCIV_HOST_SRC +=$(CURRENT_PATH)/sample/pciv/pciv_msg.c
PCIV_HOST_OBJ =$(patsubst %.c, %.o, $(PCIV_HOST_SRC))
PCIV_SLAVE_SRC =$(CURRENT_PATH)/sample/pciv/sample_pciv_slave.c
PCIV_SLAVE_SRC +=$(CURRENT_PATH)/sample/pciv/pciv_trans.c
PCIV_SLAVE_SRC +=$(CURRENT_PATH)/sample/pciv/pciv_msg.c
PCIV_SLAVE_OBJ =$(patsubst %.c, %.o, $(PCIV_SLAVE_SRC))
PHOTO_SRC =$(wildcard $(CURRENT_PATH)/sample/photo/*.c)
PHOTO_OBJ =$(patsubst %.c, %.o, $(PHOTO_SRC))
REGION_SRC =$(wildcard $(CURRENT_PATH)/sample/region/*.c)
REGION_OBJ =$(patsubst %.c, %.o, $(REGION_SRC))
SCENE_AUTO_SRC =$(wildcard $(CURRENT_PATH)/sample/scene_auto/src/core/*.c)
SCENE_AUTO_SRC +=$(wildcard $(CURRENT_PATH)/sample/scene_auto/src/sample/*.c)
SCENE_AUTO_SRC +=$(wildcard $(CURRENT_PATH)/sample/scene_auto/tools/configaccess/src/*.c)
SCENE_AUTO_OBJ =$(patsubst %.c, %.o, $(SCENE_AUTO_SRC))
SNAP_SRC =$(wildcard $(CURRENT_PATH)/sample/snap/*.c)
SNAP_OBJ =$(patsubst %.c, %.o, $(SNAP_SRC))
SVP_RATE_AUTO_SRC =$(wildcard $(CURRENT_PATH)/sample/svc_rate_auto/*.c)
SVP_RATE_AUTO_SRC +=$(wildcard $(CURRENT_PATH)/sample/svc_rate_auto/src/*.c)
SVP_RATE_AUTO_OBJ =$(patsubst %.c, %.o, $(SVP_RATE_AUTO_SRC))
DPU_SRC =$(wildcard $(CURRENT_PATH)/sample/svp/common/*.c)
DPU_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/dpu/*.c)
DPU_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/dpu/common/*.c)
DPU_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/dpu/sample_svp_dpu/*.c)
DPU_OBJ =$(patsubst %.c, %.o, $(DPU_SRC))
DSP_SRC =$(wildcard $(CURRENT_PATH)/sample/svp/common/*.c)
DSP_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/dsp/*.c)
DSP_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/dsp/encapsulation/src/*.c)
DSP_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/dsp/sample/*.c)
DSP_OBJ =$(patsubst %.c, %.o, $(DSP_SRC))
IVE_SRC =$(wildcard $(CURRENT_PATH)/sample/svp/common/*.c)
IVE_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/ive/*.c)
IVE_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/ive/sample/*.c)
IVE_OBJ =$(patsubst %.c, %.o, $(IVE_SRC))
MAU_SRC =$(wildcard $(CURRENT_PATH)/sample/svp/common/*.c)
MAU_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/mau/*.c)
MAU_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/mau/sample_svp_mau/*.c)
MAU_OBJ =$(patsubst %.c, %.o, $(MAU_SRC))
NPU_SRC =$(wildcard $(CURRENT_PATH)/sample/svp/common/*.c)
NPU_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/npu/*.c)
NPU_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/npu/sample_svp_npu/*.c)
NPU_OBJ =$(patsubst %.c, %.o, $(NPU_SRC))
SVP_NPU_SRC =$(wildcard $(CURRENT_PATH)/sample/svp/common/*.c)
SVP_NPU_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/svp_npu/*.c)
SVP_NPU_SRC +=$(wildcard $(CURRENT_PATH)/sample/svp/svp_npu/sample_svp_npu/*.c)
SVP_NPU_OBJ =$(patsubst %.c, %.o, $(SVP_NPU_SRC))
TDE_SRC =$(wildcard $(CURRENT_PATH)/sample/tde/*.c)
TDE_OBJ =$(patsubst %.c, %.o, $(TDE_SRC))
TRAFFIC_CAPTURE_SRC =$(wildcard $(CURRENT_PATH)/sample/traffic_capture/*.c)
TRAFFIC_CAPTURE_OBJ =$(patsubst %.c, %.o, $(TRAFFIC_CAPTURE_SRC))
UAC_COMPILE := n
#UAC_COMPILE := y
UVC_COMPILE := y
ifeq ($(UAC_COMPILE), y)
CFLAGS += -DOT_UAC_COMPILE
endif
ifeq ($(UVC_COMPILE), y)
CFLAGS += -DOT_UVC_COMPILE
endif
# ALSA
ifeq ($(UAC_COMPILE), y)
AUDIO_ALSA_DIR ?= $(CURRENT_PATH)/sample/uvc_app/alsa/$(OS_TYPE)
INCLUDES += -I$(AUDIO_ALSA_DIR)/include
MPI_LIBS += -L$(AUDIO_ALSA_DIR)/lib/ -lasound
endif
UVC_APP_SRC =$(wildcard $(CURRENT_PATH)/sample/uvc_app/*.c)
UVC_APP_OBJ =$(patsubst %.c, %.o, $(UVC_APP_SRC))
ifeq ($(UAC_COMPILE), y)
else
UVC_APP_OBJ :=$(filter-out $(CURRENT_PATH)/sample/uvc_app/sample_audio.o, $(UVC_APP_OBJ))
endif
VDEC_SRC =$(wildcard $(CURRENT_PATH)/sample/vdec/*.c)
VDEC_OBJ =$(patsubst %.c, %.o, $(VDEC_SRC))
VENC_SRC =$(wildcard $(CURRENT_PATH)/sample/venc/*.c)
VENC_OBJ =$(patsubst %.c, %.o, $(VENC_SRC))
VGS_SRC =$(wildcard $(CURRENT_PATH)/sample/vgs/*.c)
VGS_OBJ =$(patsubst %.c, %.o, $(VGS_SRC))
VIO_SRC =$(wildcard $(CURRENT_PATH)/sample/vio/*.c)
VIO_OBJ =$(patsubst %.c, %.o, $(VIO_SRC))
VO_SRC =$(wildcard $(CURRENT_PATH)/sample/vo/*.c)
VO_OBJ =$(patsubst %.c, %.o, $(VO_SRC))
XVP_PSEUDO_SRC =$(wildcard $(CURRENT_PATH)/sample/xvp_pseudo/*.c)
XVP_PSEUDO_OBJ =$(patsubst %.c, %.o, $(XVP_PSEUDO_SRC))
BINARY_NAME = sample_$@
TARGET_PATH = $(CURRENT_PATH)/bin
all: audio avs awb_online_calibration bitrate_auto cipher composite correlation_calc dis dynamic_blc_online_cali fisheye gfbg hdmi heif hnr host_uvc lsc_online_cali mcf pciv_host pciv_slave photo region scene_auto snap svc_rate_auto dpu dsp ive mau npu svp_npu tde traffic_capture uvc_app vdec venc vgs vio vo xvp_pseudo
audio:$(COMM_OBJ) $(AUDIO_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
avs:$(COMM_OBJ) $(AVS_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
awb_online_calibration:$(COMM_OBJ) $(AWB_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
bitrate_auto:$(COMM_OBJ) $(BITRATE_AUTO_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
cipher:$(COMM_OBJ) $(CIPHER_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
composite:$(COMM_OBJ) $(COMPOSITE_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
correlation_calc:$(COMM_OBJ) $(CORRELATION_CAL_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
dis:$(COMM_OBJ) $(DIS_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
dynamic_blc_online_cali:$(COMM_OBJ) $(DYNAMIC_BLC_ONLINE_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
fisheye:$(COMM_OBJ) $(FISHEYE_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
gfbg:$(COMM_OBJ) $(GFBG_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
hdmi:$(COMM_OBJ) $(HDMI_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
heif:$(COMM_OBJ) $(HEIF_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
hnr:$(COMM_OBJ) $(HNR_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
host_uvc:$(COMM_OBJ) $(HOST_UVC_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
lsc_online_cali:$(COMM_OBJ) $(LSC_ONLINE_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
mcf:$(COMM_OBJ) $(MCF_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
pciv_host:$(COMM_OBJ) $(PCIV_HOST_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
pciv_slave:$(COMM_OBJ) $(PCIV_SLAVE_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
photo:$(COMM_OBJ) $(PHOTO_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
region:$(COMM_OBJ) $(REGION_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
scene_auto:$(COMM_OBJ) $(SCENE_AUTO_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
snap:$(COMM_OBJ) $(SNAP_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
svc_rate_auto:$(COMM_OBJ) $(SVP_RATE_AUTO_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
dpu:$(COMM_OBJ) $(DPU_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
dsp:$(COMM_OBJ) $(DSP_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
ive:$(COMM_OBJ) $(IVE_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
mau:$(COMM_OBJ) $(MAU_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
npu:$(COMM_OBJ) $(NPU_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) $(NPU_CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
svp_npu:$(COMM_OBJ) $(SVP_NPU_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
tde:$(COMM_OBJ) $(TDE_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
traffic_capture:$(COMM_OBJ) $(TRAFFIC_CAPTURE_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
uvc_app:$(COMM_OBJ) $(UVC_APP_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
vdec:$(COMM_OBJ) $(VDEC_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
venc:$(COMM_OBJ) $(VENC_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
vgs:$(COMM_OBJ) $(VGS_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
vio:$(COMM_OBJ) $(VIO_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
vo:$(COMM_OBJ) $(VO_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
xvp_pseudo:$(COMM_OBJ) $(XVP_PSEUDO_OBJ)
@mkdir -p $(TARGET_PATH)
@$(CC) $(CFLAGS) -o $(TARGET_PATH)/$(BINARY_NAME) $^ -Wl,--start-group $(MPI_LIBS) $(AUDIO_LIBS) $(MPI_LIBS_PATH)/libsecurec.a -lm -lc -Wl,--end-group
$(STRIP) $(TARGET_PATH)/$(BINARY_NAME)
#compile
%.o: %.c
$(CC) $(INCLUDES) -c $(CFLAGS) $< -o $@
%.o: %.cpp
$(CXX) $(INCLUDES) -c $(CFLAGS) $< -o $@
.PHONY:clean
clean:
@echo "Remove linked and compiled files......"
@rm -rf $(COMM_OBJ) $(AUDIO_OBJ) $(AVS_OBJ) $(AWB_OBJ) $(BITRATE_AUTO_OBJ) $(CIPHER_OBJ) $(COMPOSITE_OBJ)
@rm -rf $(CORRELATION_CAL_OBJ) $(DIS_OBJ) $(DYNAMIC_BLC_ONLINE_OBJ) $(FISHEYE_OBJ) $(GFBG_OBJ) $(HDMI_OBJ)
@rm -rf $(HEIF_OBJ) $(HNR_OBJ) $(HOST_UVC_OBJ) $(LSC_ONLINE_OBJ) $(MCF_OBJ) $(PCIV_HOST_OBJ) $(PCIV_SLAVE_OBJ)
@rm -rf $(PHOTO_OBJ) $(REGION_OBJ) $(SCENE_AUTO_OBJ) $(SNAP_OBJ) $(SVP_RATE_AUTO_OBJ) $(DPU_OBJ) $(DSP_OBJ)
@rm -rf $(IVE_OBJ) $(MAU_OBJ) $(NPU_OBJ) $(SVP_NPU_OBJ) $(TDE_OBJ) $(TRAFFIC_CAPTURE_OBJ) $(UVC_APP_OBJ)
@rm -rf $(VDEC_OBJ) $(VENC_OBJ) $(VGS_OBJ) $(VIO_OBJ) $(VO_OBJ) $(XVP_PSEUDO_OBJ)
@rm -rf $(TARGET_PATH)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/uncleroderick/SS928V100_SDK_V2.0.2.2_Open_Source_MPP_Sample.git
git@gitee.com:uncleroderick/SS928V100_SDK_V2.0.2.2_Open_Source_MPP_Sample.git
uncleroderick
SS928V100_SDK_V2.0.2.2_Open_Source_MPP_Sample
SS928V100_SDK_V2.0.2.2_Open_Source_MPP_Sample
master

搜索帮助