_csl_osdsetwinsize.c

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

C
62
字号
/** @file _CSL_osdSetWinSize.c
 *
 *  @brief  Set OSD window horizontal, vertical Size
 *  @date 5th Oct, 2004 
 *  @author Sandeep Tiwari
 */


#include <csl_osd.h>
#include <_csl_osd_aux.h>

CSL_Status    _CSL_osdSetWinSize(
       /** Pointer to the object that holds reference to the
         *  instance of OSD requested after the call 
	  */
       CSL_OsdHandle hOsd,

       /** Pointer to structure containing elements to 
         *  set the window size
         */
       CSL_OsdSize  *arg
       
       )
{
              
	CSL_Status status=CSL_SOK;

	switch(arg->winID) {

	  case CSL_OSD_VID_WIN0:
	       CSL_FINS(hOsd->regs->VIDWIN0XL, OSD_VIDWIN0XL_V0W, arg->width);
	       CSL_FINS(hOsd->regs->VIDWIN0YL, OSD_VIDWIN0YL_V0H, arg->height);
	       break;
		   
	  case CSL_OSD_VID_WIN1:
	       CSL_FINS(hOsd->regs->VIDWIN1XL, OSD_VIDWIN1XL_V1W, arg->width);
	       CSL_FINS(hOsd->regs->VIDWIN1YL, OSD_VIDWIN1YL_V1H, arg->height);
	       break;
		   
	  case CSL_OSD_BMP_WIN0:
	       CSL_FINS(hOsd->regs->OSDWIN0XL, OSD_OSDWIN0XL_W0W, arg->width);
	       CSL_FINS(hOsd->regs->OSDWIN0YL, OSD_OSDWIN0YL_W0H, arg->height);	    
               break;		   

         case CSL_OSD_BMP_WIN1:	    
              CSL_FINS(hOsd->regs->OSDWIN1XL, OSD_OSDWIN1XL_W1W, arg->width);
              CSL_FINS(hOsd->regs->OSDWIN1YL, OSD_OSDWIN1YL_W1H, arg->height);	    
              break;		   

         case CSL_OSD_CURSOR:	    
              CSL_FINS(hOsd->regs->CURXL, OSD_CURXL_RCSW, arg->width);	    
              CSL_FINS(hOsd->regs->CURYL, OSD_CURYL_RCSH, arg->height);     
              break;		   	  

	  default:          
              status=CSL_ESYS_INVCMD;	         
              break;     
         }
  
         return status;
}			 

⌨️ 快捷键说明

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