123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- From ec8e1c94de16680f287b7d56b3674269ad7ed707 Mon Sep 17 00:00:00 2001
- From: Andy Hu <andy.hu@starfivetech.com>
- Date: Fri, 18 Nov 2022 12:51:32 +0800
- Subject: [PATCH] wave420l: fix building issue and support the vendor code
- building
- ---
- wave420l/code/Wave420Enc.mak | 2 +-
- wave420l/code/WaveEncoder_buildroot.mak | 47 ++++++++++++++++++++++++-
- wave420l/code/build.sh | 13 ++++---
- wave420l/code/sample/helper/vpuhelper.c | 24 +++++++++----
- wave420l/code/theoraparser/Makefile | 2 +-
- 5 files changed, 75 insertions(+), 13 deletions(-)
- diff --git a/wave420l/code/Wave420Enc.mak b/wave420l/code/Wave420Enc.mak
- index f719fa8..8b23cd4 100644
- --- a/wave420l/code/Wave420Enc.mak
- +++ b/wave420l/code/Wave420Enc.mak
- @@ -43,7 +43,7 @@ ifeq ("$(BUILD_CONFIGURATION)", "EmbeddedLinux")
- endif
-
- ifeq ("$(BUILD_CONFIGURATION)", "RiscvLinux")
- - CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
- + CROSS_CC_PREFIX =
- PLATFORM = riscvlinux
- USE_FFMPEG = no
- USE_PTHREAD = yes
- diff --git a/wave420l/code/WaveEncoder_buildroot.mak b/wave420l/code/WaveEncoder_buildroot.mak
- index a6ea84d..1f6b938 100755
- --- a/wave420l/code/WaveEncoder_buildroot.mak
- +++ b/wave420l/code/WaveEncoder_buildroot.mak
- @@ -43,7 +43,8 @@ ifeq ("$(BUILD_CONFIGURATION)", "EmbeddedLinux")
- endif
-
- ifeq ("$(BUILD_CONFIGURATION)", "RiscvLinux")
- - CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
- +# CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
- + CROSS_CC_PREFIX =
- PLATFORM = riscvlinux
- USE_FFMPEG = no
- USE_PTHREAD = yes
- @@ -273,3 +274,47 @@ endif
- force_dependency :
- true
-
- +TARGET_DIR=../../target
- +STAGING_DIR=$(TARGET_DIR)
- +INSTALL=install
- +
- +install:
- + @echo install ...
- + $(INSTALL) -D -m 0777 vdi/linux/driver/load.sh $(TARGET_DIR)/root/wave420l/venc_load.sh
- + $(INSTALL) -D -m 0777 vdi/linux/driver/unload.sh $(TARGET_DIR)/root/wave420l/venc_unload.sh
- + $(INSTALL) -D -m 0644 libsfenc.so $(TARGET_DIR)/usr/lib/libsfenc.so
- + $(INSTALL) -D -m 0644 ../firmware/monet.bin $(TARGET_DIR)/lib/firmware/monet.bin
- + $(INSTALL) -D -m 0644 cfg/encoder_defconfig.cfg $(TARGET_DIR)/lib/firmware/encoder_defconfig.cfg
- + @echo "install STAGING_DIR ..."
- + $(INSTALL) -D -m 0644 vpuapi/vpuconfig.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/vpuconfig.h
- + $(INSTALL) -D -m 0644 vpuapi/product.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/product.h
- + $(INSTALL) -D -m 0644 vpuapi/vputypes.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/vputypes.h
- + $(INSTALL) -D -m 0644 vpuapi/vpuapi.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/vpuapi.h
- + $(INSTALL) -D -m 0644 vpuapi/vpuapifunc.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/vpuapifunc.h
- + $(INSTALL) -D -m 0644 vpuapi/coda9/coda9_vpuconfig.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/coda9/coda9_vpuconfig.h
- + $(INSTALL) -D -m 0644 vpuapi/coda9/coda9.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/coda9/coda9.h
- + $(INSTALL) -D -m 0644 vpuapi/coda9/coda9_regdefine.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/coda9/coda9_regdefine.h
- + $(INSTALL) -D -m 0644 vpuapi/wave/coda7q/coda7q_regdefine.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/coda7q/coda7q_regdefine.h
- + $(INSTALL) -D -m 0644 vpuapi/wave/coda7q/coda7q.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/coda7q/coda7q.h
- + $(INSTALL) -D -m 0644 vpuapi/wave/wave4/wave4.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/wave4/wave4.h
- + $(INSTALL) -D -m 0644 vpuapi/wave/wave4/wave4_regdefine.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/wave4/wave4_regdefine.h
- + $(INSTALL) -D -m 0644 vpuapi/wave/wave5/wave5.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/wave5/wave5.h
- + $(INSTALL) -D -m 0644 vpuapi/wave/wave5/wave5_regdefine.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/wave5/wave5_regdefine.h
- + $(INSTALL) -D -m 0644 vpuapi/wave/common/common.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/common/common.h
- + $(INSTALL) -D -m 0644 vpuapi/wave/common/common_vpuconfig.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/common/common_vpuconfig.h
- + $(INSTALL) -D -m 0644 vpuapi/wave/common/common_regdefine.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/common/common_regdefine.h
- + $(INSTALL) -D -m 0644 vpuapi/vpuerror.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/vpuerror.h
- + $(INSTALL) -D -m 0644 sample/helper/misc/pbu.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/pbu.h
- + $(INSTALL) -D -m 0644 sample/helper/misc/skip.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/skip.h
- + $(INSTALL) -D -m 0644 sample/helper/misc/getopt.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/getopt.h
- + $(INSTALL) -D -m 0644 sample/helper/misc/header_struct.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/header_struct.h
- + $(INSTALL) -D -m 0644 sample/helper/misc/debug.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/debug.h
- + $(INSTALL) -D -m 0644 sample/helper/msvc/inttypes.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/msvc/inttypes.h
- + $(INSTALL) -D -m 0644 sample/helper/msvc/stdint.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/msvc/stdint.h
- + $(INSTALL) -D -m 0644 sample/helper/main_helper.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/main_helper.h
- + $(INSTALL) -D -m 0644 vdi/mm.h $(STAGING_DIR)/usr/include/wave420l/vdi/mm.h
- + $(INSTALL) -D -m 0644 vdi/linux/driver/vmm.h $(STAGING_DIR)/usr/include/wave420l/vdi/linux/driver/vmm.h
- + $(INSTALL) -D -m 0644 vdi/linux/driver/vpu.h $(STAGING_DIR)/usr/include/wave420l/vdi/linux/driver/vpu.h
- + $(INSTALL) -D -m 0644 vdi/vdi.h $(STAGING_DIR)/usr/include/wave420l/vdi/vdi.h
- + $(INSTALL) -D -m 0644 vdi/vdi_osal.h $(STAGING_DIR)/usr/include/wave420l/vdi/vdi_osal.h
- + $(INSTALL) -D -m 0644 config.h $(STAGING_DIR)/usr/include/wave420l/config.h
- diff --git a/wave420l/code/build.sh b/wave420l/code/build.sh
- index 14fcf3d..c5f80b0 100755
- --- a/wave420l/code/build.sh
- +++ b/wave420l/code/build.sh
- @@ -1,5 +1,10 @@
- #!/bin/bash
- -. ./set_env.sh
- +# . ./set_env.sh
- +export ARCH=riscv
- +export SUBARCH=riscv
- +export CROSS_COMPILE=
- +export BUILD_CONFIGURATION=RiscvLinux
- +
- CP="cp -rdvp"
- OUTPUT=venc_driver
- DRI_OPT=$OUTPUT/driver
- @@ -15,9 +20,9 @@ if [ ! -d $DRI_OPT ];then
- mkdir -p $DRI_OPT
- fi
-
- -make -f Wave420Driver.mak
- -$CP $DRI_SRC/venc.ko $DRI_OPT
- -make -f Wave420Driver.mak clean
- +# make -f Wave420Driver.mak
- +# $CP $DRI_SRC/venc.ko $DRI_OPT
- +# make -f Wave420Driver.mak clean
-
- make -f Wave420Enc.mak
- $CP $ENC_BIN $OUTPUT
- diff --git a/wave420l/code/sample/helper/vpuhelper.c b/wave420l/code/sample/helper/vpuhelper.c
- index 711375b..688dbf6 100644
- --- a/wave420l/code/sample/helper/vpuhelper.c
- +++ b/wave420l/code/sample/helper/vpuhelper.c
- @@ -1674,8 +1674,12 @@ Int32 GetEncOpenParam(EncOpenParam *pEncOP, TestEncConfig *pEncConfig, ENC_CFG *
- pEncConfig->picQpY = pCfg->PicQpY;
- if (pEncCfg)
- strcpy(pEncConfig->yuvFileName, pCfg->SrcFileName);
- - else
- - sprintf(pEncConfig->yuvFileName, "%s%s", yuvDir, pCfg->SrcFileName);
- + else {
- + if (snprintf(pEncConfig->yuvFileName, sizeof(pEncConfig->yuvFileName), "%s%s", yuvDir, pCfg->SrcFileName) >=
- + sizeof(pEncConfig->yuvFileName)) {
- + fprintf(stderr, "yuvFileName overflow -- string is truncated\n");
- + }
- + }
-
- #ifdef SUPPORT_980_RC_LIB
- if(pEncOP->EncStdParam.avcParam.svcExtension == TRUE)
- @@ -1699,8 +1703,12 @@ Int32 GetEncOpenParam(EncOpenParam *pEncOP, TestEncConfig *pEncConfig, ENC_CFG *
- pEncConfig->picQpY = pCfg->VopQuant;
- if (pEncCfg)
- strcpy(pEncConfig->yuvFileName, pCfg->SrcFileName);
- - else
- - sprintf(pEncConfig->yuvFileName, "%s%s", yuvDir, pCfg->SrcFileName);
- + else {
- + if (snprintf(pEncConfig->yuvFileName, sizeof(pEncConfig->yuvFileName), "%s%s", yuvDir, pCfg->SrcFileName) >=
- + sizeof(pEncConfig->yuvFileName)) {
- + fprintf(stderr, "yuvFileName overflow -- string is truncated\n");
- + }
- + }
- if (pCfg->ShortVideoHeader == 1) {
- pEncOP->bitstreamFormat = STD_H263;
- bitFormat = STD_H263;
- @@ -1711,8 +1719,12 @@ Int32 GetEncOpenParam(EncOpenParam *pEncOP, TestEncConfig *pEncConfig, ENC_CFG *
- return 0;
- if (pEncCfg)
- strcpy(pEncConfig->yuvFileName, pCfg->SrcFileName);
- - else
- - sprintf(pEncConfig->yuvFileName, "%s%s", yuvDir, pCfg->SrcFileName);
- + else {
- + if (snprintf(pEncConfig->yuvFileName, sizeof(pEncConfig->yuvFileName), "%s%s", yuvDir, pCfg->SrcFileName) >=
- + sizeof(pEncConfig->yuvFileName)) {
- + fprintf(stderr, "yuvFileName overflow -- string is truncated\n");
- + }
- + }
- if (pEncConfig->bitstreamFileName[0] == 0 && pCfg->BitStreamFileName[0] != 0)
- sprintf(pEncConfig->bitstreamFileName, "%s", pCfg->BitStreamFileName);
-
- diff --git a/wave420l/code/theoraparser/Makefile b/wave420l/code/theoraparser/Makefile
- index 0a8686f..1d904da 100644
- --- a/wave420l/code/theoraparser/Makefile
- +++ b/wave420l/code/theoraparser/Makefile
- @@ -11,7 +11,7 @@ ifeq ("$(BUILD_CONFIGURATION)", "NonOS")
- endif
-
- ifeq ("$(BUILD_CONFIGURATION)", "RiscvLinux")
- - CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
- + CROSS_CC_PREFIX =
- endif
-
- CC = $(CROSS_CC_PREFIX)gcc
- --
- 2.36.0
|