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_
 | 
