stf_isp_crop_rdma.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /**
  2. ******************************************************************************
  3. * @file stf_isp_crop_rdma.h
  4. * @author StarFive Isp Team
  5. * @version V1.0
  6. * @date 03/22/2021
  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 __STF_ISP_CROP_RDMA_H__
  21. #define __STF_ISP_CROP_RDMA_H__
  22. #include "registers/stf_isp_rdma.h"
  23. /* add CSI cropping filter registers structure */
  24. typedef struct _ST_CAPTURE_WINDOW {
  25. STF_U8 u8IspIdx;
  26. ST_RECT stRect;
  27. } ST_CAPTURE_WINDOW, *PST_CAPTURE_WINDOW;
  28. typedef struct _ST_CROP_REG {
  29. REG_CAPTURE_WINDOW_START CapWinStart; // 0x001C, input picture capture start cfg(x/y start location), each 16bit (cropping).
  30. REG_CAPTURE_WINDOW_END CapWinEnd; // 0x0020, input picture capture end cfg(x/y end location), each 16bit (cropping).
  31. } ST_CROP_REG, *PST_CROP_REG;
  32. #define ST_CROP_REG_SIZE (sizeof(ST_CROP_REG))
  33. #define ST_CROP_REG_LEN (ST_CROP_REG_SIZE / sizeof(STF_U32))
  34. #pragma pack(push, 8)
  35. typedef struct _ST_CROP_RDMA {
  36. #if defined(SUPPORT_RDMA_FEATURE)
  37. ST_RDMA_CMD stRdmaStartCmd __attribute__ ((aligned (8)));
  38. #endif //SUPPORT_RDMA_FEATURE
  39. ST_CROP_REG stCropReg __attribute__ ((aligned (8)));
  40. #if defined(SUPPORT_RDMA_FEATURE)
  41. ST_RDMA_CMD stRdmaEndCmd __attribute__ ((aligned (8)));
  42. #endif //SUPPORT_RDMA_FEATURE
  43. } ST_CROP_RDMA, *PST_CROP_RDMA;
  44. #define ST_CROP_RDMA_SIZE (sizeof(ST_CROP_RDMA))
  45. #define ST_CROP_RDMA_LEN (ST_CROP_RDMA_SIZE / (sizeof(STF_U32) * 2))
  46. typedef struct _ST_ISP_CROP_RDMA {
  47. STF_U8 u8IspIdx;
  48. ST_CROP_RDMA stCropRdma __attribute__ ((aligned (8)));
  49. } ST_ISP_CROP_RDMA, *PST_ISP_CROP_RDMA;
  50. #pragma pack(pop)
  51. ///* CSI cropping filter registers interface */
  52. ////-----------------------------------------------------------------------------
  53. //extern
  54. //STF_VOID STFHAL_ISP_CROP_SetReg(
  55. // STF_U8 u8IspIdx,
  56. // ST_CROP_RDMA *pstCropRdma
  57. // );
  58. ////-----------------------------------------------------------------------------
  59. //extern
  60. //STF_VOID STFHAL_ISP_CROP_SetCaptureWindow(
  61. // STF_U8 u8IspIdx,
  62. // ST_RECT *pstRect
  63. // );
  64. ////-----------------------------------------------------------------------------
  65. //
  66. //
  67. #endif //__STF_ISP_CROP_RDMA_H__