Files
Linux_Drivers/middleware/v2/include/linux/cvi_vo_ctx.h
wangliang.wang db9bea8b47 fix build error.
Change-Id: I733d10d084d6cea8f281eb3d38a3bdd06c042b33
2023-03-10 20:30:16 +08:00

67 lines
1.4 KiB
C

#ifndef __U_CVI_VO_CTX_H__
#define __U_CVI_VO_CTX_H__
#ifdef __cplusplus
extern "C" {
#endif
#include <linux/cvi_vip.h>
#include <linux/cvi_defines.h>
#include <linux/cvi_comm_vo.h>
#include <linux/cvi_comm_region.h>
#define VO_SHARE_MEM_SIZE (0x1000)
struct cvi_vo_ctx {
CVI_BOOL is_dev_enable[VO_MAX_DEV_NUM];
CVI_BOOL is_layer_enable[VO_MAX_LAYER_NUM];
CVI_BOOL is_chn_enable[VO_MAX_LAYER_NUM][VO_MAX_CHN_NUM];
// dev
VO_PUB_ATTR_S stPubAttr;
// layer
VO_VIDEO_LAYER_ATTR_S stLayerAttr;
CVI_U32 u32DisBufLen;
CVI_S32 proc_amp[PROC_AMP_MAX];
// chn
VO_CHN_ATTR_S stChnAttr;
ROTATION_E enRotation;
RGN_HANDLE rgn_handle[RGN_MAX_NUM_VO];
RGN_HANDLE rgn_coverEx_handle[RGN_COVEREX_MAX_NUM];
CVI_U64 u64DisplayPts[VO_MAX_LAYER_NUM][VO_MAX_CHN_NUM];
CVI_U64 u64PreDonePts[VO_MAX_LAYER_NUM][VO_MAX_CHN_NUM];
// for calculating chn frame rate
VO_CHN_STATUS_S chnStatus[VO_MAX_LAYER_NUM][VO_MAX_CHN_NUM];
struct cvi_rgn_cfg rgn_cfg;
struct cvi_rgn_coverex_cfg rgn_coverex_cfg;
struct {
CVI_U64 paddr;
CVI_VOID *vaddr;
} mesh;
//pthread_t thread[VO_MAX_LAYER_NUM][VO_MAX_CHN_NUM];
//struct task_struct *thread[VO_MAX_LAYER_NUM][VO_MAX_CHN_NUM];
CVI_BOOL show;
CVI_BOOL pause;
CVI_BOOL clearchnbuf;
CVI_BOOL fb_on_vpss;
struct{
__u32 left;
__u32 top;
__u32 width;
__u32 height;
} rect_crop;
__u8 u8VoDev;
CVI_BOOL bVideoFrameValid;
};
#ifdef __cplusplus
}
#endif
#endif /* __U_CVI_VO_CTX_H__ */