145 lines
5.3 KiB
C
Executable File
145 lines
5.3 KiB
C
Executable File
/**
|
|
Public header file for capture callback event
|
|
|
|
This file is the header file that define the API and data type for capture callback event.
|
|
|
|
@file ImgCapCBMsg.h
|
|
@ingroup mIAppCap
|
|
@note Nothing (or anything need to be mentioned).
|
|
|
|
Copyright Novatek Microelectronics Corp. 2009. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _IMG_CAP_CBMSG_H_
|
|
#define _IMG_CAP_CBMSG_H_
|
|
#include <kwrap/type.h>
|
|
//#include "ipl_utility.h"
|
|
|
|
/** \addtogroup mIAppCap */
|
|
//@{
|
|
|
|
/**
|
|
capture callback event
|
|
*/
|
|
typedef enum _IMG_CAP_CBMSG {
|
|
IMG_CAP_CBMSG_GET_RAWEND = 0, ///< get raw flow end(start capture -> one raw end -> one raw end ->.....-> raw end).
|
|
IMG_CAP_CBMSG_GET_ONERAWEND, ///< get one raw image end(start capture -> one raw end -> one raw end ->.....).
|
|
IMG_CAP_CBMSG_QUICKVIEW, ///< quick view CB command, data type IMG_CAP_QV_DATA.
|
|
IMG_CAP_CBMSG_SET_EXIF_DATA, ///< exif CB command, data type NULL.
|
|
IMG_CAP_CBMSG_WRITE_DEBUG_DATA, ///< write debug command, data IMG_CAP_DEBUG_INFO.
|
|
IMG_CAP_CBMSG_JPEG_OK, ///< jpeg ok CB command, data type NULL.
|
|
IMG_CAP_CBMSG_CAPEND, ///< capture end CB command(always notify after IMG_CAP_CBMSG_RET_PRV command, it doesn't mean save file ready), data type NULL.
|
|
IMG_CAP_CBMSG_FSTOK, ///< save one file ready command, data type IMG_CAP_FST_INFO
|
|
IMG_CAP_CBMSG_RET_PRV, ///< return to preview command, data type NULL
|
|
IMG_CAP_CBMSG_GEN_DATASTAMP_PIC, ///< gen data stamp image command, data type IMG_CAP_DATASTAMP_INFO
|
|
IMG_CAP_CBMSG_GEN_DATASTAMP_STR, ///< gen data stamp string command, data type NULL
|
|
IMG_CAP_CBMSG_MFHDR, ///< 3rd party lib process data type IMG_CAP_MFHDR_INFO
|
|
IMG_CAP_CBMSG_MFANTISHAKE, ///< 3rd party lib process data type IMG_CAP_MFANTISHAKE_INFO
|
|
IMG_CAP_CBMSG_MAX_CNT,
|
|
ENUM_DUMMY4WORD(IMG_CAP_CBMSG)
|
|
} IMG_CAP_CBMSG;
|
|
|
|
/************** IMG_CAP_MFHDR_INFO **************/
|
|
#define MF_HDR_MAX_NUM 4 ///< the maximunm image number for multi-frame hdr lib
|
|
|
|
/**
|
|
multi-frame hdr callback information
|
|
*/
|
|
/*
|
|
typedef struct _IMG_CAP_MFHDR_INFO {
|
|
UINT32 WorkBufAddr; ///< working buffer address.
|
|
UINT32 WorkBufSize; ///< working buffer size.
|
|
UINT32 PicNum; ///< image nubmer for hdr process
|
|
IPL_YCC_IMG_INFO SrcImgInfo[MF_HDR_MAX_NUM]; ///< input image information
|
|
IPL_YCC_IMG_INFO RstImgInfo; ///< result image information
|
|
} IMG_CAP_MFHDR_INFO;
|
|
*/
|
|
/************** IMG_CAP_CBMSG_MFANTISHAKE **************/
|
|
#define MF_ANTISHAKE_MAX_NUM 4 ///< the maximunm image number for multi-frame anti-shakte lib
|
|
|
|
/**
|
|
multi-frame anti-shake callback information
|
|
*/
|
|
/*
|
|
typedef struct _IMG_CAP_MFANTISHAKE_INFO {
|
|
UINT32 WorkBufAddr; ///< working buffer address.
|
|
UINT32 WorkBufSize; ///< working buffer size.
|
|
UINT32 PicNum; ///< image nubmer for hdr process
|
|
IPL_YCC_IMG_INFO SrcImgInfo[MF_ANTISHAKE_MAX_NUM]; ///< input image information
|
|
IPL_YCC_IMG_INFO RstImgInfo; ///< result image information
|
|
} IMG_CAP_MFANTISHAKE_INFO;
|
|
*/
|
|
/************** IMG_CAP_FST_INFO **************/
|
|
/**
|
|
file system callback status
|
|
*/
|
|
typedef struct _IMG_CAP_FST_INFO {
|
|
INT32 Status; ///< file system status
|
|
} IMG_CAP_FST_INFO;
|
|
|
|
/************** IMG_CAP_CBMSG_WRITE_DEBUG_DATA **************/
|
|
/**
|
|
debug message callback information
|
|
*/
|
|
typedef struct _IMG_CAP_DEBUG_INFO {
|
|
UINT32 Addr; ///< [out] buffer start address
|
|
UINT32 TotalSize; ///< [out] total buffer size for debug message
|
|
UINT32 UsedSize; ///< [in] used size
|
|
UINT32 SensorId;
|
|
} IMG_CAP_DEBUG_INFO;
|
|
|
|
/************** IMG_CAP_CBMSG_WRITE_DEBUG_DATA **************/
|
|
/**
|
|
data stamp callback event
|
|
*/
|
|
|
|
typedef enum _IMG_CAP_DATASTAMP_EVENT {
|
|
CAP_DS_EVENT_THUMB = 0, ///<thumbnail event
|
|
CAP_DS_EVENT_QV, ///<quick view event
|
|
CAP_DS_EVENT_SCR, ///<screennail event
|
|
CAP_DS_EVENT_PRI, ///<primary image event
|
|
} IMG_CAP_DATASTAMP_EVENT;
|
|
|
|
typedef struct _IMG_CAP_YCC_CH_INFO {
|
|
UINT32 width; ///< image width(pixel)
|
|
UINT32 height; ///< image height(pixel)
|
|
UINT32 line_ofs; ///< image line offset(byte)
|
|
} IMG_CAP_YCC_CH_INFO;
|
|
|
|
typedef enum {
|
|
IMG_CAP_YUV_Y = 0, ///< process channel Y
|
|
IMG_CAP_YUV_U, ///< process channel U
|
|
IMG_CAP_YUV_V, ///< process channel V
|
|
ENUM_DUMMY4WORD(IMG_CAP_YUV_CH)
|
|
} IMG_CAP_YUV_CH;
|
|
|
|
typedef struct _IMG_CAP_YCC_IMG_INFO {
|
|
//IPL_YUV_IMG_TYPE type; ///< image type
|
|
//VDO_PXLFMT type;
|
|
UINT32 pixel_addr[3]; ///< pixel YUV address
|
|
IMG_CAP_YCC_CH_INFO ch[3]; ///< image channel information, y, u, v
|
|
} IMG_CAP_YCC_IMG_INFO;
|
|
|
|
/************** IMG_CAP_CBMSG_QUICKVIEW **************/
|
|
/**
|
|
quick view callback information
|
|
*/
|
|
|
|
typedef struct _IMG_CAP_QV_DATA {
|
|
IMG_CAP_YCC_IMG_INFO ImgInfo; ///< image information
|
|
} IMG_CAP_QV_DATA;
|
|
/**
|
|
data stamp callback information
|
|
*/
|
|
typedef struct _IMG_CAP_DATASTAMP_INFO {
|
|
IMG_CAP_YCC_IMG_INFO ImgInfo; ///< event image information
|
|
IMG_CAP_DATASTAMP_EVENT event;
|
|
} IMG_CAP_DATASTAMP_INFO;
|
|
/**
|
|
callback function prototype
|
|
*/
|
|
typedef void (*IMG_CAP_CBMSG_FP)(IMG_CAP_CBMSG Msg, void *Data);
|
|
|
|
//@}
|
|
#endif //_IMG_CAP_CBMSG_H_
|