70 lines
1.5 KiB
C
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
|
|
|
|
|