📄 csl_vencgethwsetup.c
字号:
/** @file csl_vencGetHwSetup.c
*
* @brief File for functional layer of CSL API @a CSL_vencGetHwSetup()
*
* Description
* - The @a CSL_vencGetHwSetup() function definition & it's associated
* functions
*
* Modification 1
* - Modified on: 10/4/2004
* - Reason: created the sources
*
* @date 4th October, 2004
* @author Santosh Narayanan.
*/
#include <csl_venc.h>
#pragma CODE_SECTION (CSL_vencGetHwSetup, ".text:csl_section:venc")
/** @brief Gets the current setup of VENC
*/
CSL_Status CSL_vencGetHwSetup(
/** Pointer to the object that holds reference to the
* instance of VENC requested after the call
*/
CSL_VencHandle hVenc,
/** Pointer to setup structure which contains the
* information to program VENC to a useful state
*/
CSL_VencHwSetup *setup
)
{
CSL_Status status = CSL_SOK;
Uint16 videoMode;
/* Extract the video mode */
videoMode = setup->videoOutMode;
if((videoMode == CSL_VENC_ANALOG_MODE) ||(videoMode == CSL_VENC_MIXED_MODE)) {
/* Get the analog video specific setup parameters */
setup->vencAnalogVideoConfig->scanMode = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_ITLC);
setup->vencAnalogVideoConfig->itlcl = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_ITLCL);
setup->vencAnalogVideoConfig->nsit = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_NSIT);
setup->vencAnalogVideoConfig->blankMode = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_BLNK);
setup->vencAnalogVideoConfig->compositeOut = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_VIE);
setup->vencAnalogVideoConfig->da3s= CSL_FEXT(hVenc->regs->DACSEL, VENC_DACSEL_DA3S);
setup->vencAnalogVideoConfig->da2s= CSL_FEXT(hVenc->regs->DACSEL, VENC_DACSEL_DA2S);
setup->vencAnalogVideoConfig->da1s= CSL_FEXT(hVenc->regs->DACSEL, VENC_DACSEL_DA1S);
setup->vencAnalogVideoConfig->da0s= CSL_FEXT(hVenc->regs->DACSEL, VENC_DACSEL_DA0S);
setup->vencAnalogVideoConfig->analogRGBMat0 = CSL_FEXT(hVenc->regs->ARGBX0, VENC_ARGBX0_AGY);
setup->vencAnalogVideoConfig->analogRGBMat1 = CSL_FEXT(hVenc->regs->ARGBX1, VENC_ARGBX1_ARV);
setup->vencAnalogVideoConfig->analogRGBMat2 = CSL_FEXT(hVenc->regs->ARGBX2, VENC_ARGBX2_AGU);
setup->vencAnalogVideoConfig->analogRGBMat3 = CSL_FEXT(hVenc->regs->ARGBX3, VENC_ARGBX3_AGV);
setup->vencAnalogVideoConfig->analogRGBMat4 = CSL_FEXT(hVenc->regs->ARGBX4, VENC_ARGBX4_ABU);
}
if((videoMode == CSL_VENC_DIGITAL_MODE) ||(videoMode == CSL_VENC_MIXED_MODE)) {
/* Get the digital video specific setup parameters */
setup->vencDigitalConfig->videoMode = CSL_FEXT(hVenc->regs->VMOD, VENC_VMOD_VDMD);
setup->vencDigitalConfig->vclkp = CSL_FEXT(hVenc->regs->VIDCTL, VENC_VIDCTL_VCLKP);
setup->vencDigitalConfig->vclke = CSL_FEXT(hVenc->regs->VIDCTL, VENC_VIDCTL_VCLKE);
setup->vencDigitalConfig->vclkz = CSL_FEXT(hVenc->regs->VIDCTL, VENC_VIDCTL_VCLKZ);
setup->vencDigitalConfig->digDataOpMode = CSL_FEXT(hVenc->regs->VIDCTL, VENC_VIDCTL_DOMD);
setup->vencDigitalConfig->ycswap = CSL_FEXT(hVenc->regs->VIDCTL, VENC_VIDCTL_YCSWAP);
setup->vencDigitalConfig->ycol = CSL_FEXT(hVenc->regs->VIDCTL, VENC_VIDCTL_YCOL);
setup->vencDigitalConfig->ycomd = CSL_FEXT(hVenc->regs->VIDCTL, VENC_VIDCTL_YCOMD);
setup->vencDigitalConfig->ycdir = CSL_FEXT(hVenc->regs->VIDCTL, VENC_VIDCTL_YCDIR);
setup->vencDigitalConfig->digRGBMat0 = CSL_FEXT(hVenc->regs->DRGBX0, VENC_DRGBX0_DGY);
setup->vencDigitalConfig->digRGBMat1 = CSL_FEXT(hVenc->regs->DRGBX1, VENC_DRGBX1_DRV);
setup->vencDigitalConfig->digRGBMat2 = CSL_FEXT(hVenc->regs->DRGBX2, VENC_DRGBX2_DGU);
setup->vencDigitalConfig->digRGBMat3 = CSL_FEXT(hVenc->regs->DRGBX3, VENC_DRGBX3_DGV);
setup->vencDigitalConfig->digRGBMat4 = CSL_FEXT(hVenc->regs->DRGBX4, VENC_DRGBX4_DBU);
}
return status;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -