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

Reply via email to