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

📄 csl_venchwsetup.c

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

#include <csl_venc.h>

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

/** @brief Configures the VENC using the values passed in through the
 *  setup structure. 
 */
CSL_Status  CSL_vencHwSetup(
    /** Pointer to the object that holds reference to the
     *  instance of VENC requested after the call 
	 */
    CSL_VencHandle                         hVenc,
    /** Pointer to setup structure which contains the
     *  information to program VENC to a useful state 
	 */
    CSL_VencHwSetup                        *setup
	){

    CSL_Status status = CSL_SOK;
    Uint16 videoMode;

      /* Extract video output mode */
	  
     videoMode = setup->videoOutMode;

     if((videoMode == CSL_VENC_ANALOG_MODE) ||(videoMode == CSL_VENC_MIXED_MODE)) {
	 	/* Analog Video mode specific settings */
	 	hVenc->regs->VMOD = (hVenc->regs->VMOD & 0xFFFFF1F5) 
	 	                                    |(CSL_FMK(VENC_VMOD_ITLC, setup->vencAnalogVideoConfig->scanMode)
                                                  |CSL_FMK(VENC_VMOD_ITLCL, setup->vencAnalogVideoConfig->itlcl)
                                                  |CSL_FMK(VENC_VMOD_NSIT, setup->vencAnalogVideoConfig->nsit)
		                                    |CSL_FMK(VENC_VMOD_BLNK, setup->vencAnalogVideoConfig->blankMode)
	 	                                    |CSL_FMK(VENC_VMOD_VIE, setup->vencAnalogVideoConfig->compositeOut));
		hVenc->regs->DACSEL = (hVenc->regs->VDPRO & 0xFFFF0000)
			                               |(CSL_FMK(VENC_DACSEL_DA3S, setup->vencAnalogVideoConfig->da3s)
			                               |CSL_FMK(VENC_DACSEL_DA2S, setup->vencAnalogVideoConfig->da2s)
			                               |CSL_FMK(VENC_DACSEL_DA1S, setup->vencAnalogVideoConfig->da1s)
			                               |CSL_FMK(VENC_DACSEL_DA0S, setup->vencAnalogVideoConfig->da0s));
		hVenc->regs->ARGBX0 = CSL_FMK(VENC_ARGBX0_AGY, setup->vencAnalogVideoConfig->analogRGBMat0);
		hVenc->regs->ARGBX1 = CSL_FMK(VENC_ARGBX1_ARV, setup->vencAnalogVideoConfig->analogRGBMat1);
		hVenc->regs->ARGBX2 = CSL_FMK(VENC_ARGBX2_AGU, setup->vencAnalogVideoConfig->analogRGBMat2);
		hVenc->regs->ARGBX3 = CSL_FMK(VENC_ARGBX3_AGV, setup->vencAnalogVideoConfig->analogRGBMat3);
		hVenc->regs->ARGBX4 = CSL_FMK(VENC_ARGBX4_ABU, setup->vencAnalogVideoConfig->analogRGBMat4);
		
     }
     if((videoMode == CSL_VENC_DIGITAL_MODE) ||(videoMode == CSL_VENC_MIXED_MODE)) {
             /* Digital Video mode specific settings */
	      hVenc->regs->VMOD = (hVenc->regs->VMOD & 0xFFFF8FFF)
	                                          |CSL_FMK(VENC_VMOD_VDMD, setup->vencDigitalConfig->videoMode);
	      hVenc->regs->VIDCTL = (hVenc->regs->VIDCTL & 0xFFFF8FC0)
		  	                               |(CSL_FMK(VENC_VIDCTL_VCLKP, setup->vencDigitalConfig->vclkp)
		  	                               |CSL_FMK(VENC_VIDCTL_VCLKE, setup->vencDigitalConfig->vclke)
                                                    |CSL_FMK(VENC_VIDCTL_VCLKZ, setup->vencDigitalConfig->vclkz)
                                                    |CSL_FMK(VENC_VIDCTL_DOMD, setup->vencDigitalConfig->digDataOpMode)
                                                    |CSL_FMK(VENC_VIDCTL_YCSWAP, setup->vencDigitalConfig->ycswap)
                                                    |CSL_FMK(VENC_VIDCTL_YCOL, setup->vencDigitalConfig->ycol)
                                                    |CSL_FMK(VENC_VIDCTL_YCOMD, setup->vencDigitalConfig->ycomd)
                                                    |CSL_FMK(VENC_VIDCTL_YCDIR, setup->vencDigitalConfig->ycdir));

		hVenc->regs->DRGBX0 = CSL_FMK(VENC_DRGBX0_DGY, setup->vencDigitalConfig->digRGBMat0);
		hVenc->regs->DRGBX1 = CSL_FMK(VENC_DRGBX1_DRV, setup->vencDigitalConfig->digRGBMat1);
		hVenc->regs->DRGBX2 = CSL_FMK(VENC_DRGBX2_DGU, setup->vencDigitalConfig->digRGBMat2);
		hVenc->regs->DRGBX3 = CSL_FMK(VENC_DRGBX3_DGV, setup->vencDigitalConfig->digRGBMat3);
		hVenc->regs->DRGBX4 = CSL_FMK(VENC_DRGBX4_DBU, setup->vencDigitalConfig->digRGBMat4);
		
	     
    }
	  
	
    return status;
}

⌨️ 快捷键说明

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