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

📄 mode.h

📁 RTD2662板卡源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
//----------------------------------------------------------------------------------------------------
// ID Code      : Mode.h No.0001
// Update Note  :
//
//----------------------------------------------------------------------------------------------------

//--------------------------------------------------
// Definitions of
//--------------------------------------------------


//----------------------------------------------------------------------------------------------------

#ifdef __MODE__

//RGB -> YUV
//RGB Source(OnSource601rgb)		
//REG 9C=0x11
//m_M11 = +0.2990 ;	m_M21 = -0.1687 ;	 m_M31 = +0.5000 ;
//m_M12 = +0.5870 ;	m_M22 = -0.3313 ;	 m_M32 = -0.4187 ;
//m_M13 = +0.1140 ;	m_M23 = +0.5000 ;	 m_M33 = -0.0813 ;
//M11 = 0x01,0x32 	//M12 = 0x02,0x59 	//M13 = 0x00,0x74 
//M21 = 0xFF,0x54 		//M22 = 0xFE,0xAD 	//M23 = 0x02,0x00 
//M31 = 0x02,0x00 	//M32 = 0xFE,0x54 	//M33 = 0xFF,0xAD
BYTE code tRGB2YUV601_TABLE_FOR_RGB_SOURCE[] =
{
	4,  _NON_AUTOINC,   _YUV2RGB_CTRL_9C,             0x00,	//reset data port addr to 0. 
	4,  _NON_AUTOINC,   _YUV2RGB_CTRL_9C,             0x08,	//enable YVU/RGB coeff access
	21, _NON_AUTOINC,   _YUV_RGB_COEF_DATA_9D,        0x01,0x32,0x02,0x59,0x00,0x74,
													  0xFF,0x54,0xFE,0xAD,0x02,0x00,
													  0x02,0x00,0xFE,0x54,0xFF,0xAD,
	4,  _NON_AUTOINC,   _YUV2RGB_CTRL_9C,			  0x11,	//RGB->YUV & enable
    _END
};
	//RGB Source(OnSource709rgb)		
	//REG 9C=0x11
	//m_M11 = 0.2974;		m_M21 = -0.1690;	m_M31 = 0.5000 ;	
	//m_M12 = 0.5897;		m_M22 = -0.3310;	m_M32 = -0.4188;	
	//m_M13 = 0.1129;		m_M23 = 0.5000;		m_M33 = -0.0812;
	//M11 = 0x01,0x30		//M12 = 0x02,0x5B		//M13 = 0x00,0x73 
	//M21 = 0xFF,0x53 		//M22 = 0xFE,0xAE 	//M23 = 0x01,0xFF 
	//M31 = 0x02,0x00 	//M32 = 0xFE,0x54 	//M33 = 0xFF,0xAD
BYTE code tRGB2YUV709_TABLE_FOR_RGB_SOURCE[] =
{
	4,  _NON_AUTOINC,   _YUV2RGB_CTRL_9C,             0x00,	//reset data port addr to 0. 
	4,  _NON_AUTOINC,   _YUV2RGB_CTRL_9C,             0x08,	//enable YVU/RGB coeff access
	21, _NON_AUTOINC,   _YUV_RGB_COEF_DATA_9D,        0x01,0x30,0x02,0x5B,0x00,0x73,
													  0xFF,0x53,0xFE,0xAE,0x01,0xFF,
													  0x02,0x00,0xFE,0x54,0xFF,0xAD,
	4,  _NON_AUTOINC,   _YUV2RGB_CTRL_9C,			  0x11,		//RGB->YUV & enable
    _END
};

	//!RGB Source(OnSource601rgb)		
	//REG 9C = 0x00
BYTE code tRGB2YUV601_TABLE_FOR_NON_RGB_SOURCE[] =
{
	4,  _NON_AUTOINC,   _YUV2RGB_CTRL_9C,             0x00,	//disable RGB->YUV conv 
    _END
};

	//!RGB Source(OnSource709rgb)		
	//REG 9C = 0x00
BYTE code tRGB2YUV709_TABLE_FOR_NON_RGB_SOURCE[] =
{
	4,  _NON_AUTOINC,   _YUV2RGB_CTRL_9C,             0x00,	//disable RGB->YUV conv 
    _END
};

//YUV->RGB
	//VGA source
	//page7 0xc0(2) = 0 & 0xc0(3) = 1	 
	//for 601: 
	//0x04, 0x00, // k11
	//0x05, 0x9B, // k13
	//0x01, 0x60, // k22
	//0x02, 0xDB, // k23
	//0x07, 0x16, // k32
	//0x00, 0x00, // R-offset
	//0x00, 0x00, // G-offset
	//0x00, 0x00, // B-offset
BYTE code tYUV2RGB601_TABLE_FOR_RGB_SOURCE[] =
{
    4,  _NON_AUTOINC,   _PAGE_SELECT_9F,                	_PAGE7,
    4,  _NON_AUTOINC,   _P7_YUV2RGB_CTRL_BF,        	0x02,				//enable YUV->RGB coeff access
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,         	0x0C,0x04,	//K11 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x1C,0x00,	//K11 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x2C,0x05,	//K13 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x3C,0x9B,	//K13 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x4C,0x01,	//K22 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x5C,0x60,	//K22 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x6C,0x02,	//K23 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x7C,0xDB,	//K23 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x8C,0x07,	//K32 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x9C,0x16,	//K32 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xAC,0x00,	//ROffset MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xBC,0x00,	//ROffset LSB	
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xCC,0x00,	//GOffset MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xDC,0x00,	//GOffset LSB	
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xEC,0x00,	//BOffset MSB	
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xFC,0x00,	//GOffset LSB	
    4,  _NON_AUTOINC,   _P7_YUV2RGB_ACCESS_C0,      		0x08,
    4,  _NON_AUTOINC,   _P7_YUV2RGB_CTRL_BF,           		0x01,		//enable YUV->RGB conv
    _END
};

	//!VGA source
	//page7 0xc0(2) = 1 & 0xc0(3) = 1
	//for 601:
	//0x04, 0xA7, // k11
	//0x05, 0x9B, // k13
	//0x01, 0x60, // k22
	//0x02, 0xDB, // k23
	//0x07, 0x16, // k32
	//0x00, 0x00, // R-offset
	//0x00, 0x00, // G-offset
	//0x00, 0x00, // B-offset
BYTE code tYUV2RGB601_TABLE_FOR_NON_RGB_SOURCE[] =
{
    4,  _NON_AUTOINC,   _PAGE_SELECT_9F,                	_PAGE7,
    4,  _NON_AUTOINC,   _P7_YUV2RGB_CTRL_BF,        	0x02,				//enable YUV->RGB coeff access
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,         	0x0C,0x04,	//K11 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x1C,0xA7,	//K11 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x2C,0x05,	//K13 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x3C,0x9B,	//K13 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x4C,0x01,	//K22 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x5C,0x60,	//K22 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x6C,0x02,	//K23 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x7C,0xDB,	//K23 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x8C,0x07,	//K32 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x9C,0x16,	//K32 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xAC,0x00,	//ROffset MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xBC,0x00,	//ROffset LSB	
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xCC,0x00,	//GOffset MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xDC,0x00,	//GOffset LSB	
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xEC,0x00,	//BOffset MSB	
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xFC,0x00,	//GOffset LSB	
    4,  _NON_AUTOINC,   _P7_YUV2RGB_ACCESS_C0,      0x0C,
    4,  _NON_AUTOINC,   _P7_YUV2RGB_CTRL_BF,           0x01,				//enable YUV->RGB conv
    _END
};

	//!VGA source
	//page7 0xc0(2) = 1 & 0xc0(3) = 1
	//for 709:
	//0x04, 0xA7, 	// k11
	//0x06, 0x4C, 	// k13
	//0x00, 0xBF, 	// k22
	//0x01, 0xDF, // k23
	//0x07, 0x6C, // k32
	//0x00, 0x00, // R-offset
	//0x00, 0x00, // G-offset
	//0x00, 0x00, // B-offset
BYTE code tYUV2RGB709_TABLE_FOR_NON_RGB_SOURCE[] =
{
    4,  _NON_AUTOINC,   _PAGE_SELECT_9F,                	_PAGE7,
    4,  _NON_AUTOINC,   _P7_YUV2RGB_CTRL_BF,        	0x02,				//enable YUV->RGB coeff access
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,         	0x0C,0x04,	//K11 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x1C,0xA7,	//K11 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x2C,0x06,	//K13 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x3C,0x4C,	//K13 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x4C,0x00,	//K22 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x5C,0xBF,	//K22 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x6C,0x01,	//K23 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x7C,0xDF,	//K23 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x8C,0x07,	//K32 MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0x9C,0x6C,	//K32 LSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xAC,0x00,	//ROffset MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xBC,0x00,	//ROffset LSB	
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xCC,0x00,	//GOffset MSB
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xDC,0x00,	//GOffset LSB	
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xEC,0x00,	//BOffset MSB	
    5,  _AUTOINC,       _P7_YUV2RGB_ACCESS_C0,          	0xFC,0x00,	//GOffset LSB	
    4,  _NON_AUTOINC,   _P7_YUV2RGB_ACCESS_C0,      0x0C,
    4,  _NON_AUTOINC,   _P7_YUV2RGB_CTRL_BF,           0x01,				//enable YUV->RGB conv
    _END
};

//--------------------------------------------------
// Global Variables
//--------------------------------------------------
BYTE idata ucCurrState = _PWOFF_STATE;
BYTE idata ucModeControl = 0;
BYTE idata ucEvent0 = 255;
BYTE idata ucEvent1 = 255;
BYTE idata ucModeFound;
BYTE idata ucHStartBias;
BYTE idata ucVStartBias;

⌨️ 快捷键说明

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