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

📄 csl_osdhwcontrol.c

📁 TI达芬奇dm644x各硬件模块测试代码
💻 C
字号:
/** @file csl_osdHwControl.c
 *
 *    @brief    File for functional layer of CSL API @a CSL_osdHwControl()
 *
 *  Description
 *    - The @a CSL_osdHwControl() function definition & it's associated
 *      functions
 *
 *  Modification 1
 *    - Modified on: 1/10/2004
 *    - Reason: created the sources
 *
 *  @date 5th OCT, 2004
 *    @author Sandeep Tiwari.
 */


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

#pragma CODE_SECTION (CSL_osdHwControl,".text:csl_section:osd");

/** @brief Takes a command with an optional argument & implements it.
 */


CSL_Status CSL_osdHwControl(
           /** Pointer to the object that holds reference to the
           *  instance of OSD requested after the call
	     */
           CSL_OsdHandle             hOsd,
           /** The command to this API indicates the action to be taken
      	    */
           CSL_OsdHwControlCmd       cmd,
           /** An optional argument @a void* casted
            */
           void                       *arg
           )  
{
      
         CSL_Status  status=CSL_SOK;

         switch(cmd){
   
	         case CSL_OSD_CMD_SET_ALL_WIN:

	                 /** Sets parameters which will affect all OSD windows
	                  */
	                 status = _CSL_osdSetMode(hOsd, (CSL_OsdModeData  *)arg);
	                 break;

	         case CSL_OSD_CMD_SET_VIDEO_WIN:
	          
	                /** Sets parameters which will affect both OSD video windows
	                 */
	                 status = _CSL_osdSetVideoMode(hOsd, (CSL_OsdVideoModeData  *)arg);
	                 break;

	         case CSL_OSD_CMD_SET_BITMAP_WIN:
	          
	                 /** Sets parameters which will affect both OSD bitmap window
	                  */ 
	                 status = _CSL_osdSetBitmapMode(hOsd, (CSL_OsdBitmapModeData *)arg );
	                 break;

	         case CSL_OSD_CMD_SET_WIN_CONFIG:
	      
	                  /** Configures OSD window specified
	                   */
	                 status = _CSL_osdSetWinConfig(hOsd, (CSL_OsdWinConfig *) arg);
	                 break;

	         case CSL_OSD_CMD_SET_BMP_WIN_CONFIG:
	 
	                 /** Configures parameters specific to OSD bitmap windows
	                  */    
	                 status = _CSL_osdSetBmpWinConfig(hOsd, (CSL_OsdBmpWinConfig *) arg);
	                 break;

	         case CSL_OSD_CMD_SET_CURSOR_CONFIG:
	 
	                 /** Set rectangular cursor parameters
	                   */    
	                 status = _CSL_osdSetCursorConfig(hOsd, (CSL_OsdCursorConfig *) arg);
	                 break;
	      
	         case CSL_OSD_CMD_WIN_START:
	        
	                 /** Sets OSD window start position 
	                   */
	                 status = _CSL_osdSetWinStartPos(hOsd, (CSL_OsdStart *) arg);
	                 break;

	         case CSL_OSD_CMD_WIN_SIZE:

	                 /** Sets OSD window horizontal & vertical size
	                   */   
	                 status = _CSL_osdSetWinSize(hOsd, (CSL_OsdSize *) arg);
	                 break;
					 
	         case CSL_OSD_CMD_OSDWIN_SHOW:

			   /** Enable(show)/Disable(hide) OSD window */
	                 status = _CSL_osdWinEnable(hOsd, (CSL_OsdWinEnable *)arg);
	                 break;
					 
	         case CSL_OSD_CMD_SET_WIN_ADDR:

			   /** Sets OSD window data address */
	                 status = _CSL_osdSetWinAddr(hOsd, (CSL_OsdWinAddr *)arg);
	                 break;
					 
	         case CSL_OSD_CMD_SET_RAM_LUT:

		          /** Sets OSD LUT in RAM */
	                 status = _CSL_osdSetRamLut(hOsd, (CSL_OsdRamLut *)arg);
	                 break;
					 
	         case CSL_OSD_CMD_SET_PINGPONG_BUFFER_ADDR:

			   /** Sets OSD video window 0 ping pong buffer address */
	                 status = _CSL_osdSetPingpongBufferAddr(hOsd, (CSL_OsdPingAddr *)arg);
	                 break;
					 
	         case CSL_OSD_CMD_SWITCH_TO_PINGPONG:

	                 /** Switches OSD video window 0 address */
	                 status = _CSL_osdSwitchToPingpongBuff(hOsd, (CSL_OsdPingBuff *)arg);
	                 break;

	         case CSL_OSD_CMD_SET_BMP_COLOR:

			   /** Sets OSD 1,2,4-bit bitmap color palette */
	                 status = _CSL_osdSetBmpColor(hOsd, (CSL_OsdBmpColor *)arg);
	                 break;    
					 
	         default:
			 	
			   status = CSL_ESYS_INVCMD ;
			   break;
			
	}

        return status;

}

⌨️ 快捷键说明

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