stfdrv_isp_sc.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. /**
  2. ******************************************************************************
  3. * @file stfdrv_isp_sc.h
  4. * @author StarFive Isp Team
  5. * @version V1.0
  6. * @date 12/14/2019
  7. * @brief
  8. ******************************************************************************
  9. * @copy
  10. *
  11. * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  12. * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  13. * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
  14. * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  15. * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  16. * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  17. *
  18. * Copyright (C) 2019 - 2022 StarFive Technology Co., Ltd.
  19. */
  20. #ifndef __STFDRV_ISP_SC_H__
  21. #define __STFDRV_ISP_SC_H__
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif
  25. #include "stf_isp.h"
  26. #include "ci/ci_api_structs.h"
  27. /* statistics driver structure */
  28. /* statistics driver interface */
  29. //-----------------------------------------------------------------------------
  30. extern
  31. STF_RESULT STFDRV_ISP_SC_SetReg(
  32. #if defined(VIRTUAL_IO_MAPPING)
  33. CI_CONNECTION *pConnection,
  34. #endif //VIRTUAL_IO_MAPPING
  35. ST_ISP_SC_RDMA *pstIspScRdma
  36. );
  37. #if defined(EXTEND_IOCTL_COMMAND_SC)
  38. extern
  39. STF_RESULT STFDRV_ISP_SC_SetCfgReg(
  40. #if defined(VIRTUAL_IO_MAPPING)
  41. CI_CONNECTION *pConnection,
  42. #endif //VIRTUAL_IO_MAPPING
  43. ST_ISP_SC_RDMA *pstIspScRdma
  44. );
  45. extern
  46. STF_RESULT STFDRV_ISP_SC_SetCropReg(
  47. #if defined(VIRTUAL_IO_MAPPING)
  48. CI_CONNECTION *pConnection,
  49. #endif //VIRTUAL_IO_MAPPING
  50. ST_ISP_SC_RDMA *pstIspScRdma
  51. );
  52. extern
  53. STF_RESULT STFDRV_ISP_SC_SetDecReg(
  54. #if defined(VIRTUAL_IO_MAPPING)
  55. CI_CONNECTION *pConnection,
  56. #endif //VIRTUAL_IO_MAPPING
  57. ST_ISP_SC_RDMA *pstIspScRdma
  58. );
  59. extern
  60. STF_RESULT STFDRV_ISP_SC_SetAeAfReg(
  61. #if defined(VIRTUAL_IO_MAPPING)
  62. CI_CONNECTION *pConnection,
  63. #endif //VIRTUAL_IO_MAPPING
  64. ST_ISP_SC_RDMA *pstIspScRdma
  65. );
  66. extern
  67. STF_RESULT STFDRV_ISP_SC_SetAwbReg(
  68. #if defined(VIRTUAL_IO_MAPPING)
  69. CI_CONNECTION *pConnection,
  70. #endif //VIRTUAL_IO_MAPPING
  71. ST_ISP_SC_RDMA *pstIspScRdma
  72. );
  73. //-----------------------------------------------------------------------------
  74. extern
  75. STF_RESULT STFDRV_ISP_SC_SetDumpingAddress(
  76. #if defined(VIRTUAL_IO_MAPPING)
  77. CI_CONNECTION *pConnection,
  78. #endif //VIRTUAL_IO_MAPPING
  79. STF_U8 u8IspIdx,
  80. STF_U32 u32Address
  81. );
  82. extern
  83. STF_RESULT STFDRV_ISP_SC_SetAxiId(
  84. #if defined(VIRTUAL_IO_MAPPING)
  85. CI_CONNECTION *pConnection,
  86. #endif //VIRTUAL_IO_MAPPING
  87. STF_U8 u8IspIdx,
  88. STF_U8 u8AxiId
  89. );
  90. extern
  91. STF_RESULT STFDRV_ISP_SC_SetAeAfFrameCropping(
  92. #if defined(VIRTUAL_IO_MAPPING)
  93. CI_CONNECTION *pConnection,
  94. #endif //VIRTUAL_IO_MAPPING
  95. ST_SC_FRAME_CROPPING *pstScFrameCropping
  96. );
  97. extern
  98. STF_RESULT STFDRV_ISP_SC_SetAeAfConfig(
  99. #if defined(VIRTUAL_IO_MAPPING)
  100. CI_CONNECTION *pConnection,
  101. #endif //VIRTUAL_IO_MAPPING
  102. ST_SC_AE_AF_CFG_PARAM *pstScAeAfCfg
  103. );
  104. extern
  105. STF_RESULT STFDRV_ISP_SC_SetAeAfDecimation(
  106. #if defined(VIRTUAL_IO_MAPPING)
  107. CI_CONNECTION *pConnection,
  108. #endif //VIRTUAL_IO_MAPPING
  109. ST_SC_DECIMATION *pstScDecimation
  110. );
  111. extern
  112. STF_RESULT STFDRV_ISP_SC_SetAfConfig(
  113. #if defined(VIRTUAL_IO_MAPPING)
  114. CI_CONNECTION *pConnection,
  115. #endif //VIRTUAL_IO_MAPPING
  116. ST_SC_AF_CFG_PARAM *pstScAfCfg
  117. );
  118. extern
  119. STF_RESULT STFDRV_ISP_SC_SetAwbFrameCropping(
  120. #if defined(VIRTUAL_IO_MAPPING)
  121. CI_CONNECTION *pConnection,
  122. #endif //VIRTUAL_IO_MAPPING
  123. ST_SC_FRAME_CROPPING *pstScFrameCropping
  124. );
  125. extern
  126. STF_RESULT STFDRV_ISP_SC_SetAwbConfig(
  127. #if defined(VIRTUAL_IO_MAPPING)
  128. CI_CONNECTION *pConnection,
  129. #endif //VIRTUAL_IO_MAPPING
  130. ST_SC_AWB_CFG_PARAM *pstScAwbCfg
  131. );
  132. extern
  133. STF_RESULT STFDRV_ISP_SC_SetAwbDecimation(
  134. #if defined(VIRTUAL_IO_MAPPING)
  135. CI_CONNECTION *pConnection,
  136. #endif //VIRTUAL_IO_MAPPING
  137. ST_SC_DECIMATION *pstScDecimation
  138. );
  139. extern
  140. STF_RESULT STFDRV_ISP_SC_SetAwbPixelSumRangeR(
  141. #if defined(VIRTUAL_IO_MAPPING)
  142. CI_CONNECTION *pConnection,
  143. #endif //VIRTUAL_IO_MAPPING
  144. ST_SC_RANGE *pstScRange
  145. );
  146. extern
  147. STF_RESULT STFDRV_ISP_SC_SetAwbPixelSumRangeG(
  148. #if defined(VIRTUAL_IO_MAPPING)
  149. CI_CONNECTION *pConnection,
  150. #endif //VIRTUAL_IO_MAPPING
  151. ST_SC_RANGE *pstScRange
  152. );
  153. extern
  154. STF_RESULT STFDRV_ISP_SC_SetAwbPixelSumRangeB(
  155. #if defined(VIRTUAL_IO_MAPPING)
  156. CI_CONNECTION *pConnection,
  157. #endif //VIRTUAL_IO_MAPPING
  158. ST_SC_RANGE *pstScRange
  159. );
  160. extern
  161. STF_RESULT STFDRV_ISP_SC_SetAwbPixelSumRangeY(
  162. #if defined(VIRTUAL_IO_MAPPING)
  163. CI_CONNECTION *pConnection,
  164. #endif //VIRTUAL_IO_MAPPING
  165. ST_SC_RANGE *pstScRange
  166. );
  167. extern
  168. STF_RESULT STFDRV_ISP_SC_SetAwbPixelSumRangeGR(
  169. #if defined(VIRTUAL_IO_MAPPING)
  170. CI_CONNECTION *pConnection,
  171. #endif //VIRTUAL_IO_MAPPING
  172. ST_SC_RANGE *pstScRange
  173. );
  174. extern
  175. STF_RESULT STFDRV_ISP_SC_SetAwbPixelSumRangeGB(
  176. #if defined(VIRTUAL_IO_MAPPING)
  177. CI_CONNECTION *pConnection,
  178. #endif //VIRTUAL_IO_MAPPING
  179. ST_SC_RANGE *pstScRange
  180. );
  181. extern
  182. STF_RESULT STFDRV_ISP_SC_SetAwbPixelSumRangeGRB(
  183. #if defined(VIRTUAL_IO_MAPPING)
  184. CI_CONNECTION *pConnection,
  185. #endif //VIRTUAL_IO_MAPPING
  186. ST_SC_RANGE *pstScRange
  187. );
  188. extern
  189. STF_RESULT STFDRV_ISP_SC_SetAwbWeightSumRangeR(
  190. #if defined(VIRTUAL_IO_MAPPING)
  191. CI_CONNECTION *pConnection,
  192. #endif //VIRTUAL_IO_MAPPING
  193. ST_SC_RANGE *pstScRange
  194. );
  195. extern
  196. STF_RESULT STFDRV_ISP_SC_SetAwbWeightSumRangeGr(
  197. #if defined(VIRTUAL_IO_MAPPING)
  198. CI_CONNECTION *pConnection,
  199. #endif //VIRTUAL_IO_MAPPING
  200. ST_SC_RANGE *pstScRange
  201. );
  202. extern
  203. STF_RESULT STFDRV_ISP_SC_SetAwbWeightSumRangeGb(
  204. #if defined(VIRTUAL_IO_MAPPING)
  205. CI_CONNECTION *pConnection,
  206. #endif //VIRTUAL_IO_MAPPING
  207. ST_SC_RANGE *pstScRange
  208. );
  209. extern
  210. STF_RESULT STFDRV_ISP_SC_SetAwbWeightSumRangeB(
  211. #if defined(VIRTUAL_IO_MAPPING)
  212. CI_CONNECTION *pConnection,
  213. #endif //VIRTUAL_IO_MAPPING
  214. ST_SC_RANGE *pstScRange
  215. );
  216. extern
  217. STF_RESULT STFDRV_ISP_SC_SetAwbWeightTable(
  218. #if defined(VIRTUAL_IO_MAPPING)
  219. CI_CONNECTION *pConnection,
  220. #endif //VIRTUAL_IO_MAPPING
  221. ST_SC_AWB_WT_TBL_PARAM *pstScAwbWeightingTable
  222. );
  223. extern
  224. STF_RESULT STFDRV_ISP_SC_SetAwbIntensityWeightCurve(
  225. #if defined(VIRTUAL_IO_MAPPING)
  226. CI_CONNECTION *pConnection,
  227. #endif //VIRTUAL_IO_MAPPING
  228. ST_SC_AWB_INTSTY_WT_CRV_PARAM *pstScAwbIntensityWeightCurve
  229. );
  230. #endif //#if defined(EXTEND_IOCTL_COMMAND_SC)
  231. //-----------------------------------------------------------------------------
  232. extern
  233. STF_RESULT STFDRV_ISP_SC_SetDumpingResultControl(
  234. #if defined(VIRTUAL_IO_MAPPING)
  235. CI_CONNECTION *pConnection,
  236. #endif //VIRTUAL_IO_MAPPING
  237. ST_SC_DUMP_RSLT_CTRL_PARAM *pstScDumpResultCtrl
  238. );
  239. #if defined(EXTEND_IOCTL_COMMAND_SC)
  240. extern
  241. STF_U32 STFDRV_ISP_SC_GetResult(
  242. #if defined(VIRTUAL_IO_MAPPING)
  243. CI_CONNECTION *pConnection,
  244. #endif //VIRTUAL_IO_MAPPING
  245. STF_U8 u8IspIdx
  246. );
  247. #endif //#if defined(EXTEND_IOCTL_COMMAND_SC)
  248. extern
  249. STF_RESULT STFDRV_ISP_SC_GetResults(
  250. #if defined(VIRTUAL_IO_MAPPING)
  251. CI_CONNECTION *pConnection,
  252. #endif //VIRTUAL_IO_MAPPING
  253. ST_SC_RSLTS_PARAM *pstScResults
  254. );
  255. //-----------------------------------------------------------------------------
  256. #ifdef __cplusplus
  257. }
  258. #endif
  259. #endif //__STFDRV_ISP_SC_H__