#ifndef __ISP_H__ #define __ISP_H__ #ifdef __cplusplus extern "C" { #endif #include "hi_comm_video.h" #include "hi_comm_vpss.h" #include "hi_common.h" #include "hi_type.h" #include "sample_comm.h" #include "zlog.h" // zlog extern zlog_category_t *log_isp; extern const PIXEL_FORMAT_E ISP_PIXEL_FORMAT2; extern const COMPRESS_MODE_E ISP_COMPRESS_MODE; typedef struct IspVpssConfig_S { VPSS_GRP s32GrpId; VPSS_GRP_ATTR_S stGrpAttr; HI_BOOL abChnEnable[VPSS_MAX_PHY_CHN_NUM]; VPSS_CHN_ATTR_S astChnAttrs[VPSS_MAX_PHY_CHN_NUM]; } isp_vpss_config_t; typedef struct IspVpssChn_S { VPSS_CHN *as32VpssChn; HI_U8 u8VpssChnNum; } isp_vpss_chn_t; HI_S32 ispInit(VI_PIPE video_pipe, VI_PIPE snap_pipe); void ispExit(void); HI_BOOL ispCheck(void); // Get ISP Configuration Struction SAMPLE_VI_CONFIG_S *ispGetViConfig(void); PIC_SIZE_E ispGetViPicSizeType(void); VI_PIPE ispGetVideoPipe(void); VI_PIPE ispGetSnapPipe(void); isp_vpss_config_t *ispGetVideoVpss(void); isp_vpss_chn_t *ispGetVideoVpssChn(void); VENC_CHN ispGetVideoVencChn(void); isp_vpss_config_t *ispGetSnapVpss(void); isp_vpss_chn_t *ispGetSnapVpssChn(void); VENC_CHN ispGetSnapVencChn(void); SAMPLE_VO_CONFIG_S *ispGetVOConfig(void); // Set Basic ISP Config HI_S32 ispGetVpssChnAttr(VPSS_CHN_ATTR_S *vpss_chn_attr, VPSS_CHN vpss_chn, PIC_SIZE_E pic_size); HI_S32 ispGetVpssConfig(VPSS_GRP vpss_grp_id, isp_vpss_config_t *vpss_config, VPSS_CHN *vpss_chn, HI_U8 vpss_chn_num, PIC_SIZE_E pic_size, HI_BOOL is_snap); // Print Error Code void ispPrintVpssErrorCode(void); #ifdef __cplusplus } #endif #endif