TV output properties
alexdeucher at gmail.com
Sun Nov 11 08:46:30 PST 2007
On Nov 10, 2007 1:07 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> On Friday, November 09, 2007 10:29 pm Keith Packard wrote:
> > On Fri, 2007-11-09 at 12:20 -0800, Jesse Barnes wrote:
> > > Since bugs.freedesktop.org seems to be down, I'm sending these patches
> > > out for testing to the list.
> > >
> > > They add hue, saturation, contrast and brightness properties to the TV
> > > output and set default values that will hopefully work for people. In
> > > order to use the new properties though, you'll need the attached patch to
> > > xrandr to properly display and set 8 bit integer values.
> > >
> > > Please test it out and let me know if it works for you.
> > >
> > > How to expose the various properties is still up in the air, right now
> > > they're just exposed as 8 bit values, since that's what goes into the
> > > actual color knob register, but they could be exposed in a friendlier way
> > > (e.g. hue as 0-360 degrees value, saturation and contrast as 2.6 fixed
> > > point values), though that probably wouldn't make much difference to the
> > > user experience. Any opinions? Is that best left to fancy GUI
> > > applications?
> > Any reason not to expose these as 32-bit values instead? We support
> > range limited 32-bit values, and this might reduce compatibility issues
> > with hardware that needs more bits.
> No, we could definitely expose them as larger values. In fact, the output
> properties we have now (LVDS backlight & TV stuff) should probably be
> generic. That way they'd be named the same across different types of chips,
> which would make client application development easier. And the drivers
> could just implement simple callback code to get and set the values, rather
> than having a bunch of RandR & Atom boilerplate...
> Maybe the radeon, via, or nouveau guys could chime in here so we could come up
> with a decent subset.
On radeon we expose the following properties for tv out:
tv_vertical_position: 0 (0x00000000) range: (-5,5)
tv_horizontal_position: 0 (0x00000000) range: (-5,5)
tv_horizontal_size: 0 (0x00000000) range: (-5,5)
load_detection: 0 (0x00000000) range: (0,1)
tv_standard is a string and the rest are 32 bit values. We also have
an LVDS backlight property which is a 32 bit value, but it only works
in some laptops due to the what backlight control is implemented by
OEMs, so at the moment, it's not hooked up.
More information about the xorg