亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ths8200_beta.c

?? DM642上用的TH8200采集芯片的配套驅(qū)動(dòng)
?? C
?? 第 1 頁 / 共 2 頁
字號:
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
// This driver has been tested under the following Modes of the THS8200:         //
//		Standard	Input 		Syncs       Output                               //
//														                         //
//     	ATSC 480p 	20-bit 		Embedded 	YPbPr                                //
//     	ATSC 720p	20-bit 		Embedded 	YPbPr                                //
//     	ATSC 1080i	20-bit 		Embedded 	YPbPr                                //
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////


#include <std.h>        
#include "edc.h"
#include "_iic.h"
#include "ths8200_beta.h" 

/* In daughter card 1, address selecting pin I2CA = 0 so WRITE address is 0x40     *
 * and read address 0x41. 														   */
#define THS8200_address         (0x40>>1)

/* private definitions  */

#define NO_CGMS 	1
#define CSC_RAWDATA 2
#define CSC_BYPASS  3
#define CSM_OFF		4
#define NO_TEST     5

extern I2C_Handle EVMDM642_I2C_hI2C;

static int I2C_writeReg(Uint8 devAddr, Uint8 subAddr, Uint8 data) 
{
    _IIC_write(EVMDM642_I2C_hI2C, THS8200_address, subAddr, &data, 1);  
    return TRUE;
}
    


static int cgms_config(int Devid,int mode) {
	int status = 1;
	switch(mode) {
	    case NO_CGMS: 
	    	break;
	    default:
			status &= I2C_writeReg(Devid,0x83,0x00); // cgms_header         
			status &= I2C_writeReg(Devid,0x84,0x00); // cgms_payload_msb    
			status &= I2C_writeReg(Devid,0x85,0x00); // cgms_payload_lsb    
	       	break;
	}
	return status;
}

