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

📄 _csl_h3asetafconfig.c

📁 TI达芬奇dm644x各硬件模块测试代码
💻 C
字号:
/** @file _csl_h3aSetAfConfig.c
 *
 *  @brief    File for functional layer of CSL API @a CSL_h3aSetAfConfig()
 *
 *  Description
 *    - The @a CSL_h3aSetAfConfig() function definition & it's associated
 *      functions
 *
 *  @date 26th May, 2005
 *  @author Jesse Villarreal
 */

#include <csl_h3a_aux.h>

#pragma CODE_SECTION (CSL_h3aSetAfConfig, ".text:csl_section:h3a");

/** @brief Sets the AF parameters for the H3A module
 *	
 */
CSL_Status  CSL_h3aSetAfConfig(
    /** Pointer to the object that holds reference to the
     *  instance of H3A requested after the call 
	 */
    CSL_H3aHandle                         hH3a,
    /** Sets the AF parameters for the H3A module
	 */
    CSL_H3aAfConfig						   *config
	){
	
    CSL_H3aRegsOvly h3aRegs =  hH3a->regs; 
	CSL_Status   status=CSL_SOK;
    if(config == NULL) return (CSL_ESYS_INVPARAMS);

	/** Set H3A AF engine configuration */

	CSL_h3aAfAlawEn(hH3a, config->alawEnable);
	CSL_h3aAfMedianEn(hH3a, config->medEnable);
	CSL_h3aSetAfAccMode(hH3a, config->fvMode);
	CSL_h3aSelectAfRgbPosWin(hH3a, config->rgbPosition);

	h3aRegs->AFPAX1 =		CSL_FMK(H3A_AFPAX1_PAXW,((config->paxWidth>>1)-1))	|
							CSL_FMK(H3A_AFPAX1_PAXH,((config->paxHeight>>1)-1));
	h3aRegs->AFPAX2 =		CSL_FMK(H3A_AFPAX2_AFINCV,((config->paxLineIncr>>1)-1))	|
							CSL_FMK(H3A_AFPAX2_PAXVC,(config->paxVertCount-1))	|
							CSL_FMK(H3A_AFPAX2_PAXHC,(config->paxHorzCount-1));
	h3aRegs->AFPAXSTART =	CSL_FMK(H3A_AFPAXSTART_PAXSH,config->paxStartH)	|
							CSL_FMK(H3A_AFPAXSTART_PAXSV,config->paxStartV);
	h3aRegs->AFIIRSH =		CSL_FMK(H3A_AFIIRSH_IIRSH,config->iirStartH);

	status = CSL_h3aSetAfAddr(hH3a, config->sdramAddress);

	/** IIR filter coefficients entries */
	h3aRegs->AFCOEF010 =	CSL_FMK(H3A_AFCOEF010_COEFF0,config->iirCoef_0[0])	|
			                CSL_FMK(H3A_AFCOEF010_COEFF1,config->iirCoef_0[1]);
	h3aRegs->AFCOEF032 =	CSL_FMK(H3A_AFCOEF032_COEFF2,config->iirCoef_0[2])	|
			                CSL_FMK(H3A_AFCOEF032_COEFF3,config->iirCoef_0[3]);
	h3aRegs->AFCOEFF054 =	CSL_FMK(H3A_AFCOEFF054_COEFF4,config->iirCoef_0[4])	|
			                CSL_FMK(H3A_AFCOEFF054_COEFF5,config->iirCoef_0[5]);
	h3aRegs->AFCOEFF076=	CSL_FMK(H3A_AFCOEFF076_COEFF6,config->iirCoef_0[6])	|
			                CSL_FMK(H3A_AFCOEFF076_COEFF7,config->iirCoef_0[7]);
	h3aRegs->AFCOEFF098 =	CSL_FMK(H3A_AFCOEFF098_COEFF8,config->iirCoef_0[8])	|
			                CSL_FMK(H3A_AFCOEFF098_COEFF9,config->iirCoef_0[9]);
	h3aRegs->AFCOEFF0010 =	CSL_FMK(H3A_AFCOEFF0010_COEFF10,config->iirCoef_0[10]);


	h3aRegs->AFCOEF110 =	CSL_FMK(H3A_AFCOEF110_COEFF0,config->iirCoef_1[0])	|
			                CSL_FMK(H3A_AFCOEF110_COEFF1,config->iirCoef_1[1]);
	h3aRegs->AFCOEF132 =	CSL_FMK(H3A_AFCOEF132_COEFF2,config->iirCoef_1[2])	|
			                CSL_FMK(H3A_AFCOEF132_COEFF3,config->iirCoef_1[3]);
	h3aRegs->AFCOEFF154 =	CSL_FMK(H3A_AFCOEFF154_COEFF4,config->iirCoef_1[4])	|
			                CSL_FMK(H3A_AFCOEFF154_COEFF5,config->iirCoef_1[5]);
	h3aRegs->AFCOEFF176 =	CSL_FMK(H3A_AFCOEFF176_COEFF6,config->iirCoef_1[6])	|
			                CSL_FMK(H3A_AFCOEFF176_COEFF7,config->iirCoef_1[7]);
	h3aRegs->AFCOEFF198 =	CSL_FMK(H3A_AFCOEFF198_COEFF8,config->iirCoef_1[8])	|
			                CSL_FMK(H3A_AFCOEFF198_COEFF9,config->iirCoef_1[9]);
	h3aRegs->AFCOEFF1010 =	CSL_FMK(H3A_AFCOEFF1010_COEFF10,config->iirCoef_1[10]);


    return status;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -