Eureka, washed out intel GM965 tv-out solved
rglowery at exemail.com.au
rglowery at exemail.com.au
Sun Oct 28 01:19:31 PDT 2007
Browsing through i810_reg.h I came across
1573 /** @defgroup TV_CSC_KNOBS
1574 * @{
1575 */
1576 #define TV_CLR_KNOBS 0x68028
1577 /** 2s-complement brightness adjustment */
1578 # define TV_BRIGHTNESS_MASK 0xff000000
1579 # define TV_BRIGHTNESS_SHIFT 24
1580 /** Contrast adjustment, as a 2.6 unsigned floating point number */
1581 # define TV_CONTRAST_MASK 0x00ff0000
1582 # define TV_CONTRAST_SHIFT 16
1583 /** Saturation adjustment, as a 2.6 unsigned floating point number */
1584 # define TV_SATURATION_MASK 0x0000ff00
1585 # define TV_SATURATION_SHIFT 8
1586 /** Hue adjustment, as an integer phase angle in degrees */
1587 # define TV_HUE_MASK 0x000000ff
1588 # define TV_HUE_SHIFT 0
1589 /** @} */
This led me to the following patch which solves the problem for me
diff --git a/src/i830_tv.c b/src/i830_tv.c
index ee2538a..5f82188 100644
--- a/src/i830_tv.c
+++ b/src/i830_tv.c
@@ -1178,7 +1178,7 @@ i830_tv_mode_set(xf86OutputPtr output,
DisplayModePtr mode,
(i830_float_to_csc(color_conversion->bv) << 16) |
(i830_float_to_luma(color_conversion->av)));
- OUTREG(TV_CLR_KNOBS, 0x10606000);
+ //OUTREG(TV_CLR_KNOBS, 0x10606000);
OUTREG(TV_CLR_LEVEL, ((video_levels->black << TV_BLACK_LEVEL_SHIFT) |
(video_levels->blank << TV_BLANK_LEVEL_SHIFT)));
{
I guess the BIOS defaults these to something more reasonable.
So the question is what does a brightness of 0x10, and contrast and
saturation of 0x60 mean, and are they a reasonable hard coded default.
These values should really be made configurable at runtime
-Rob
More information about the xorg
mailing list