⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h3a270.h

📁 dm270 source code
💻 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 + -