static int csc_config(int Devid,int mode) {
	int status = 1;
	switch(mode){

	   case CSC_BYPASS:
		    status &= I2C_writeReg(Devid,0x04,0x81); // csc_ric1            
			status &= I2C_writeReg(Devid,0x05,0xD5); // csc_rfc1            
			status &= I2C_writeReg(Devid,0x06,0x00); // csc_ric2            
			status &= I2C_writeReg(Devid,0x07,0x00); // csc_rfc2            
			status &= I2C_writeReg(Devid,0x08,0x06); // csc_ric3            
			status &= I2C_writeReg(Devid,0x09,0x29); // csc_rfc3            
			status &= I2C_writeReg(Devid,0x0A,0x04); // csc_gic1            
			status &= I2C_writeReg(Devid,0x0B,0x00); // csc_gfc1            
			status &= I2C_writeReg(Devid,0x0C,0x04); // csc_gic2            
			status &= I2C_writeReg(Devid,0x0D,0x00); // csc_gfc2            
			status &= I2C_writeReg(Devid,0x0E,0x04); // csc_gic3            
			status &= I2C_writeReg(Devid,0x0F,0x00); // csc_gfc3            
			status &= I2C_writeReg(Devid,0x10,0x80); // csc_bic1            
			status &= I2C_writeReg(Devid,0x11,0xBB); // csc_bfc1            
			status &= I2C_writeReg(Devid,0x12,0x07); // csc_bic2            
			status &= I2C_writeReg(Devid,0x13,0x44); // csc_bfc2            
			status &= I2C_writeReg(Devid,0x14,0x00); // csc_bic3            
			status &= I2C_writeReg(Devid,0x15,0x00); // csc_bfc3            
			status &= I2C_writeReg(Devid,0x16,0x14); // csc_offset1         
			status &= I2C_writeReg(Devid,0x17,0xAE); // csc_offset12        
			status &= I2C_writeReg(Devid,0x18,0x8B); // csc_offset23        
			status &= I2C_writeReg(Devid,0x19,0x02); // csc_offset3     
			break;

	   case CSC_RAWDATA:
	   default:
			status &= I2C_writeReg(Devid,0x04,0x00); // csc_ric1            
			status &= I2C_writeReg(Devid,0x05,0x00); // csc_rfc1            
			status &= I2C_writeReg(Devid,0x06,0x00); // csc_ric2            
			status &= I2C_writeReg(Devid,0x07,0x00); // csc_rfc2            
			status &= I2C_writeReg(Devid,0x08,0x00); // csc_ric3            
			status &= I2C_writeReg(Devid,0x09,0x00); // csc_rfc3            
			status &= I2C_writeReg(Devid,0x0A,0x00); // csc_gic1            
			status &= I2C_writeReg(Devid,0x0B,0x00); // csc_gfc1            
			status &= I2C_writeReg(Devid,0x0C,0x00); // csc_gic2            
			status &= I2C_writeReg(Devid,0x0D,0x00); // csc_gfc2            
			status &= I2C_writeReg(Devid,0x0E,0x00); // csc_gic3            
			status &= I2C_writeReg(Devid,0x0F,0x00); // csc_gfc3            
			status &= I2C_writeReg(Devid,0x10,0x00); // csc_bic1            
			status &= I2C_writeReg(Devid,0x11,0x00); // csc_bfc1            
			status &= I2C_writeReg(Devid,0x12,0x00); // csc_bic2            
			status &= I2C_writeReg(Devid,0x13,0x00); // csc_bfc2            
			status &= I2C_writeReg(Devid,0x14,0x00); // csc_bic3            
			status &= I2C_writeReg(Devid,0x15,0x00); // csc_bfc3            
			status &= I2C_writeReg(Devid,0x16,0x00); // csc_offset1         
			status &= I2C_writeReg(Devid,0x17,0x00); // csc_offset12        
			status &= I2C_writeReg(Devid,0x18,0x00); // csc_offset23        
			status &= I2C_writeReg(Devid,0x19,0x03); // csc_offset3     
			break;

	      }
	return status;
}
static int csm_config(int Devid,int mode) {
	int status = 1;
	switch(mode) {
	    case CSM_OFF:
	    	status &= I2C_writeReg(Devid,0x4A,0x00); // csm_mult_gy_msb     
	    	break;
	    default:
			status &= I2C_writeReg(Devid,0x41,0x40); // csm_clip_gy_low     
			status &= I2C_writeReg(Devid,0x42,0x40); // csm_clip_bcb_low    
			status &= I2C_writeReg(Devid,0x43,0x40); // csm_clip_rcr_low    
			status &= I2C_writeReg(Devid,0x44,0x53); // csm_clip_gy_high    
			status &= I2C_writeReg(Devid,0x45,0x3F); // csm_clip_bcb_high   
			status &= I2C_writeReg(Devid,0x46,0x3F); // csm_clip_rcr_high   
			status &= I2C_writeReg(Devid,0x47,0x40); // csm_shift_gy        
			status &= I2C_writeReg(Devid,0x48,0x40); // csm_shift_bcb       
			status &= I2C_writeReg(Devid,0x49,0x40); // csm_shift_rcr       
			status &= I2C_writeReg(Devid,0x4A,0x08); // csm_mult_gy_msb     
			status &= I2C_writeReg(Devid,0x4B,0x00); // csm_mult_bcb_rcr_msb
			status &= I2C_writeReg(Devid,0x4C,0x00); // csm_mult_gy_lsb     
			status &= I2C_writeReg(Devid,0x4D,0x00); // csm_mult_bcb_lsb    
			status &= I2C_writeReg(Devid,0x4E,0x00); // csm_mult_rcr_lsb    
			status &= I2C_writeReg(Devid,0x4F,0x00); // csm_mode        
			break;
	}
	return status;
}
static int test_config(int Devid,int mode) {
	int status = 1;
	switch(mode){
		case NO_TEST:
		default:
			status &= I2C_writeReg(Devid,0x1A,0x00); // tst_cntl            
			status &= I2C_writeReg(Devid,0x1B,0x00); // tst_ramp_cntl       			
			break;
	}
	return status;
}



static Bool THS8200_config(EDC_Handle handle, THS8200_Params *params) {
	int status = 1;
	int Devid = THS8200_address;
	
	/* configure the test mode*/
	status &= test_config(Devid,NO_TEST);	
	/* configure CSM */
	status &= csm_config(Devid,CSM_OFF);
	/*Configure CGMS */
	status &= cgms_config(Devid,NO_CGMS);
	/*configure CSC */
	status &= csc_config(Devid,CSC_RAWDATA);



///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
// THS8200 480p, 20bit YCbCr in, YPbPr out, Embedded input syncs                 //
///////////////////////////////////////////////////////////////////////////////////
	if(params->outFmt == YPbPr_480P_HDTV) {    
	/*Configure the input SYNC signal,either embedded or dedicated */	
		if(params->inFmt == BT656_EMBEDDED_SYNC) {
		   status &= I2C_writeReg(Devid,0x82,0x3F); // pol_cntl            
		   status &= I2C_writeReg(Devid,0x1C,0x04); // dman_cntl       
		}
		else if(params->inFmt == BT656_EXTERNAL_SYNC) {
		   status &= I2C_writeReg(Devid,0x82,0x1F); // pol_cntl   
		   status &= I2C_writeReg(Devid,0x1C,0x04); // dman_cntl       
		}
		else if(params->inFmt == YCx20_EXTERNAL_SYNC) {
		   status &= I2C_writeReg(Devid,0x82,0x1F); // pol_cntl   
		   status &= I2C_writeReg(Devid,0x1C,0x03); // dman_cntl       
		}
		else if(params->inFmt == YCx20_EMBEDDED_SYNC) {
		   status &= I2C_writeReg(Devid,0x82,0x3F); // pol_cntl   
		   status &= I2C_writeReg(Devid,0x1C,0x03); // dman_cntl       
		}
		else { 
		   return(FALSE);
		}
	
	/*configure Dispaly Time Generator,Data Manager */
		status &= I2C_writeReg(Devid,0x03,0x11); // chip_ctl 
		status &= I2C_writeReg(Devid,0x1D,0xFF); // dtg_y_sync1 
		status &= I2C_writeReg(Devid,0x1E,0x49); // dtg_y_sync2 
		status &= I2C_writeReg(Devid,0x1F,0xFF); // dtg_y_sync3 these set up output sync levels 
		status &= I2C_writeReg(Devid,0x20,0xFF); // dtg_cbcr_sync1 
		status &= I2C_writeReg(Devid,0x21,0xFF); // dtg_cbcr_sync2 
		status &= I2C_writeReg(Devid,0x22,0xFF); // dtg_cbcr_sync3 
		status &= I2C_writeReg(Devid,0x23,0x11); // dtg_y_sync_upper 
		status &= I2C_writeReg(Devid,0x24,0x15); // dtg_cbcr_sync_upper 
		status &= I2C_writeReg(Devid,0x25,0x3D); // dtg_spec_a these spec registers set up horizontal timing parameters 
		status &= I2C_writeReg(Devid,0x26,0x10); // dtg_spec_b 
		status &= I2C_writeReg(Devid,0x27,0x20); // dtg_spec_c 
		status &= I2C_writeReg(Devid,0x28,0x7A); // dtg_spec_d 
		status &= I2C_writeReg(Devid,0x29,0x00); // dtg_spec_d1 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品你懂的| 国产成人在线视频网址| 亚洲欧美乱综合| 1000精品久久久久久久久| 久久久久久久久久美女| 欧美极品xxx| 国产精品乱人伦中文| 日本一区二区视频在线| 久久人人爽爽爽人久久久| 精品电影一区二区| 91美女视频网站| 精品综合久久久久久8888| 日韩毛片精品高清免费| 337p亚洲精品色噜噜狠狠| 本田岬高潮一区二区三区| 六月丁香婷婷色狠狠久久| 亚洲亚洲人成综合网络| 国产精品久久久久久久久搜平片| 亚洲欧美成人一区二区三区| 亚洲主播在线播放| 国产在线精品免费| 日本久久精品电影| 久久网这里都是精品| 色天天综合久久久久综合片| 九九国产精品视频| 日韩中文字幕1| 五月激情丁香一区二区三区| 亚洲精品国产一区二区精华液 | 亚洲va韩国va欧美va精品| 欧美激情资源网| 精品女同一区二区| 日韩一级精品视频在线观看| 欧美人妇做爰xxxⅹ性高电影| 99久久精品国产网站| 国产传媒欧美日韩成人| 狠狠色丁香久久婷婷综合丁香| 日本怡春院一区二区| 久草这里只有精品视频| youjizz久久| 欧美一区二区人人喊爽| 国产欧美精品一区二区色综合朱莉| 中文字幕在线不卡一区二区三区 | 麻豆成人91精品二区三区| 国产一区二区三区观看| 色av综合在线| 国产免费成人在线视频| 亚洲高清视频中文字幕| 国产成人综合自拍| 7777精品伊人久久久大香线蕉最新版| 亚洲精品一区二区在线观看| 136国产福利精品导航| 狠狠色丁香久久婷婷综合_中| 色综合一个色综合| 久久久国产午夜精品| 性做久久久久久免费观看欧美| 国产精品一区二区三区99| 欧美另类久久久品| 一区二区在线观看免费| 国产一区视频网站| 亚洲一区二区三区在线| 精品入口麻豆88视频| 久久久亚洲高清| 暴力调教一区二区三区| 一区二区三区四区精品在线视频| 91小宝寻花一区二区三区| 亚洲一区二区三区四区五区中文| 欧美性大战久久| 久久精品国产秦先生| 国产精品久久777777| 欧美日韩亚洲综合在线| 九九在线精品视频| 亚洲欧洲中文日韩久久av乱码| 亚洲精品国产视频| 九九**精品视频免费播放| 久久精品视频在线免费观看| 国产不卡在线视频| 亚洲精品亚洲人成人网| 欧美三级电影网站| 国产一区二区三区黄视频 | 亚洲人妖av一区二区| 99国产精品久| 午夜欧美视频在线观看| 精品成人佐山爱一区二区| 国产成a人亚洲精| 亚洲人成精品久久久久久| 欧美日韩精品一区二区三区四区| 美国十次综合导航| 国产精品卡一卡二| 欧美欧美欧美欧美| 91蜜桃网址入口| 久久国产日韩欧美精品| 亚洲精品免费在线| 精品久久久久久久久久久院品网| 99re这里只有精品视频首页| 日韩中文字幕麻豆| 136国产福利精品导航| 26uuu久久天堂性欧美| 91网上在线视频| 久久福利资源站| 亚洲国产aⅴ天堂久久| 亚洲欧洲精品成人久久奇米网| 国产suv精品一区二区6| 免费xxxx性欧美18vr| 韩国av一区二区| 国产成人综合亚洲91猫咪| 国产精品一色哟哟哟| 国产福利精品一区| av在线不卡电影| 91久久久免费一区二区| 欧美最猛黑人xxxxx猛交| 337p亚洲精品色噜噜| 久久久久一区二区三区四区| 国产精品美女一区二区三区 | 精品无人区卡一卡二卡三乱码免费卡 | 国产精品国产精品国产专区不蜜 | 欧美成人乱码一区二区三区| 久久人人超碰精品| 亚洲免费资源在线播放| 免费成人小视频| 成人97人人超碰人人99| 在线这里只有精品| 精品欧美久久久| 亚洲欧美激情小说另类| 久久国产乱子精品免费女| 不卡的av电影在线观看| 欧美一区二区网站| 国产精品乱码妇女bbbb| 日韩中文字幕区一区有砖一区| 国产成人三级在线观看| 欧美色倩网站大全免费| 久久久精品综合| 日韩精品成人一区二区在线| 97se狠狠狠综合亚洲狠狠| 精品黑人一区二区三区久久| 中文字幕在线一区二区三区| 免费成人美女在线观看| 91免费视频观看| 91久久奴性调教| 精品国内二区三区| 亚洲色图视频网站| 久草在线在线精品观看| 色伊人久久综合中文字幕| 欧美电视剧免费观看| 亚洲男人天堂av网| 成人av网址在线观看| 91精品国产综合久久精品性色| 亚洲欧美日韩综合aⅴ视频| 美女国产一区二区| 欧美肥妇free| 亚洲动漫第一页| 在线观看av不卡| 国产精品护士白丝一区av| 国产一区二区电影| 精品国产91亚洲一区二区三区婷婷 | 久久网站最新地址| 麻豆91精品91久久久的内涵| 欧美无人高清视频在线观看| 亚洲女与黑人做爰| 91一区二区三区在线播放| 国产精品区一区二区三区| 99国产精品久| 一区二区三区四区在线免费观看 | 欧美日本韩国一区二区三区视频| 综合久久久久久久| 99久久99久久精品免费观看 | 91久久精品国产91性色tv| 亚洲综合在线第一页| 国产综合久久久久影院| 91麻豆精品国产91久久久久| 亚洲日本在线a| 波多野结衣中文字幕一区| 久久夜色精品国产欧美乱极品| 午夜精品久久久| 欧美日韩高清一区| 亚洲一区二区欧美激情| 99麻豆久久久国产精品免费| 夜夜嗨av一区二区三区中文字幕| 欧美日韩一区二区在线观看| 美女网站视频久久| 亚洲欧美日韩中文播放| 欧美一区二区三区色| 成人精品视频一区| 蜜臀久久99精品久久久画质超高清 | 91免费视频大全| 久久不见久久见免费视频7| 自拍偷拍亚洲欧美日韩| 91福利视频网站| 欧美电影免费观看高清完整版在| 亚洲国产精品精华液网站| 欧美自拍丝袜亚洲| 婷婷激情综合网| 国产视频视频一区| 色婷婷国产精品久久包臀 | 艳妇臀荡乳欲伦亚洲一区| 色综合天天天天做夜夜夜夜做| 夜夜精品视频一区二区| 2024国产精品| 91国偷自产一区二区三区观看| 日本女人一区二区三区| 国产区在线观看成人精品 |