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

📄 venc.c

📁 dm270 source code
💻 C
字号:
/**
	\file venc.c
	\brief Video Encoder user APIs
*/

#include <system/venc270.h>

VENC_ConfigData vencConfig = {
	VENC_NTSC,				// vidStd;					///< NTSC/PAL mode, 0:VENC_NTSC, 1:VENC_PAL                                    	
	VENC_INTERLACE,			// scanMode;				///< Interlace/non-interlace mode, 0:VENC_INTERLACE, 1:VENC_NON_INTERLACE      
	VENC_CR_CUTOFF_1_5MHZ,	// crCutoff;				///< Low Pass filter for color difference signal, 0: 1.5Mhz, 1:3MHz            
	0,						// setup;					///< Setup for composite and Y/C signal, 0: 0%, 1: 7.5%                        
	FALSE,					// enableYlpf;				///< Y signal low pass filter, TRUE: enable, FALSE: disable                    
	FALSE,					// enableDacPowerDown;		///< DAC power down mode, TRUE: power-down mode, FALSE:normal mode             
	TRUE,					// enableDac;				///< DAC enable/disable, TRUE: enable, FALSE: disable	                       
	TRUE,					// enableVidOut;			///< Video output enable/disable, TRUE: enable, FALSE:disable                  
	FALSE,					// enableSyncOutOnly;		///< TRUE : Output only Sync signal, FALSE: Normal output                      
	VENC_COMPOSITE,			// vidMode;					///< Video mode, 0:Composite/YC (VENC_COMPOSITE), 2: Digital RGB (VENC_DRGB)   
	VENC_AMPLITUDE_0_255,	// amplitude;				///< Input signal amplitude, 0: 16-235, 1:0-255                                
	VENC_ANALOG_SYNC,		// syncType;				///< Sync type, 0:Analog sync, 1:Digital sync                                  
	VENC_VSYNC_COMPOSITE,	// vsyncPort;				///< VSYNC port, 0:Normal VSYNC, 1:Composite VSYNC                             
	TRUE,					// enableSync;				///< Sync enable/disable, TRUE: enable, FALSE: disable                         
	TRUE,					// enableBrightControl;		///< Bright Control enable/disable, TRUE: enable, FALSE: disable               
	TRUE,					// brightPolarityInverse;	///< Bright Control signal polarity inverse, TRUE: inverse, FALSE: normal      
	0						// brightCtrlSignalWidth;   ///< Bright Control signal width. range: 0..255. Units: CLK_VENC/2             
};

/**
	\brief Init Video Encoder in NTSC or PAL mode

	\param vidStd		NTSC/PAL standard, 0: NTSC (VENC_NTSC), 1: PAL (VENC_PAL)
	\param scanMode		Interlace/Non-interlace mode, 0:Interlace (VENC_INTERLACE), 1:Non-interlace (VENC_NON_INTERLACE)

	\return if success, \c E_PASS, else error code
*/
STATUS VENCInit(Uint8 vidStd, Uint8 scanMode) {
	STATUS status=E_PASS;

	VENC_enable(FALSE);
	
	vencConfig.scanMode = scanMode;
	
	switch(vidStd)	{
		case VENC_NTSC:
			vencConfig.vidStd = VENC_NTSC;
			vencConfig.vsyncPort = 0;
			break;
		case VENC_PAL:
			vencConfig.vidStd = VENC_PAL;
//			vencConfig.vsyncPort = VENC_PAL;
			break;
		default:
			status=E_INVALID_INPUT;
			break;
	}
	
	VENC_setConfig( &vencConfig );
	
	VENC_enable(TRUE);
	return status;
}

STATUS VENC_ColorBar( BOOL enable) {
	VENC_FSET( VID01, CBEN, enable == TRUE ? 1 : 0);
	return E_PASS;
}


STATUS VENC_BREN(BOOL enable) {
	VENC_FSET( VID02, BREN, enable == TRUE ? 1 : 0);
	return E_PASS;
}

STATUS VENC_BRWDTH(Uchar Val) {
	VENC_FSET( VID02, BRWDTH, Val);
	return E_PASS;
}

⌨️ 快捷键说明

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