📄 h3a270.h
字号:
/*
DM270 ARM Evaluation Software
(c)Texas Instruments 2003
*/
/** \defgroup H3A Hardware 3A module*/
/*@{*/
/** \file h3a270.h
\brief Hardware 3A module related APIs
Also refer to DM270 register manual for details
*/
#ifndef _H3A270_H_
#define _H3A270_H_
#include <system/armsys270.h>
/**
\brief Focus Value Accumulation Mode
*/
typedef enum {
AF_FV_SUM, ///< Sum Mode
AF_FV_PEAK ///< Peak Mode
} AF_FV_MODE;
/**
\brief Green Colour Selection
*/
typedef enum {
AF_NON_GREEN, ///< Colour other than Green
AF_GREEN ///< Green
} AF_COLOR_SELECT;
/**
\brief H3A AF Engine Configuration parameters
*/
typedef struct {
AF_FV_MODE fvAccMode; ///< Focus Value Accumulation Mode, AF_FV_SUM:Sum Mode, AF_FV_PEAK:Peak Mode
Uchar greenPixel[2][2]; ///< Green Pixel Extraction, AF_NON_GREEN:Other than Green, AF_GREEN:Green, greenPixel[0][0]:an upper left pixel in 2x2 block, greenPixel[0][1]:an upper right pixel in 2x2 block, greenPixel[1][0]:an lower left pixel in 2x2 block, greenPixel[1][1]:an lower rigth pixel in 2x2 block
Uint16 winHeight; ///< Paxel Height, range from 2 to 64
Uint16 winWidth; ///< Paxel Width, range from 1 to 256
Uchar numWinH; ///< Paxel Count for H direction, range from 1 to 9
Uchar numWinV; ///< Paxel Count for V direction, range from 1 to 4
Uint16 winStartH; ///< Paxel Start Position H direction, range from 1 to 4095, must be equal to or greater than (IIR Filter Start Position + 1)
Uint16 winStartV; ///< Paxel Start Position V direction, range from 0 to 4095
Uint16 iirStartH; ///< IIR Start Position, range from 0 to 4095
Uchar winLineIncrement; ///< Line increment in a paxel, range from 1 to 16
Uint32 sdramAddress; ///< Absolute SDRAM Address to store the results of AF engine. Must be 32byte aligned
Uint16 iircoeff_0[11]; ///< IIR Filter Coeffecients for table 1. Refer register manual for format of these values
Uint16 iircoeff_1[11]; ///< IIR Filter Coeffecients for table 2. Refer register manual for format of these values
} AF_ConfigData;
/**
\brief H3A AE/AWB Engine Configuration parameters
*/
typedef struct {
Uint16 saturationLimit; ///< Saturation limit 0..255
Uint16 winHeight; ///< Window Height, range from 4 to 64, Should be an even number
Uint16 winWidth; ///< Window Width, range from 2 to 256, Should be an even number
Uchar numWinH; ///< Window Count for H direction, range from 1 to 12
Uchar numWinV; ///< Window Count for V direction, range from 1 to 8
Uint16 winStartH; ///< Window Start Position H direction, range from 0 to 4094, Should be an even number
Uint16 winStartV; ///< Window Start Position V direction, range from 0 to 4094, Should be an even number
Uint16 winIncH; ///< Sampling point increments in window H direction, range from 2 to 32, Should be an even number
Uint16 winIncV; ///< Sampling point increments in window V direction, range from 2 to 32, Should be an even number
Uint32 sdramAddress; ///< Absolute SDRAM Address to store the results of AE/AWB engine. Must be 32byte aligned
} AEWB_ConfigData;
/*----- Function prototypes -----*/
STATUS AF_enable(BOOL enable);
STATUS AEWB_enable(BOOL enable);
STATUS AF_setConfig(AF_ConfigData * afConfig);
STATUS AEWB_setConfig(AEWB_ConfigData * aewConfig);
Uint32 AF_getCurFrameDataAddress();
Uint32 AEWB_getCurFrameDataAddress();
#endif /* _H3A270_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -