📄 video.lst
字号:
213 /****************************************************************************/
214 void Set_GammaVg1(void)
215 {
216 1 sGamma.Vg1 = ItemValue.value;
217 1 CS7111_Write(0x07,sGamma.Vg1);
218 1 }
219 /****************************************************************************/
220 void Set_GammaVg2(void)
221 {
222 1 sGamma.Vg2 = ItemValue.value;
223 1 CS7111_Write(0x08,sGamma.Vg2);
224 1 }
225 /****************************************************************************/
226 void Set_VCOMAMP(void)
227 {
228 1 sGamma.CAMP= ItemValue.value;
229 1 CS7111_Write(0x0E,sGamma.CAMP);
230 1 }
231 /****************************************************************************/
232 void Set_VCOMDC(void)
233 {
234 1 sGamma.CDC = ItemValue.value;
235 1 CS7111_Write(0x0F,sGamma.CDC);
236 1 }
237 /****************************************************************************/
238 void Set_DriveR(void)
239 {
240 1 sGamma.DR = ItemValue.value;
C51 COMPILER V7.09 VIDEO 09/06/2006 13:39:49 PAGE 5
241 1 CS7111_Write(0x0A,sGamma.DR | 0x00);
242 1 //CS7111_Write(0x12,sGamma.DR );
243 1 }
244 /****************************************************************************/
245 void Set_DriveG(void)
246 {
247 1 sGamma.DG= ItemValue.value;
248 1 CS7111_Write(0x0B,sGamma.DG | 0x00);
249 1 //CS7111_Write(0x13,sGamma.DG );
250 1 }
251 /****************************************************************************/
252 void Set_DriveB(void)
253 {
254 1 sGamma.DB = ItemValue.value;
255 1 CS7111_Write(0x0C,sGamma.DB | 0x00);
256 1 }
257 /****************************************************************************/
258
259
260
261 BYTE ReadVideoStatus()
262 {
263 1 BYTE Temp;
264 1
265 1 SStatus=Video_Sync(); // For Sync detect
266 1 Video_S(SStatus);
267 1 CS7111_Read(0x00,&Temp,1);
268 1
269 1 Temp&=0x7C;
270 1 return Temp;
271 1
272 1 }
273 void Get_VideoSync(void)
274 {
275 1 BYTE temp;
276 1
277 1 bSyncChange = FALSE;
278 1
279 1 switch(SyncStep)
280 1 {
281 2 case 0 : // check video sync change
282 2 temp = ReadVideoStatus();
283 2 if(temp != OldVideoStatus)
284 2 {
285 3 OldVideoStatus = temp;
286 3 SyncStep = 1;
287 3 SyncReChkCnt = SYNC_STABLE_TIME;
288 3 CS7111_Write(0x0A, 0x60); // enable Free run
289 3 byMTV_TCONADDR = 0x0B; // 0x00 ~ 0x1d
290 3 byMTV_TCONDATA = 0x08; // 0x00 ~ 0x1d
291 3 DisableOSD();
292 3 }
293 2
294 2 #if 0
if((temp&0x20) == 0x20)
{
tmpbuf[0]++;
OldVideoStatus = temp;
temp=(temp&0x1C)>>2;
if(temp>=0x01&&temp<=0x03)
bNTSCVideo = 0;
else if(temp>=0x04&&temp<=0x05)
C51 COMPILER V7.09 VIDEO 09/06/2006 13:39:49 PAGE 6
bNTSCVideo = 1;
bSyncChange = TRUE;
bNoSync = 0;
}
else if((temp&0x20) == 0x00)
{
tmpbuf[1]++;
OldVideoStatus = temp;
bSyncChange = TRUE;
bNoSync = 1;
}
#endif
315 2 /*
316 2 if(temp != 0x3C)
317 2 {
318 2 // turn off display
319 2 SetBlack(ON);
320 2 Res_BKLT;
321 2 Close_OSD();
322 2 OldVideoStatus = temp;
323 2 SyncStep = 1;
324 2 SyncReChkCnt = VIDEOSYNC_STABLE_TIME;
325 2 }
326 2 */
327 2 break;
328 2 #if 1
329 2 case 1 : // wait sync stable
330 2 if(SyncReChkCnt == 0)
331 2 {
332 3 SyncStep = 0;
333 3 temp = ReadVideoStatus();
334 3 if(temp == OldVideoStatus )
335 3 {
336 4 if((temp&0x3C)==0x20)
337 4 {
338 5 //VSW = 0x01;
339 5 //SyncSW = 0;
340 5 ColorSys = ~ColorSys;
341 5 //WIDEBLKPOL = 0;
342 5 CS7111_Write(0x0D,((SyncSW<<7)|(WIDEBLKPOL<<6)|(VSW<<3)|(ColorSys&0x01)));
343 5 }
344 4 VideoStatusDecode(temp);
345 4 bSyncChange = TRUE;
346 4 }
347 3 }
348 2 break;
349 2 #endif
350 2 //Prevent unknow variable
351 2 default:
352 2 SyncStep = 0;
353 2 break;
354 2 }
355 1
356 1 }
357
358 void Video_SyncProc()
359 {
360 1 if(bSyncChange==0)
361 1 return;
362 1 if(bNoSync)
363 1 {
364 2 CS7111_Write(0x0A, 0x40);
C51 COMPILER V7.09 VIDEO 09/06/2006 13:39:49 PAGE 7
365 2 Disp_No_Input_Signal();
366 2 return;
367 2 }
368 1 else
369 1 {
370 2 CS7111_Write(0x0A, 0x20);
371 2 }
372 1
373 1
374 1 byMTV_TCONADDR = 0x0B; // 0x00 ~ 0x1d
375 1 if(!bNTSCVideo)
376 1
377 1 byMTV_TCONDATA = 0x05;
378 1 else
379 1 byMTV_TCONDATA = 0x08; // 0x00 ~ 0x1d
380 1
381 1
382 1 Disp_Input_Mode();
383 1
384 1
385 1 }
386
387 void Initial_Video()
388 {
389 1
390 1
391 1 DoWait(150);
392 1
393 1 //CS7111_Write(0x0E,0xA0);
394 1 //CS7111_Write(0x0F,0x80);
395 1 CS7111_Write(0x0A,0x40); // For default is no sync
396 1
397 1 #ifdef MTV332_PLL
398 1 CS7111_Write(0x12,0x7F);
399 1 CS7111_Write(0x10,0x31);
400 1 CS7111_Write(0x11,0x14);
401 1 #endif
402 1
403 1 #ifdef VD_PLL
CS7111_Write(0x12,0x07);
CS7111_Write(0x10,0x11);
CS7111_Write(0x11,0x00);
#endif
408 1 }
409 #endif
410
411 #endif
412 /****************************************************************************/
413 void VideoStatusDecode(BYTE temp)
414 {
415 1 if( ((temp & 0x20) == 0) ) // No Connector
416 1 bNoSync = TRUE;
417 1 else
418 1 {
419 2 bNoSync = FALSE;
420 2
421 2 if((temp & 0x40) )
422 2 bNTSCVideo = 1; // NTSC input
423 2 else
424 2 bNTSCVideo = 0; //PAL input
425 2
426 2 byVideoMode = ((temp & 0x1c)>>2);
C51 COMPILER V7.09 VIDEO 09/06/2006 13:39:49 PAGE 8
427 2
428 2 }
429 1 }
430
431
432 /****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -