Comment 178 for bug 32963

Revision history for this message
GFree (gfree678) wrote : Re: totem overrides XV_CONSTRAST/XV_SATURATION to wrong default value (Xv movies on i810/i945 have horrible colour/gamma/contrast)

Since nothing seems to work for me as far as driver replacements go, I've developed my own analysis and workaround for the problem, which I'll share here in case people find it useful:

OK, now according to xvattr, my default values for brightness, contrast and saturation are 0, 64 and 128 respectively. I do not use Totem, I hate the GUI, but I do like using SMPlayer for most videos and VLC for DVD playback. There are two problems though:

* The default values above are actually a little too high, even though they look like sensible defaults. For some reason, even after verifying the defaults are not being modified in something like VLC (which doesn't move them around at all), blacks are not entirely black and hence everything's slightly too bright.
* SMPlayer, unlike regular MPlayer, does like to modify the color values and screws things up entirely.

Hence, there are two tasks:

* To change the default values to something sensible so that VLC can show blacks as proper blacks and hence everything looks good.
* To stop SMPlayer from fuxxoring with the values itself.

After experimentation, I discovered that the issue of blacks could be fixed if XV_BRIGHTNESS was reduced to about -12, but everything else looked bright enough to be reasonable. I also discovered that if I ran if I ran MPlayer with the following parameters:

-contrast -49 -brightness -9 -saturation -75

This would adjust all the balances to such that things would look fine. To stop SMPlayer from going screwey, I went to the advanced section of the options menu, put these parameters in the additional parameters section, and so SMplayer worked beautifully. Also, VLC would show nice blacks and colors if I ran SMPlayer at least once before, since it would adjust the brightness as part of the new settings I gave it.

So yeah, that's what I did. A bit of a shame that an open-source driver has this bug which cannot seem to be fixed and yet closed-source binary blobs from NVIDIA work just fine, but there you go. Hope that's useful to someone. :)