Files
Linux_Drivers/freertos/cvitek/common/include/cv1835/cvi_bin.h
carbon ca03037500 freertos: release the generic version source code
freertos runs on the second core (small one) of the CPU
2023-10-19 14:31:43 +08:00

70 lines
1.5 KiB
C

#ifndef __CVI_BIN_H__
#define __CVI_BIN_H__
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif
#include "xil_types.h"
#include "linux/file.h"
//#include "stdio.h"
#include "cvi_type.h"
#include "cvi_comm_video.h"
#define BIN_FILE_LENGTH 256
enum CVI_BIN_SECTION_ID {
CVI_BIN_ID_MIN = 0,
CVI_BIN_ID_HEADER = CVI_BIN_ID_MIN,
CVI_BIN_ID_ISP0,
CVI_BIN_ID_ISP1,
CVI_BIN_ID_ISP2,
CVI_BIN_ID_ISP3,
CVI_BIN_ID_VPSS,
CVI_BIN_ID_VDEC,
CVI_BIN_ID_VENC,
CVI_BIN_ID_MAX
};
typedef struct {
CVI_UCHAR Author[32];
CVI_UCHAR Desc[1024];
CVI_UCHAR Time[32];
} CVI_BIN_EXTRA_S;
typedef CVI_S32(*CVI_BIN_getBinSize)(CVI_U32 * size);
typedef CVI_S32(*CVI_BIN_getParamFromBin)(CVI_U8 * addr, CVI_U32 size);
typedef CVI_S32(*CVI_BIN_setParamToBin)(FILE * fp);
struct CVI_BIN_REGISTER_PARAM {
enum CVI_BIN_SECTION_ID id;
CVI_BIN_getBinSize funcSize;
CVI_BIN_getParamFromBin funcGetParam;
CVI_BIN_setParamToBin funcSetParam;
};
CVI_S32 CVI_BIN_SetEncrypt(void);
CVI_S32 CVI_BIN_Register(struct CVI_BIN_REGISTER_PARAM *param);
CVI_S32 CVI_BIN_Unregister(enum CVI_BIN_SECTION_ID id);
CVI_S32 CVI_BIN_GetBinExtraAttr(FILE *fp, CVI_BIN_EXTRA_S *extraInfo);
CVI_S32 CVI_BIN_SaveParamToBin(FILE *fp, CVI_BIN_EXTRA_S *extraInfo);
CVI_S32 CVI_BIN_LoadParamFromBin(enum CVI_BIN_SECTION_ID id, CVI_U8 *buf);
CVI_S32 CVI_BIN_SetBinName(WDR_MODE_E wdrMode, const CVI_CHAR *binName);
CVI_S32 CVI_BIN_GetBinName(CVI_CHAR *binName);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
#endif