Hi there, I'm trying to build and run the sample test application h264venc-r, as per the h264_encoder_dm365_userguide section 2.3, however, I'm having an issue with the makefile for the h264 encoder. Here is a printout of what I'm getting after typing make within the directory /home/drichardson/ti-dvsdk_dm368-evm_4_02_00_06/codecs-dm365_4_02_00_00/packages/ti/sdo/codecs/h264enc/apps/client/build/arm926:
cat: h264venc_ti_dm365testapp_linux/compiler.opt: No such file or directory
/home/drichardson/CodeSourcery/Sourcery_G++_Lite//bin/arm-none-linux-gnueabi-gcc -I../../test/inc -I../../../inc -I../../../../H264_dma/inc -I../../../../csl/arm/include -I../../../../csl/kld/include -I /home/drichardson/ti-dvsdk_dm368-evm_4_02_00_06/psp/linux-2.6.32.17-psp03.01.01.39/include -I /home/drichardson/ti-dvsdk_dm368-evm_4_02_00_06/xdais_6_26_01_03/packages/ti/xdais/include -g -D"LOW_LATENCY_FEATURE" -D"_ARM926" -D"ON_LINUX" -D"H264ENC_EDMA" -D"_DEBUG" -D"DM365_IPC_INTC_ENABLE" -U"ENABLE_CACHE" -D"SEI_USERDATA_INSERTION" -U"BASE_PARAMS" -D"DEVICE_ID_CHECK" -U"PASS_SAD_MV_APPL" -U"ENABLE_ARM926_TCM" -D"ENABLE_ROI" -D"SIMPLE_TWO_PASS" -U"PROFILE_ONLINUX" -D"MEGA_PIX" -c -g -D"LOW_LATENCY_FEATURE" -D"_ARM926" -D"ON_LINUX" -D"H264ENC_EDMA" -D"_DEBUG" -D"DM365_IPC_INTC_ENABLE" -U"ENABLE_CACHE" -D"SEI_USERDATA_INSERTION" -U"BASE_PARAMS" -D"DEVICE_ID_CHECK" -U"PASS_SAD_MV_APPL" -U"ENABLE_ARM926_TCM" -D"ENABLE_ROI" -D"SIMPLE_TWO_PASS" -U"PROFILE_ONLINUX" -D"MEGA_PIX" -o release/alg_control.o ../../test/src/alg_control.c
../../test/src/alg_control.c:19:21: error: xdc/std.h: No such file or directory
../../test/src/alg_control.c:20:37: error: ti/sdo/fc/utils/api/alg.h: No such file or directory
../../test/src/alg_control.c:21:28: error: ti/xdais/ialg.h: No such file or directory
../../test/src/alg_control.c:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ALG_control'
make: *** [alg_control.o] Error 1
It seems to be having trouble linking the header files specified in alg_control.c
Any ideas what needs to be added to makefile to get it to compile and link?
Thanks
Derek
ps. Here is a printout of the makefile
ROOTDIR = ./
TARGET = h264venc
REL_LIB = $(TARGET)-r.a
REL_BIN = $(TARGET)-r
ALG_LIB1 = ../../../../lib/h264venc_ti_arm926.a
ALG_LIB2 = ../../../../lib/h264v_ti_dma_dm365.a
include $(ROOTDIR)/rules.make
CGTOOLS = $(MVTOOL_DIR)
CEPATH = $(CE_INSTALL_DIR)
XDC_PATH = $(XDAIS_INSTALL_DIR)/packages;$(LINUXUTILS_INSTALL_DIR)/packages;$(FC_INSTALL_DIR)/packages;$(FC_INSTALL_DIR)/examples;$(CEPATH)/packages;$(CEPATH)/cetools/packages;$(LINUXUTILS_INSTALL_DIR)/packages;
#Configuro Changes
#Base name of app's config script - This needs to externally specified while
#building DVTB
ifeq ($(COMPILER),mvl)
XDCTARGET = gnu.targets.MVArm9
else
ifeq ($(COMPILER),cst)
XDCTARGET = gnu.targets.arm.GCArmv5T
else
$(error COMPILER option not set correctly: $(COMPILER))
endif
endif
XDCPLATFORM = ti.platforms.evmDM365
#Configuro generated files
XDC_COMPILER_FILE = $(CONFIGPKG)/compiler.opt
XDC_LINKER_FILE = $(CONFIGPKG)/linker.cmd
CONFIGPKG = h264venc_ti_dm365testapp_linux
#Path to Configuro utility
CONFIGURO = XDCPATH="$(XDC_PATH)" $(XDC_INSTALL_DIR)/xs xdc.tools.configuro
C_FLAGS += -g -D"LOW_LATENCY_FEATURE" -D"_ARM926" -D"ON_LINUX" -D"H264ENC_EDMA" -D"_DEBUG" -D"DM365_IPC_INTC_ENABLE" -U"ENABLE_CACHE" -D"SEI_USERDATA_INSERTION" -U"BASE_PARAMS" -D"DEVICE_ID_CHECK" -U"PASS_SAD_MV_APPL" -U"ENABLE_ARM926_TCM" -D"ENABLE_ROI" -D"SIMPLE_TWO_PASS" -U"PROFILE_ONLINUX" -D"MEGA_PIX"
INCLUDES += -I../../test/inc -I../../../inc -I../../../../H264_dma/inc -I../../../../csl/arm/include -I../../../../csl/kld/include \
-I $(LINUXKERNEL_INSTALL_DIR)/include -I $(XDAIS_INSTALL_DIR)/packages/ti/xdais/include
LD_LIBS += -lpthread $(EDITLINE_LIB) -lstdc++ $(ALG_LIB1) $(ALG_LIB2)
AR_FLAGS += -r
CC = $(MVTOOL_PREFIX)gcc $(INCLUDES) $(C_FLAGS) $(shell cat $(XDC_COMPILER_FILE)) -c
AR = $(MVTOOL_PREFIX)ar
LN = $(MVTOOL_PREFIX)gcc
REL_FLAGS =
SOURCES = $(wildcard *.c)
REL_OBJ = $(SOURCES:%.c=release/%.o)
OBJECTS = alg_control.o alg_create.o alg_malloc.o h264encoderapp.o h264venc.o #hdvicp_framework.o
OBJECTS1 = ./release/alg_control.o ./release/alg_create.o ./release/alg_malloc.o ./release/h264encoderapp.o ./release/h264venc.o #./release/hdvicp_framework.o
all: $(REL_BIN)
#Dependency on Config package
$(XDC_COMPILER_FILE) $(XDC_LINKER_FILE) : $(CONFIGPKG)
#Config package dependency
ifeq ($(COMPILER),mvl)
$(CONFIGPKG) : $(CONFIGPKG).cfg
@mkdir -p release
$(CONFIGURO) -c $(MVTOOL_DIR) -o $(CONFIGPKG) -t $(XDCTARGET) -p $(XDCPLATFORM) $(CONFIGPKG).cfg
else
ifeq ($(COMPILER),cst)
$(CONFIGPKG) : $(CONFIGPKG).cfg
@mkdir -p release
@$(CONFIGURO) -c $(MVTOOL_DIR) -o $(CONFIGPKG) -t $(XDCTARGET) -p $(XDCPLATFORM) -b ./config.bld $(CONFIGPKG).cfg
else
$(error COMPILER option not set correctly: $(COMPILER))
endif
endif
$(REL_OBJ): release/%.o: %.c $(XDC_COMPILER_FILE)
@mkdir -p release
$(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o $@ $<
alg_control.o:
$(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/alg_control.o ../../test/src/alg_control.c
alg_create.o:
$(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/alg_create.o ../../test/src/alg_create.c
alg_malloc.o:
$(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/alg_malloc.o ../../test/src/alg_malloc.c
h264encoderapp.o:
$(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/h264encoderapp.o ../../test/src/h264encoderapp.c
#h264encoderapp.o:
# $(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/h264encoderapp.o ../../test/src/h264encoderapp_base.c
hdvicp_framework.o:
$(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/hdvicp_framework.o ../../test/src/hdvicp_framework.c
h264venc.o:
$(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/h264venc.o ../../test/src/h264venc.c
testapp_arm926intc.o:
$(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/testapp_arm926intc.o ../../test/src/testapp_arm926intc.c
$(REL_BIN): $(XDC_LINKER_FILE) $(OBJECTS)
$(LN) -o $@ $(OBJECTS1) $(LD_LIBS) $(XDC_LINKER_FILE)
clean::
-rm -rf release
-rm -rf $(REL_LIB)
-rm -rf $(REL_BIN)
-rm -rf $(CONFIGPKG)
copy:
cp h264venc-r /opt/yashwant/target/root/h264linux/h264_encoder/client/build/arm926/
Also, here is the associated rules.make:
#Set the compiler option to be used for building testapp. mvl = Montvista Cross Compiler, cst = CodeSourcery_Toolchain
COMPILER = cst
# The installation directory of the DVSDK.
DVSDK_INSTALL_DIR=/home/drichardson/ti-dvsdk_dm368-evm_4_02_00_06
# Set location of various tools
XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdctools_3_16_03_36
LINUXKERNEL_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/psp/linux-2.6.32.17-psp03.01.01.39
CSTOOL_DIR=/home/drichardson/CodeSourcery/Sourcery_G++_Lite/
CSTOOL_PREFIX=$(CSTOOL_DIR)/bin/arm-none-linux-gnueabi-
MVTOOL_DIR=$(CSTOOL_DIR)
MVTOOL_PREFIX=$(CSTOOL_PREFIX)
CGTOOLS=$(MVTOOL_DIR)
FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework-components_2_26_00_01
LINUXUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/linuxutils_2_26_01_02
XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_26_01_03
CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec-engine_2_26_02_11