📄 _csl_osdsetwinconfig.c
字号:
/** @file _CSL_osdSetWinConfig.c
*
* @brief Set OSD window configuration
*
* @date 5th OCT, 2004
* @author Sandeep Tiwari
*/
#include <csl_osd.h>
#include <_csl_osd_aux.h>
CSL_Status _CSL_osdSetWinConfig(
/** Pointer to the object that holds reference to the
* instance of OSD requested after the call
*/
CSL_OsdHandle hOsd,
/** Pointer to structure containing data to set the OSD video mode
* registers
*/
CSL_OsdWinConfig * arg)
{
CSL_Status status=CSL_SOK;
if((arg->offset)%32 !=0) {
status=CSL_ESYS_INVCMD;
}
switch(arg->winID) {
case CSL_OSD_VID_WIN0 :
CSL_FINS(hOsd->regs->VIDWIN0OFST, OSD_VIDWIN0OFST_V0LO, (arg->offset)/32);
CSL_FINS(hOsd->regs->VIDWINMD, OSD_VIDWINMD_VFF0, arg->displaymode);
CSL_FINS(hOsd->regs->VIDWINMD, OSD_VIDWINMD_VHZ0, arg->hzoom);
CSL_FINS(hOsd->regs->VIDWINMD, OSD_VIDWINMD_VVZ0, arg->vzoom);
break;
case CSL_OSD_VID_WIN1:
CSL_FINS(hOsd->regs->VIDWIN1OFST, OSD_VIDWIN1OFST_V1LO, (arg->offset)/32);
CSL_FINS(hOsd->regs->VIDWINMD, OSD_VIDWINMD_VFF1, arg->displaymode);
CSL_FINS(hOsd->regs->VIDWINMD, OSD_VIDWINMD_VHZ1, arg->hzoom);
CSL_FINS(hOsd->regs->VIDWINMD, OSD_VIDWINMD_VVZ1, arg->vzoom);
break;
case CSL_OSD_BMP_WIN0 :
CSL_FINS(hOsd->regs->OSDWIN0OFST, OSD_OSDWIN0OFST_O0LO, (arg->offset)/32);
CSL_FINS(hOsd->regs->OSDWIN0MD, OSD_OSDWIN0MD_OFF0, arg->displaymode);
CSL_FINS(hOsd->regs->OSDWIN0MD, OSD_OSDWIN0MD_OHZ0, arg->hzoom);
CSL_FINS(hOsd->regs->OSDWIN0MD, OSD_OSDWIN0MD_OVZ0, arg->vzoom);
break;
case CSL_OSD_BMP_WIN1 :
CSL_FINS(hOsd->regs->OSDWIN1OFST, OSD_OSDWIN1OFST_O1LO, (arg->offset)/32);
CSL_FINS(hOsd->regs->OSDWIN1MD, OSD_OSDWIN1MD_OFF1, arg->displaymode);
CSL_FINS(hOsd->regs->OSDWIN1MD, OSD_OSDWIN1MD_OHZ1, arg->hzoom);
CSL_FINS(hOsd->regs->OSDWIN1MD, OSD_OSDWIN1MD_OVZ1, arg->vzoom);
break;
default :
status = CSL_ESYS_INVCMD;
break;
}
return status;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -