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

📄 vdec.cpp

📁 vc ad
💻 CPP
📖 第 1 页 / 共 2 页
字号:
{0xec , 0x00},
{0xed , 0x00},
{0xee , 0x00},
{0xef , 0x00},

{0x88 , 0xe0} //reset
#else
{0x88 , 0xc0},

{0x01 , 0x08},
{0x02 , 0xc4},//c3
{0x03 , 0x10},
{0x04 , 0x90},
{0x05 , 0x90},
{0x06 , 0xeb},
{0x07 , 0xe0},
{0x08 , 0xa8},
{0x09 , 0x40},
{0x0a , 0x80},
{0x0b , 0x44},
{0x0c , 0x40},
{0x0d , 0x00},
{0x0e , 0x01},
{0x0f , 0x2a},
{0x10 , 0x00},
{0x11 , 0x00},
{0x12 , 0xc9},//00
{0x13 , 0x80},//c2
{0x14 , 0x00},
{0x15 , 0x1},//0x38},//05
{0x16 , 0x0},//0x34},//07
{0x17 , 0x03},//0x04},//0x03},//40
{0x18 , 0x40},
{0x19 , 0x80},
{0x1a , 0x00},
{0x1b , 0x00},
{0x1c , 0x00},
{0x1d , 0x00},
{0x1e , 0x00},
{0x30 , 0x00},
{0x31 , 0x72},
{0x32 , 0x03},
{0x34 , 0xcd},
{0x35 , 0xcc},
{0x36 , 0x3a},
{0x38 , 0x03},
{0x39 , 0x20},
{0x3a , 0x00},
{0x40 , 0x00},
{0x41 , 0xff},
{0x42 , 0xff},
{0x43 , 0xff},
{0x44 , 0xff},
{0x45 , 0xff},
{0x46 , 0xff},
{0x47 , 0xff},
{0x48 , 0xff},
{0x49 , 0xff},
{0x4a , 0xff},
{0x4b , 0xff},
{0x4c , 0xff},
{0x4d , 0xff},
{0x4e , 0xff},
{0x4f , 0xff},
{0x50 , 0xff},
{0x51 , 0xff},
{0x52 , 0xff},
{0x53 , 0xff},
{0x54 , 0xff},
{0x55 , 0xff},
{0x56 , 0xff},
{0x57 , 0xff},
{0x58 , 0x00},
{0x59 , 0x47},
{0x5a , 0x06},
{0x5b , 0x03},
{0x5c , 0x00},
{0x5d , 0x00},
{0x5e , 0x00},
{0x5f , 0x00},
{0x80 , 0x30},
{0x81 , 0x00},
{0x82 , 0x00},
{0x83 , 0x02},   //00
{0x84 , 0x01},
{0x85 , 0x00},
{0x86 , 0xc0},
{0x87 , 0x01},
{0x90 , 0x04}, //03
{0x91 , 0x08},
{0x92 , 0x10},
{0x93 , 0x00},
{0x94 , 0x02},
{0x95 , 0x00},
{0x96 , 0xd0},
{0x97 , 0x02},
{0x98 , 0x04},
{0x99 , 0x00},
{0x9a , 0x33},
{0x9b , 0x01},
{0x9c , 0xd0},
{0x9d , 0x02},
{0x9e , 0x30},
{0x9f , 0x01},
{0xa0 , 0x01},
{0xa1 , 0x00},
{0xa2 , 0x00},
{0xa4 , 0x80},
{0xa5 , 0x40},
{0xa6 , 0x40},
{0xa8 , 0x00},
{0xa9 , 0x04},
{0xaa , 0x00},
{0xac , 0x00},
{0xad , 0x02},
{0xae , 0x00},
{0xb0 , 0x00},
{0xb1 , 0x04},
{0xb2 , 0x00},
{0xb3 , 0x04},
{0xb4 , 0x00},
{0xb8 , 0x00},
{0xb9 , 0x00},
{0xba , 0x00},
{0xbb , 0x00},
{0xbc , 0x00},
{0xbd , 0x00},
{0xbe , 0x00},
{0xbf , 0x00},
{0xc0 , 0x02},
{0xc1 , 0x08},
{0xc2 , 0x10},
{0xc3 , 0x00},
{0xc4 , 0x02},
{0xc5 , 0x00},
{0xc6 , 0xd0},
{0xc7 , 0x02},
{0xc8 , 0x04},
{0xc9 , 0x00},
{0xca , 0x33},
{0xcb , 0x01},
{0xcc , 0xd0},
{0xcd , 0x02},
{0xce , 0x32},
{0xcf , 0x01},
{0xd0 , 0x01},
{0xd1 , 0x00},
{0xd2 , 0x00},
{0xd4 , 0x80},
{0xd5 , 0x40},
{0xd6 , 0x40},
{0xd8 , 0x00},
{0xd9 , 0x04},
{0xda , 0x00},
{0xdc , 0x00},
{0xdd , 0x02},
{0xde , 0x00},
{0xe0 , 0x00},
{0xe1 , 0x04},
{0xe2 , 0x00},
{0xe3 , 0x04},
{0xe4 , 0x00},
{0xe8 , 0x00},
{0xe9 , 0x00},
{0xea , 0x00},
{0xeb , 0x00},
{0xec , 0x00},
{0xed , 0x00},
{0xee , 0x00},
{0xef , 0x00},

{0x88 , 0xe0}
#endif       
};     


BOOL CCard::Init7113(int nChannel)
{
  int i;
  int j;
  UCHAR VIPAddresses[2]={IIC_SUB_VIP,IIC_SUB_VIP2};
#if 1
  //for(i=1; i<0xef; i++){
	j=IICRead(VIPAddresses[nChannel], 0);
  //}
  Reg7113[1].byData=0xc2;
  if(m_nBoardVersion==REVSS3000)
	Reg7113[1].byData=0xc0;
  for(i=0; i<(sizeof(Reg7113)/sizeof(struct IICReg)); i++){
    IICWrite(VIPAddresses[nChannel], Reg7113[i].bySub, Reg7113[i].byData);
    if(bIICError)
      return FALSE;
  }
#else
  IICWrite(VIPAddresses[nChannel], 0x08, 0);
  for(i=0; i<(sizeof(Reg7114)/sizeof(struct IICReg)); i++){
    IICWrite(VIPAddresses[nChannel], Reg7114[i].bySub, Reg7114[i].byData);
    if(bIICError)
      return FALSE;
  }
#endif
  return TRUE;
}

void CCard::GetVideoParameter(PAVE2K_VIDEO_PARAMETER pVideoParameter, ULONG nChannel)
{
	UCHAR VIPAddresses[2]={IIC_SUB_VIP,IIC_SUB_VIP2};
	UCHAR VIPAddress=VIPAddresses[nChannel];
	pVideoParameter->Brightness = (IICRead(VIPAddress,0xa)*100L+127)/255;
	pVideoParameter->Contrast = (IICRead(VIPAddress,0xb)*100L+63)/127;
	pVideoParameter->Saturation = (IICRead(VIPAddress,0xc)*100L+63)/127;
	pVideoParameter->Hue = ((((signed char)IICRead(VIPAddress,0xd))+128)*100L+127)/255;
}

void CCard::SetVideoParameter(PAVE2K_VIDEO_PARAMETER pVideoParameter, ULONG nChannel)
{
	UCHAR VIPAddresses[2]={IIC_SUB_VIP,IIC_SUB_VIP2};
	UCHAR VIPAddress=VIPAddresses[nChannel];
	if(pVideoParameter->Brightness>100)
		pVideoParameter->Brightness=100;
	if(pVideoParameter->Contrast>100)
		pVideoParameter->Contrast=100;
	if(pVideoParameter->Saturation>100)
		pVideoParameter->Saturation=100;
	if(pVideoParameter->Hue>100)
		pVideoParameter->Hue=100;
	IICWrite(VIPAddress,0xa,(UCHAR)((pVideoParameter->Brightness*255+50)/100));
	IICWrite(VIPAddress,0xb,(UCHAR)((pVideoParameter->Contrast*127+50)/100));
	IICWrite(VIPAddress,0xc,(UCHAR)((pVideoParameter->Saturation*127+50)/100));
	IICWrite(VIPAddress,0xd,(UCHAR)((pVideoParameter->Hue*255+50)/100-128));
}

int CCard::GetVideoType(int nChannel)
{
  int nMode;
  UCHAR VIPAddresses[2]={IIC_SUB_VIP,IIC_SUB_VIP2};
  //return VIDEOTYPE_NTSC;//ntsc
  nMode=IICRead(VIPAddresses[nChannel], 0x1f);
  if(nMode&0x40)
    return VIDEOTYPE_NONE;//none
  if(nMode&0x20)
    return VIDEOTYPE_NTSC;//ntsc
  else
    return VIDEOTYPE_PAL;//pal
}
void CCard::SetVideoSource(ULONG VideoSource, ULONG nChannel)
{
	UCHAR SetSource;
    UCHAR VIPAddresses[2]={IIC_SUB_VIP,IIC_SUB_VIP2};
	if(VideoSource==VIDEOSOURCE_CVBS)
		SetSource = 0xc2;
	else
		SetSource = 0xc9;
	IICWrite(VIPAddresses[nChannel], 2, SetSource);
}
#define IIC_SUB_OSD		0x7a
#define E(a)	if((a)==0) return 0;
BOOL CCard::InitMTV118(char *sText)
{
	BYTE buf[40];
	//clear ram data
	buf[0]=15|0x80;
	buf[1]=17;
	buf[2]=0x06;
	E(IICWriteBytes(IIC_SUB_OSD, 3, buf));
	buf[0]=15|0x80;
	buf[1]=17;
	buf[2]=0xc0;//bit 6 is border/shadow enable, bit 5 is shadow
	E(IICWriteBytes(IIC_SUB_OSD, 3, buf));
	//horizonal offset
	buf[0]=15|0x80;
	buf[1]=13;
	buf[2]=34;//81;
	//buf[2]=6;//81;
	E(IICWriteBytes(IIC_SUB_OSD, 3, buf));
	//vertical offset
	buf[0]=15|0x80;
	buf[1]=12;
	buf[2]=68;
	//buf[2]=25;
	E(IICWriteBytes(IIC_SUB_OSD, 3, buf));
	buf[0]=15|0x80;
	buf[1]=18;
	buf[2]=0x48;//bit 4 is DWE (double width enable), bit 2 is VSP, bit 3 is HSP
	E(IICWriteBytes(IIC_SUB_OSD, 3, buf));

	buf[0]=0|0x80;//row
	buf[1]=0|0x40;//column
	strcpy((char *)buf+2, sText);
	int n=strlen(sText);
	E(IICWriteBytes(IIC_SUB_OSD, n+2, buf));
	buf[0]=0|0xa0;//row
	buf[1]=0|0x40;//column
	memset((char *)buf+2, 0x0f, n);
	E(IICWriteBytes(IIC_SUB_OSD, n+2, buf));
	buf[0]=0|0x80;
	buf[1]=30;
	buf[2]=0x01;
	E(IICWriteBytes(IIC_SUB_OSD, 3, buf));

	//sText="\xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff";
	sText="0 9 : 3 8 : 1 5";
	buf[0]=1|0x80;//row
	buf[1]=0|0x40;//column
	strcpy((char *)buf+2, sText);
	n=strlen(sText);
	E(IICWriteBytes(IIC_SUB_OSD, n+3, buf));
	buf[0]=1|0xa0;//row
	buf[1]=0|0x40;//column
	memset((char *)buf+2, 0x07, n); //bit 7 is blink
	E(IICWriteBytes(IIC_SUB_OSD, n+3, buf));
	buf[0]=1|0x80;
	buf[1]=30;
	buf[2]=0x01;
	E(IICWriteBytes(IIC_SUB_OSD, 3, buf));

	/*sText="0 9 : 3 8 : 2 5";
	buf[0]=2|0x80;//row
	buf[1]=0|0x40;//column
	strcpy((char *)buf+2, sText);
	n=strlen(sText);
	IICWriteBytes(IIC_SUB_OSD, n+3, buf);
	buf[0]=2|0xa0;//row
	buf[1]=0|0x40;//column
	memset((char *)buf+2, 0x0f, n);
	IICWriteBytes(IIC_SUB_OSD, n+3, buf);
	buf[0]=2|0x80;
	buf[1]=30;
	buf[2]=0x01;
	IICWriteBytes(IIC_SUB_OSD, 3, buf);

	sText="0 9 : 3 8 : 2 5";
	buf[0]=3|0x80;//row
	buf[1]=0|0x40;//column
	strcpy((char *)buf+2, sText);
	n=strlen(sText);
	IICWriteBytes(IIC_SUB_OSD, n+3, buf);
	buf[0]=3|0xa0;//row
	buf[1]=0|0x40;//column
	memset((char *)buf+2, 0x0f, n);
	IICWriteBytes(IIC_SUB_OSD, n+3, buf);
	buf[0]=3|0x80;
	buf[1]=30;
	buf[2]=0x01;
	IICWriteBytes(IIC_SUB_OSD, 3, buf);
	*/
	return TRUE;
}

⌨️ 快捷键说明

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