📄 venc.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 + -