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

📄 csl_venchwcontrol.c

📁 TI达芬奇dm644x各硬件模块测试代码
💻 C
字号:
   /** @file csl_vencHwControl.c
 *
 *    @brief    File for functional layer of CSL API @a CSL_vencHwControl()
 *
 *  Description
 *    - The @a CSL_vencHwControl() function definition & it's associated
 *      functions
 *
 *  Modification 1
 *    - Modified on: 10/5/2004
 *    - Reason: created the sources
 *
 *  @date 5th October, 2004
 *  @author Santosh Narayanan.
 */
#include <csl_venc.h>

#pragma CODE_SECTION (CSL_vencHwControl, ".text:csl_section:venc");

/** @brief Takes a command with an optional argument & implements it.
 */
CSL_Status  CSL_vencHwControl(
    /** Pointer to the object that holds reference to the
     *  instance of VENC requested after the call
	 */
    CSL_VencHandle                         hVenc,
    /** The command to this API indicates the action to be taken
	 */
    CSL_VencHwControlCmd                   cmd,
    /** An optional argument @a void* casted
	 */
    void                                     *arg
	){

	CSL_Status status = CSL_SOK;

	switch(cmd){

	case CSL_VENC_CMD_SET_TV_FORMAT:
		CSL_FINS(hVenc->regs->VMOD,VENC_VMOD_TYTYP,(*(Uint16*)arg) );
		break;
		
       case CSL_VENC_CMD_SET_MASTER_OR_SLAVE:
		CSL_FINS(hVenc->regs->VMOD,VENC_VMOD_SLAVE,(*(Uint16*)arg) );
		break;

       case CSL_VENC_CMD_VIDEO_TIMING:
		CSL_FINS(hVenc->regs->VMOD,VENC_VMOD_VMD,(*(Uint16*)arg) );
		break;
		
       case CSL_VENC_CMD_ENABLE:
		CSL_FINS(hVenc->regs->VMOD,VENC_VMOD_VENC, TRUE );
		break;

	case CSL_VENC_CMD_RESET:
		CSL_FINS(hVenc->regs->VMOD,VENC_VMOD_VENC, FALSE );
		break;

	case CSL_VENC_CMD_SET_HDTV_MODE:
		CSL_FINS(hVenc->regs->VMOD,VENC_VMOD_HDMD,(*(Uint16*)arg) );
		break;

	case CSL_VENC_CMD_DAC_TEST:
		CSL_FINS(hVenc->regs->DACTST,VENC_DACTST_DAPD3,((CSL_VencDacTest*)arg)->dapd3);
		CSL_FINS(hVenc->regs->DACTST,VENC_DACTST_DAPD2,((CSL_VencDacTest*)arg)->dapd2);
		CSL_FINS(hVenc->regs->DACTST,VENC_DACTST_DAPD1,((CSL_VencDacTest*)arg)->dapd1);
		CSL_FINS(hVenc->regs->DACTST,VENC_DACTST_DAPD0,((CSL_VencDacTest*)arg)->dapd0);
        CSL_FINS(hVenc->regs->DACTST,VENC_DACTST_DACDC,((CSL_VencDacTest*)arg)->dacdc);
	    CSL_FINS(hVenc->regs->DACTST,VENC_DACTST_DALVL,((CSL_VencDacTest*)arg)->dalvl);		  
		break;
		
	default:
		status = CSL_ESYS_INVCMD ;
		break;
	};
  return status;

}
	

⌨️ 快捷键说明

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