Erik Kristensen wrote:
> Greetings everyone.
>
> I am having issues trying to get s-video out working properly on my
> system using the openchrome drivers.
>
> Basically the output is all screwed and scrambled.
>
> Mainboard: VIA EPIA-CN10000EG
>
> I have read just about everything I could find via google on open
> chrome, epia via, and s-video out in linux (fedora). Everything I have
> tried has failed to work except one, if I place vbemodes equals true
> in my configuration I get s-video up on my screen perfectly or
> composite, both will work at thsi point, the only problem is that all
> video and audio playback is extremely choppy and slow, however if I
> just plug the system into a monitor and do video/audio playback it is
> smooth, so that is what leads me to believe the vbemodes is causing
> the issues. But again if I don't use vbemodes I can't get svideo or
> composite out working.
>
> I built this system to be the frontend for my mythtv setup, thus the
> reasoning for connecting it to a TV. I have thought about purchaseing
> a vga to s-video converter, but would rather get the onboard working
> if possible.
>
> Thanks for the help.
>
> Regards,
> Erik
>
The TV encoder used on this board is a VT1625 and there was a patch
posted to enhance VT1625 supportsome time ago, but it was not reviewed
yet and thus not committed to SVN. However, some people tried it and
reported success, it might help with your issue.
The original patch doesn't apply anymore to trunk, I'm attaching an
updated version.
Regards,
Xavier
Index: src/via_mode.c
===================================================================
--- src/via_mode.c (revision 758)
+++ src/via_mode.c (working copy)
@@ -250,6 +250,10 @@ ViaTVSetMode(ScrnInfoPtr pScrn, DisplayModePtr mod
if (pBIOSInfo->TVModeCrtc)
pBIOSInfo->TVModeCrtc(pScrn, mode);
+
+ /* TV reset. */
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x1D, 0x00);
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x1D, 0x80);
}
void
@@ -491,6 +495,8 @@ ViaOutputsSelect(ScrnInfoPtr pScrn)
pBIOSInfo->CrtPresent = TRUE;
pBIOSInfo->CrtActive = TRUE;
}
+ if (pBIOSInfo->TVActive)
+ pBIOSInfo->FirstCRTC->IsActive = TRUE ;
}
if (!pVia->UseLegacyModeSwitch) {
if (pBIOSInfo->CrtActive)
@@ -1693,6 +1699,13 @@ ViaModeSet(ScrnInfoPtr pScrn, DisplayModePtr mode)
ViaDisplaySetStreamOnDFP(pScrn, TRUE);
ViaDFPPower(pScrn, TRUE);
}
+
+ if (pBIOSInfo->TVActive) {
+ /* TV on FirstCrtc */
+ ViaDisplaySetStreamOnDVO(pScrn, pBIOSInfo->TVDIPort, TRUE);
+ ViaDisplayEnableDVO(pScrn, pBIOSInfo->TVDIPort);
+ ViaTVSetMode(pScrn, mode);
+ }
ViaModeFirstCRTC(pScrn, mode);
} else {
Index: src/via_driver.c
===================================================================
--- src/via_driver.c (revision 758)
+++ src/via_driver.c (working copy)
@@ -211,6 +211,7 @@ typedef enum
OPTION_TVDOTCRAWL,
OPTION_TVTYPE,
OPTION_TVOUTPUT,
+ OPTION_TVDIPORT,
OPTION_DISABLEVQ,
OPTION_DISABLEIRQ,
OPTION_TVDEFLICKER,
@@ -249,6 +250,7 @@ static OptionInfoRec VIAOptions[] = {
{OPTION_TVDEFLICKER, "TVDeflicker", OPTV_INTEGER, {0}, FALSE},
{OPTION_TVTYPE, "TVType", OPTV_ANYSTR, {0}, FALSE},
{OPTION_TVOUTPUT, "TVOutput", OPTV_ANYSTR, {0}, FALSE},
+ {OPTION_TVDIPORT, "TVPort", OPTV_ANYSTR, {0}, FALSE},
{OPTION_DISABLEVQ, "DisableVQ", OPTV_BOOLEAN, {0}, FALSE},
{OPTION_DISABLEIRQ, "DisableIRQ", OPTV_BOOLEAN, {0}, FALSE},
{OPTION_AGP_DMA, "EnableAGPDMA", OPTV_BOOLEAN, {0}, FALSE},
@@ -840,6 +842,7 @@ static Bool
VIASetupDefaultOptions(ScrnInfoPtr pScrn)
{
VIAPtr pVia = VIAPTR(pScrn);
+ VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIASetupDefaultOptions\n"));
@@ -890,6 +893,7 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn)
pVia->agpEnable = FALSE;
pVia->dmaXV = FALSE;
pVia->UseLegacyModeSwitch = FALSE;
+ pBIOSInfo->TVDIPort = VIA_DI_PORT_DVP0;
break;
case VIA_P4M900:
pVia->VideoEngine = VIDEO_ENGINE_CME;
@@ -898,17 +902,20 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn)
/* FIXME: this needs to be tested */
pVia->dmaXV = FALSE;
pVia->UseLegacyModeSwitch = FALSE;
+ pBIOSInfo->TVDIPort = VIA_DI_PORT_DVP0;
break;
case VIA_CX700:
pVia->VideoEngine = VIDEO_ENGINE_CME;
pVia->swov.maxWInterp = 1920;
pVia->swov.maxHInterp = 1080;
pVia->UseLegacyModeSwitch = FALSE;
+ pBIOSInfo->TVDIPort = VIA_DI_PORT_DVP1;
break;
case VIA_P4M890:
pVia->VideoEngine = VIDEO_ENGINE_CME;
pVia->dmaXV = FALSE;
pVia->UseLegacyModeSwitch = FALSE;
+ pBIOSInfo->TVDIPort = VIA_DI_PORT_DVP1;
break;
case VIA_VX800:
case VIA_VX855:
@@ -916,6 +923,7 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn)
/* pVia->agpEnable = FALSE;
pVia->dmaXV = FALSE;*/
pVia->UseLegacyModeSwitch = FALSE;
+ pBIOSInfo->TVDIPort = VIA_DI_PORT_DVP1;
break;
}
@@ -1540,6 +1548,30 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
"No default TV output signal type is set.\n");
}
+ /* TV DI Port */
+ if ((s = xf86GetOptValString(VIAOptions, OPTION_TVDIPORT))) {
+ if (!xf86NameCmp(s, "DVP0")) {
+ pBIOSInfo->TVDIPort = VIA_DI_PORT_DVP0;
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+ "TV Output Port is DVP0.\n");
+ } else if (!xf86NameCmp(s, "DVP1")) {
+ pBIOSInfo->TVDIPort = VIA_DI_PORT_DVP1;
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+ "TV Output Port is DVP1.\n");
+ } else if (!xf86NameCmp(s, "DFPHigh")) {
+ pBIOSInfo->TVDIPort = VIA_DI_PORT_DFPHIGH;
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+ "TV Output Port is DFPHigh.\n");
+ } else if (!xf86NameCmp(s, "DFPLow")) {
+ pBIOSInfo->TVDIPort = VIA_DI_PORT_DFPLOW;
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+ "TV Output Port is DFPLow.\n");
+ }
+ } else {
+ xf86DrvMsg(pScrn->scrnIndex, X_DEFAULT,
+ "No default TV output port is set.\n");
+ }
+
VIAVidHWDiffInit(pScrn);
/* maybe throw in some more sanity checks here */
Index: src/via_crtc.c
===================================================================
--- src/via_crtc.c (revision 758)
+++ src/via_crtc.c (working copy)
@@ -304,7 +304,8 @@ ViaFirstCRTCSetMode(ScrnInfoPtr pScrn, DisplayMode
temp += 0x03;
temp &= ~0x03;
}
- hwp->writeSeq(hwp, 0x1C, (temp >> 1) & 0xFF);
+
+ hwp->writeSeq(hwp, 0x1C, ((temp >> 1)+1) & 0xFF);
ViaSeqMask(hwp, 0x1D, temp >> 9, 0x03);
switch (pVia->ChipId) {
Index: src/via_bios.h
===================================================================
--- src/via_bios.h (revision 758)
+++ src/via_bios.h (working copy)
@@ -98,6 +98,13 @@
#define VIA_DI_12BIT 0x00
#define VIA_DI_24BIT 0x01
+/* Digital Port */
+#define VIA_DI_PORT_NONE 0x0
+#define VIA_DI_PORT_DVP0 0x1
+#define VIA_DI_PORT_DVP1 0x2
+#define VIA_DI_PORT_DFPLOW 0x4
+#define VIA_DI_PORT_DFPHIGH 0x8
+
typedef struct ViaPanelMode {
int Width ;
int Height ;
@@ -187,6 +194,7 @@ typedef struct _VIABIOSINFO {
int TVDeflicker;
CARD8 TVRegs[0xFF];
int TVNumRegs;
+ int TVDIPort;
/* TV Callbacks */
void (*TVSave) (ScrnInfoPtr pScrn);
Index: src/via_display.c
===================================================================
--- src/via_display.c (revision 758)
+++ src/via_display.c (working copy)
@@ -111,6 +111,38 @@ ViaDisplayDisableCRT(ScrnInfoPtr pScrn)
ViaCrtcMask(hwp, 0x36, 0x30, 0x30);
}
+void
+ViaDisplayEnableDVO(ScrnInfoPtr pScrn, int port)
+{
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaDisplayEnableDVO\n"));
+ switch (port) {
+ case VIA_DI_PORT_DVP0:
+ ViaSeqMask(hwp, 0x1E, 0xC0, 0xC0);
+ break;
+ case VIA_DI_PORT_DVP1:
+ ViaSeqMask(hwp, 0x1E, 0x30, 0x30);
+ break;
+ }
+}
+
+void
+ViaDisplayDisableDVO(ScrnInfoPtr pScrn, int port)
+{
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaDisplayEnableDVO\n"));
+ switch (port) {
+ case VIA_DI_PORT_DVP0:
+ ViaSeqMask(hwp, 0x1E, 0x00, 0xC0);
+ break;
+ case VIA_DI_PORT_DVP1:
+ ViaSeqMask(hwp, 0x1E, 0x00, 0x30);
+ break;
+ }
+}
+
/*
* Sets the primary or secondary display stream on CRT.
*/
@@ -143,3 +175,32 @@ ViaDisplaySetStreamOnDFP(ScrnInfoPtr pScrn, Bool p
ViaCrtcMask(hwp, 0x99, 0x10, 0x10);
}
+void
+ViaDisplaySetStreamOnDVO(ScrnInfoPtr pScrn, int port, Bool primary)
+{
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
+ int regNum;
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaDisplaySetStreamOnDVO\n"));
+
+ switch (port) {
+ case VIA_DI_PORT_DVP0:
+ regNum = 0x96;
+ break;
+ case VIA_DI_PORT_DVP1:
+ regNum = 0x9B;
+ break;
+ case VIA_DI_PORT_DFPLOW:
+ regNum = 0x97;
+ break;
+ case VIA_DI_PORT_DFPHIGH:
+ regNum = 0x99;
+ break;
+ }
+
+ if (primary)
+ ViaCrtcMask(hwp, regNum, 0x00, 0x10);
+ else
+ ViaCrtcMask(hwp, regNum, 0x10, 0x10);
+}
+
Index: src/via_vt162x.c
===================================================================
--- src/via_vt162x.c (revision 758)
+++ src/via_vt162x.c (working copy)
@@ -32,7 +32,41 @@
#include "via_vt162x.h"
#include "via_id.h"
+static void
+ViaSetTVClockSource(ScrnInfoPtr pScrn)
+{
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaSetTVClockSource\n"));
+ VIAPtr pVia = VIAPTR(pScrn);
+ VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
+
+ /* External TV: */
+ switch(pVia->Chipset) {
+ case VIA_CX700:
+ case VIA_VX800:
+ if (pBIOSInfo->FirstCRTC->IsActive) {
+ if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP1)
+ ViaCrtcMask(hwp, 0x6C, 0xB0, 0xF0);
+ else if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP0)
+ ViaCrtcMask(hwp, 0x6C, 0x90, 0xF0);
+ } else {
+ /* IGA2 */
+ if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP1)
+ ViaCrtcMask(hwp, 0x6C, 0x0B, 0x0F);
+ else if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP0)
+ ViaCrtcMask(hwp, 0x6C, 0x09, 0x0F);
+ }
+ break;
+ default:
+ if (pBIOSInfo->FirstCRTC->IsActive)
+ ViaCrtcMask(hwp, 0x6C, 0x21, 0x21);
+ else
+ ViaCrtcMask(hwp, 0x6C, 0xA1, 0xA1);
+ break;
+ }
+}
+
static void
VT162xPrintRegs(ScrnInfoPtr pScrn)
{
@@ -650,11 +684,30 @@ VT1622ModeI2C(ScrnInfoPtr pScrn, DisplayModePtr mo
xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x2B, Table.RGB[4]);
if (Table.RGB[5])
xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x2C, Table.RGB[5]);
+ if (pBIOSInfo->TVEncoder == VIA_VT1625) {
+ if (pBIOSInfo->TVType < TVTYPE_480P) {
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x02, 0x12);
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x23, 0x7E);
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4A, 0x85);
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4B, 0x0A);
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4E, 0x00);
+ } else {
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x02, 0x12);
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4A, 0x85);
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4B, 0x0A);
+ }
+ }
} else if (pBIOSInfo->TVOutput == TVOUTPUT_YCBCR) {
xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x02, 0x03);
xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x65, Table.YCbCr[0]);
xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x66, Table.YCbCr[1]);
xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x67, Table.YCbCr[2]);
+ if (pBIOSInfo->TVEncoder == VIA_VT1625) {
+ if (pBIOSInfo->TVType < TVTYPE_480P) {
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x23, 0x7E);
+ xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4E, 0x00);
+ }
+ }
}
/* Configure flicker filter. */
@@ -721,8 +774,7 @@ VT1622ModeCrtc(ScrnInfoPtr pScrn, DisplayModePtr m
}
pBIOSInfo->ClockExternal = TRUE;
ViaCrtcMask(hwp, 0x6A, 0x40, 0x40);
- ViaCrtcMask(hwp, 0x6C, 0x01, 0x01);
- ViaSeqMask(hwp, 0x1E, 0xF0, 0xF0); /* enable DI0/DVP0 */
+ ViaSetTVClockSource(pScrn);
}
Index: src/via_vt162x.h
===================================================================
--- src/via_vt162x.h (revision 758)
+++ src/via_vt162x.h (working copy)
@@ -755,19 +755,19 @@ static DisplayModeRec VT1625Modes[] = {
{ MODEPREFIX("1024x768Over"), ... , MODESUFFIXPAL },
{ MODEPREFIX("720x576Over"), ... , MODESUFFIXPAL },*/
/* clock HR SH1 SH2 HFL VR SV1 SV2 VFL*/
- { MODEPREFIX("640x480"), 30000, 640, 680, 808, 1000, 0, 480, 520, 523, 600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL },
+ { MODEPREFIX("640x480"), 30000, 640, 688, 744, 784, 0, 480, 488, 495, 600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL },
{ MODEPREFIX("800x600"), 34500, 800, 816, 880, 920, 0, 600, 604, 620, 750, 0, V_PHSYNC | V_PVSYNC, MODESUFFIXPAL },
{ MODEPREFIX("1024x768"), 57000, 1024, 1040, 1112, 1200, 0, 768, 829, 840, 950, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXPAL },
- { MODEPREFIX("720x576"), 34500, 720, 766, 800, 1000, 0, 576, 576, 579, 690, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXPAL },
+ { MODEPREFIX("720x576"), 34500, 720, 760, 800, 1000, 0, 576, 577, 580, 690, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXPAL },
{ MODEPREFIX("720x576Over"), 27000, 720, 768, 800, 864, 0, 576, 577, 579, 625, 0, V_NHSYNC | V_PVSYNC, MODESUFFIXPAL },
{ MODEPREFIX("1280x720"), 74250, 1280, 1320, 1376, 1650, 0, 720, 722, 728, 750, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX720P },
- { MODEPREFIX("1920x1080"), 74250, 1920, 1960, 2016, 2200, 0, 1080, 1082, 1088, 1125, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX1080I },
+ { MODEPREFIX("1920x1080"), 74250, 1920, 1960, 2064, 2200, 0, 1080, 1083, 1087, 1125, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX1080I },
{ MODEPREFIX("640x480"), 24696, 640, 656, 744, 784, 0, 480, 482, 483, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
{ MODEPREFIX("720x480Under"), 34000, 720, 728, 744, 784, 0, 480, 490, 496, 600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
- { MODEPREFIX("720x480Fit"), 28980, 720, 728, 744, 784, 0, 480, 490, 496, 600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
- { MODEPREFIX("720x480Over"), 27025, 720, 728, 744, 784, 0, 480, 490, 496, 600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
+ { MODEPREFIX("720x480Fit"), 28980, 720, 728, 776, 840, 0, 480, 484, 499, 575, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
+ { MODEPREFIX("720x480Over"), 27025, 720, 752, 792, 800, 0, 480, 482, 485, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIXNTSC },
{ MODEPREFIX("720x480Under"), 28224, 720, 728, 744, 784, 0, 480, 490, 496, 600, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX480P },
{ MODEPREFIX("720x480Fit"), 28980, 720, 728, 776, 840, 0, 480, 484, 499, 575, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX480P },
@@ -828,13 +828,13 @@ VT1625Table[] = {
},
{ "720x480Over", 720, 480, TVTYPE_NTSC, 0, 0,
/* 00 0F */
- { 0x03, 0, 0x10, 0x1F, 0x00, 0, 0, 0x33, 0x1C, 0x06, 0x7B, 0x15, 0x50, 0x57, 0, 0x9E,
- 0, 0x80, 0x04, 0x08, 0x08, 0x10, 0xD6, 0x7B, 0xF0, 0x21, 0x00, 0x50, 0x43, 0x80, 0, 0x10,
- 0x1C, 0x08, 0xDC, 0x77, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0x03, 0, 0x10, 0x1F, 0x00, 0, 0, 0x02, 0x10, 0x00, 0x7B, 0x15, 0x50, 0x57, 0, 0xB7,
+ 0, 0x80, 0xAD, 0x21, 0x64, 0x34, 0xD6, 0x7B, 0xF0, 0x21, 0x00, 0x50, 0x00, 0x80, 0, 0x10,
+ 0x1C, 0x08, 0xE5, 0x77, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* 4A 4F 50 59 */
- { 0xC5, 0x0F, 0, 0x01, 0x10, 0x4A, 0x59, 0xCF, 0x23, 0x0C, 0x22, 0x59, 0xCF, 0x7F, 0x23, 0x91,
+ { 0xC5, 0x0F, 0, 0x01, 0x10, 0x4A, 0x1F, 0xD2, 0x23, 0x0C, 0x22, 0x59, 0xC0, 0x7E, 0x23, 0x8C,
/* 5A 5F 60 64 */
- 0xD2, 0xE1, 0x7D, 0x06, 0, 0, 0x80, 0x28, 0xFF, 0x59, 0x03 },
+ 0xD0, 0xF6, 0x7C, 0x06, 0, 0x34, 0x80, 0x28, 0xFF, 0x1F, 0x03 },
/* RBG 65,66,67,27,2b,2c */
{ 0x55, 0x37, 0x5C, 0, 0, 0 },
/* Y-Cb-Cr 65,66,67 */
@@ -876,8 +876,8 @@ VT1625Table[] = {
},
{ "720x480Over", 720, 480, TVTYPE_480P, 0, 0,
/* 00 0F */
- { 0x03, 0, 0x10, 0x40, 0x10, 0, 0, 0x33, 0x20, 0xFF, 0x7B, 0, 0x50, 0x57, 0, 0x9E,
- 0, 0x80, 0x04, 0x08, 0x08, 0x10, 0xD6, 0x7B, 0xF0, 0x21, 0x02, 0x50, 0x43, 0x80, 0, 0x01,
+ { 0x03, 0, 0x10, 0x40, 0x10, 0, 0, 0x01, 0x20, 0, 0x7B, 0, 0x50, 0x57, 0, 0x9E,
+ 0, 0x80, 0x04, 0x08, 0x08, 0x10, 0xD6, 0x7B, 0xF0, 0x21, 0x02, 0x50, 0x00, 0x80, 0, 0x01,
0x2F, 0x08, 0xDC, 0x7E, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* 4A 4F 50 59 */
{ 0xC5, 0x0F, 0, 0x01, 0, 0x4A, 0x59, 0xCF, 0x23, 0x0C, 0x22, 0x59, 0xCF, 0x7F, 0x23, 0x91,
@@ -909,15 +909,15 @@ VT1625Table[] = {
0x0, 0x0,
},
- { "1920x1080", 1920, 540, TVTYPE_1080I, 0, 0,
+ { "1920x1080", 1920, 1080, TVTYPE_1080I, 0, 0,
/* 00 0F */
- { 0x83, 0, 0x10, 0x4A, 0x86, 0x39, 0, 0x8B, 0x3D, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E,
- 0x00, 0x80, 0x4A, 0x08, 0x37, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x44, 0x80, 0x00, 0x03,
+ { 0x83, 0, 0x10, 0x4A, 0x86, 0x32, 0, 0x8B, 0x3D, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E,
+ 0x00, 0x80, 0x4A, 0x08, 0x37, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x04, 0x80, 0x00, 0x03,
0x25, 0x00, 0x00, 0x7E, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* 4A 4F 50 59 */
{ 0xC5, 0x0F, 0, 0x01, 0, 0x00, 0x97, 0x7F, 0x78, 0x64, 0x14, 0x97, 0x7f, 0x59, 0x78, 0xb0,
/* 5A 5F 60 64 */
- 0x1a, 0xec, 0xfa, 0x08, 0x00, 0x00, 0x80, 0x20, 0xFF, 0x97, 0x28 },
+ 0x1a, 0xdc, 0x5d, 0x08, 0x00, 0x00, 0x80, 0x28, 0xFF, 0x97, 0x28 },
/* RBG 65,66,67,27,2b,2c */
{ 0x55, 0x39, 0x66, 0, 0, 0 },
/* Y-Cb-Cr 65,66,67 */
@@ -945,9 +945,9 @@ VT1625Table[] = {
{ "720x576", 720, 576, TVTYPE_PAL, 0, 0,
/* 00 0F */
- { 0x03, 0x00, 0x10, 0x1f, 0x03, 0x00, 0x00, 0xc9, 0x4c, 0x11, 0x7c, 0x00, 0x56, 0x57, 0x07, 0xbf,
- 0x00, 0x80, 0x09, 0x08, 0x17, 0x24, 0xcb, 0x8a, 0x09, 0x2a, 0x06, 0x50, 0x01, 0x80, 0x00, 0x10,
- 0x14, 0x0c, 0x32, 0x7e, 0x00, 0x5f, 0x34, 0x8c, 0x4f, 0x5e, 0x15, 0xa2, 0x22, 0x80, 0xd3, 0x10
+ { 0x03, 0x00, 0x10, 0x1f, 0x03, 0x00, 0x00, 0xc9, 0x4c, 0x10, 0x7c, 0x00, 0x56, 0x57, 0x07, 0xbf,
+ 0x00, 0x80, 0x09, 0x08, 0x17, 0x24, 0xcb, 0x8a, 0x09, 0x2a, 0x06, 0x50, 0x00, 0x80, 0x00, 0x10,
+ 0x14, 0x0c, 0x32, 0x7e, 0x00, 0x5f, 0x34, 0x8c, 0x4f, 0x5e, 0x15, 0xa2, 0x22, 0x80, 0xd3, 0x10
},
/* 4A 4F 50 59 */
{ 0xc5, 0x0f, 0x00, 0x01, 0x00, 0x4b, 0xe7, 0xd2, 0x23, 0xb1, 0x22, 0x5f, 0x61, 0x7f, 0x23, 0x90,
_______________________________________________
openchrome-users mailing list
[email protected]
http://wiki.openchrome.org/mailman/listinfo/openchrome-users
Main page:
http://www.openchrome.org
Wiki:
http://wiki.openchrome.org
User Forum:
http://wiki.openchrome.org/tikiwiki/tiki-view_forum.php?forumId=1