_csl_osdsetwinconfig.c

来自「TI达芬奇dm644x各硬件模块测试代码」· C语言 代码 · 共 70 行

C
70
字号
/** @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 + =
减小字号Ctrl + -
显示快捷键?