0002-wave420l-fix-building-issue-and-support-the-vendor-c.patch 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. From ec8e1c94de16680f287b7d56b3674269ad7ed707 Mon Sep 17 00:00:00 2001
  2. From: Andy Hu <andy.hu@starfivetech.com>
  3. Date: Fri, 18 Nov 2022 12:51:32 +0800
  4. Subject: [PATCH] wave420l: fix building issue and support the vendor code
  5. building
  6. ---
  7. wave420l/code/Wave420Enc.mak | 2 +-
  8. wave420l/code/WaveEncoder_buildroot.mak | 47 ++++++++++++++++++++++++-
  9. wave420l/code/build.sh | 13 ++++---
  10. wave420l/code/sample/helper/vpuhelper.c | 24 +++++++++----
  11. wave420l/code/theoraparser/Makefile | 2 +-
  12. 5 files changed, 75 insertions(+), 13 deletions(-)
  13. diff --git a/wave420l/code/Wave420Enc.mak b/wave420l/code/Wave420Enc.mak
  14. index f719fa8..8b23cd4 100644
  15. --- a/wave420l/code/Wave420Enc.mak
  16. +++ b/wave420l/code/Wave420Enc.mak
  17. @@ -43,7 +43,7 @@ ifeq ("$(BUILD_CONFIGURATION)", "EmbeddedLinux")
  18. endif
  19. ifeq ("$(BUILD_CONFIGURATION)", "RiscvLinux")
  20. - CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
  21. + CROSS_CC_PREFIX =
  22. PLATFORM = riscvlinux
  23. USE_FFMPEG = no
  24. USE_PTHREAD = yes
  25. diff --git a/wave420l/code/WaveEncoder_buildroot.mak b/wave420l/code/WaveEncoder_buildroot.mak
  26. index a6ea84d..1f6b938 100755
  27. --- a/wave420l/code/WaveEncoder_buildroot.mak
  28. +++ b/wave420l/code/WaveEncoder_buildroot.mak
  29. @@ -43,7 +43,8 @@ ifeq ("$(BUILD_CONFIGURATION)", "EmbeddedLinux")
  30. endif
  31. ifeq ("$(BUILD_CONFIGURATION)", "RiscvLinux")
  32. - CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
  33. +# CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
  34. + CROSS_CC_PREFIX =
  35. PLATFORM = riscvlinux
  36. USE_FFMPEG = no
  37. USE_PTHREAD = yes
  38. @@ -273,3 +274,47 @@ endif
  39. force_dependency :
  40. true
  41. +TARGET_DIR=../../target
  42. +STAGING_DIR=$(TARGET_DIR)
  43. +INSTALL=install
  44. +
  45. +install:
  46. + @echo install ...
  47. + $(INSTALL) -D -m 0777 vdi/linux/driver/load.sh $(TARGET_DIR)/root/wave420l/venc_load.sh
  48. + $(INSTALL) -D -m 0777 vdi/linux/driver/unload.sh $(TARGET_DIR)/root/wave420l/venc_unload.sh
  49. + $(INSTALL) -D -m 0644 libsfenc.so $(TARGET_DIR)/usr/lib/libsfenc.so
  50. + $(INSTALL) -D -m 0644 ../firmware/monet.bin $(TARGET_DIR)/lib/firmware/monet.bin
  51. + $(INSTALL) -D -m 0644 cfg/encoder_defconfig.cfg $(TARGET_DIR)/lib/firmware/encoder_defconfig.cfg
  52. + @echo "install STAGING_DIR ..."
  53. + $(INSTALL) -D -m 0644 vpuapi/vpuconfig.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/vpuconfig.h
  54. + $(INSTALL) -D -m 0644 vpuapi/product.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/product.h
  55. + $(INSTALL) -D -m 0644 vpuapi/vputypes.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/vputypes.h
  56. + $(INSTALL) -D -m 0644 vpuapi/vpuapi.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/vpuapi.h
  57. + $(INSTALL) -D -m 0644 vpuapi/vpuapifunc.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/vpuapifunc.h
  58. + $(INSTALL) -D -m 0644 vpuapi/coda9/coda9_vpuconfig.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/coda9/coda9_vpuconfig.h
  59. + $(INSTALL) -D -m 0644 vpuapi/coda9/coda9.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/coda9/coda9.h
  60. + $(INSTALL) -D -m 0644 vpuapi/coda9/coda9_regdefine.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/coda9/coda9_regdefine.h
  61. + $(INSTALL) -D -m 0644 vpuapi/wave/coda7q/coda7q_regdefine.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/coda7q/coda7q_regdefine.h
  62. + $(INSTALL) -D -m 0644 vpuapi/wave/coda7q/coda7q.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/coda7q/coda7q.h
  63. + $(INSTALL) -D -m 0644 vpuapi/wave/wave4/wave4.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/wave4/wave4.h
  64. + $(INSTALL) -D -m 0644 vpuapi/wave/wave4/wave4_regdefine.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/wave4/wave4_regdefine.h
  65. + $(INSTALL) -D -m 0644 vpuapi/wave/wave5/wave5.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/wave5/wave5.h
  66. + $(INSTALL) -D -m 0644 vpuapi/wave/wave5/wave5_regdefine.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/wave5/wave5_regdefine.h
  67. + $(INSTALL) -D -m 0644 vpuapi/wave/common/common.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/common/common.h
  68. + $(INSTALL) -D -m 0644 vpuapi/wave/common/common_vpuconfig.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/common/common_vpuconfig.h
  69. + $(INSTALL) -D -m 0644 vpuapi/wave/common/common_regdefine.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/wave/common/common_regdefine.h
  70. + $(INSTALL) -D -m 0644 vpuapi/vpuerror.h $(STAGING_DIR)/usr/include/wave420l/vpuapi/vpuerror.h
  71. + $(INSTALL) -D -m 0644 sample/helper/misc/pbu.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/pbu.h
  72. + $(INSTALL) -D -m 0644 sample/helper/misc/skip.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/skip.h
  73. + $(INSTALL) -D -m 0644 sample/helper/misc/getopt.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/getopt.h
  74. + $(INSTALL) -D -m 0644 sample/helper/misc/header_struct.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/header_struct.h
  75. + $(INSTALL) -D -m 0644 sample/helper/misc/debug.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/debug.h
  76. + $(INSTALL) -D -m 0644 sample/helper/msvc/inttypes.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/msvc/inttypes.h
  77. + $(INSTALL) -D -m 0644 sample/helper/msvc/stdint.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/msvc/stdint.h
  78. + $(INSTALL) -D -m 0644 sample/helper/main_helper.h $(STAGING_DIR)/usr/include/wave420l/sample/helper/main_helper.h
  79. + $(INSTALL) -D -m 0644 vdi/mm.h $(STAGING_DIR)/usr/include/wave420l/vdi/mm.h
  80. + $(INSTALL) -D -m 0644 vdi/linux/driver/vmm.h $(STAGING_DIR)/usr/include/wave420l/vdi/linux/driver/vmm.h
  81. + $(INSTALL) -D -m 0644 vdi/linux/driver/vpu.h $(STAGING_DIR)/usr/include/wave420l/vdi/linux/driver/vpu.h
  82. + $(INSTALL) -D -m 0644 vdi/vdi.h $(STAGING_DIR)/usr/include/wave420l/vdi/vdi.h
  83. + $(INSTALL) -D -m 0644 vdi/vdi_osal.h $(STAGING_DIR)/usr/include/wave420l/vdi/vdi_osal.h
  84. + $(INSTALL) -D -m 0644 config.h $(STAGING_DIR)/usr/include/wave420l/config.h
  85. diff --git a/wave420l/code/build.sh b/wave420l/code/build.sh
  86. index 14fcf3d..c5f80b0 100755
  87. --- a/wave420l/code/build.sh
  88. +++ b/wave420l/code/build.sh
  89. @@ -1,5 +1,10 @@
  90. #!/bin/bash
  91. -. ./set_env.sh
  92. +# . ./set_env.sh
  93. +export ARCH=riscv
  94. +export SUBARCH=riscv
  95. +export CROSS_COMPILE=
  96. +export BUILD_CONFIGURATION=RiscvLinux
  97. +
  98. CP="cp -rdvp"
  99. OUTPUT=venc_driver
  100. DRI_OPT=$OUTPUT/driver
  101. @@ -15,9 +20,9 @@ if [ ! -d $DRI_OPT ];then
  102. mkdir -p $DRI_OPT
  103. fi
  104. -make -f Wave420Driver.mak
  105. -$CP $DRI_SRC/venc.ko $DRI_OPT
  106. -make -f Wave420Driver.mak clean
  107. +# make -f Wave420Driver.mak
  108. +# $CP $DRI_SRC/venc.ko $DRI_OPT
  109. +# make -f Wave420Driver.mak clean
  110. make -f Wave420Enc.mak
  111. $CP $ENC_BIN $OUTPUT
  112. diff --git a/wave420l/code/sample/helper/vpuhelper.c b/wave420l/code/sample/helper/vpuhelper.c
  113. index 711375b..688dbf6 100644
  114. --- a/wave420l/code/sample/helper/vpuhelper.c
  115. +++ b/wave420l/code/sample/helper/vpuhelper.c
  116. @@ -1674,8 +1674,12 @@ Int32 GetEncOpenParam(EncOpenParam *pEncOP, TestEncConfig *pEncConfig, ENC_CFG *
  117. pEncConfig->picQpY = pCfg->PicQpY;
  118. if (pEncCfg)
  119. strcpy(pEncConfig->yuvFileName, pCfg->SrcFileName);
  120. - else
  121. - sprintf(pEncConfig->yuvFileName, "%s%s", yuvDir, pCfg->SrcFileName);
  122. + else {
  123. + if (snprintf(pEncConfig->yuvFileName, sizeof(pEncConfig->yuvFileName), "%s%s", yuvDir, pCfg->SrcFileName) >=
  124. + sizeof(pEncConfig->yuvFileName)) {
  125. + fprintf(stderr, "yuvFileName overflow -- string is truncated\n");
  126. + }
  127. + }
  128. #ifdef SUPPORT_980_RC_LIB
  129. if(pEncOP->EncStdParam.avcParam.svcExtension == TRUE)
  130. @@ -1699,8 +1703,12 @@ Int32 GetEncOpenParam(EncOpenParam *pEncOP, TestEncConfig *pEncConfig, ENC_CFG *
  131. pEncConfig->picQpY = pCfg->VopQuant;
  132. if (pEncCfg)
  133. strcpy(pEncConfig->yuvFileName, pCfg->SrcFileName);
  134. - else
  135. - sprintf(pEncConfig->yuvFileName, "%s%s", yuvDir, pCfg->SrcFileName);
  136. + else {
  137. + if (snprintf(pEncConfig->yuvFileName, sizeof(pEncConfig->yuvFileName), "%s%s", yuvDir, pCfg->SrcFileName) >=
  138. + sizeof(pEncConfig->yuvFileName)) {
  139. + fprintf(stderr, "yuvFileName overflow -- string is truncated\n");
  140. + }
  141. + }
  142. if (pCfg->ShortVideoHeader == 1) {
  143. pEncOP->bitstreamFormat = STD_H263;
  144. bitFormat = STD_H263;
  145. @@ -1711,8 +1719,12 @@ Int32 GetEncOpenParam(EncOpenParam *pEncOP, TestEncConfig *pEncConfig, ENC_CFG *
  146. return 0;
  147. if (pEncCfg)
  148. strcpy(pEncConfig->yuvFileName, pCfg->SrcFileName);
  149. - else
  150. - sprintf(pEncConfig->yuvFileName, "%s%s", yuvDir, pCfg->SrcFileName);
  151. + else {
  152. + if (snprintf(pEncConfig->yuvFileName, sizeof(pEncConfig->yuvFileName), "%s%s", yuvDir, pCfg->SrcFileName) >=
  153. + sizeof(pEncConfig->yuvFileName)) {
  154. + fprintf(stderr, "yuvFileName overflow -- string is truncated\n");
  155. + }
  156. + }
  157. if (pEncConfig->bitstreamFileName[0] == 0 && pCfg->BitStreamFileName[0] != 0)
  158. sprintf(pEncConfig->bitstreamFileName, "%s", pCfg->BitStreamFileName);
  159. diff --git a/wave420l/code/theoraparser/Makefile b/wave420l/code/theoraparser/Makefile
  160. index 0a8686f..1d904da 100644
  161. --- a/wave420l/code/theoraparser/Makefile
  162. +++ b/wave420l/code/theoraparser/Makefile
  163. @@ -11,7 +11,7 @@ ifeq ("$(BUILD_CONFIGURATION)", "NonOS")
  164. endif
  165. ifeq ("$(BUILD_CONFIGURATION)", "RiscvLinux")
  166. - CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
  167. + CROSS_CC_PREFIX =
  168. endif
  169. CC = $(CROSS_CC_PREFIX)gcc
  170. --
  171. 2.36.0