Optimizing Voodoo Color

Search This thread

tbob18

Senior Member
Jul 24, 2007
828
352
Chicago
www.flickr.com
I've been running some measurements on my screen and have come to the conclusion that the gamma is impossible to correct with the current Voodoo Control settings.

Here are a few measurements using a Spyder, HCFR Colorimeter, and Voodoo Screen Test Patterns:
All measurements were taken with the screen set to a maximum brightness of 125 cd/m2.


Measuring on a perfect screen would result in a straight line at 2.2 (higher number=darker, lower number=brighter).
Gamma is broken on Voodoo Color - you'll either get overemphasized colors with dark mid-tones and correct low-tones or bright low-tones and correct mid to high tones (everything will looked washed out).
Gamma is more consistant on the default kernel, but no where near optimal.
The fix would be to be able to adjust the gamma for only the low-tones (0% gray to ~15% gray).




The default the color temperature is way off.
Color temperature is quite good after calibrating - almost 6500k across the board and this could probably be optimized some more with the current adjustments.


Compared to the sRGB colorspace (the default on Android) the Epic's color space is too large - resulting in a somewhat gaudy/oversaturated image.
The ability to adjust saturation for each color could fix this.

Measured Voodoo Color settings:
RGB Multipliers:
240
176
206

Gamma offset:
Red: -16
Green: -18
Blue: -20

To test - set your Voodoo Control settings to what I am currently at and go here on your phone:
http://www.lagom.nl/lcd-test/black.php

Or even better download the image, open with quickpic and zoom to 100% (make sure you have Force Decode True Color enabled in Settings>View).

The first and second square should be just barely visible, and each after should get slightly brighter.

On my phone square 2-13 are pretty much the same brightness, then each after changes slightly (although not as much as it should). This can be partly fixed if one would lower the Gamma Offset, but then the brighter greys will be too dark - thus producing a strange flat look to certain tones and losing detail.

I wonder what would be involved in fixing these issues (the gamma to start), or maybe it is just my screen. ;)

Also - I am on Nyan 4.1 and AOKP b31.
 
Last edited:

gmorf33

Senior Member
Oct 15, 2010
138
7
Cool, flagging for when i reflash a voodoo color enabled kernel. I'll be eager to try these settings out.
 

MДЯCЦSДИT

Inactive Recognized Developer
Nov 21, 2010
6,563
4,616
If interested, I need to figure out what is going on with voodoo settings in the kernel... when set to certain values kernel side, it sets other values in the ROM.

For example, look at the values under line 2585

https://github.com/marcusant/Ataras...nel/arch/arm/mach-s5pv210/aries-panel.c#L2585

On the rom these are different (check the default ones in the voodoo app...




Here are 2 other gamma related files:
https://github.com/marcusant/Ataras...f/Kernel/drivers/video/samsung/s3cfb_tl2796.c
https://github.com/marcusant/Ataras...ae203a81104839f/Kernel/include/linux/tl2796.h
 

tbob18

Senior Member
Jul 24, 2007
828
352
Chicago
www.flickr.com
If interested, I need to figure out what is going on with voodoo settings in the kernel... when set to certain values kernel side, it sets other values in the ROM.

For example, look at the values under line 2585

https://github.com/marcusant/Ataras...nel/arch/arm/mach-s5pv210/aries-panel.c#L2585

On the rom these are different (check the default ones in the voodoo app...




Here are 2 other gamma related files:
https://github.com/marcusant/Ataras...f/Kernel/drivers/video/samsung/s3cfb_tl2796.c
https://github.com/marcusant/Ataras...ae203a81104839f/Kernel/include/linux/tl2796.h

Interesting.. When I get a chance I will test the screen on the stock kernel without Voodoo Color. I have a feeling that since Voodoo Color was originally designed for the i9000 which has a different screen, some of the gamma correction does not play well with the Epic.

I think some of the values of the hacky_v1_offset could be modified to better fit the Epics screen (starting/ending at a different point).
 
  • Like
Reactions: philowneus

tbob18

Senior Member
Jul 24, 2007
828
352
Chicago
www.flickr.com
Ok here is what I found..



By using the /sys/devices/virtual/misc/voodoo_color/apply_custom_brightness_gamma I was able to get a much more consistent gamma, with more time it'd be possible to get the colors closer too. The problem is that this file only affects one brightness point and will get reset after adjusting the brightness.

Here are the measured settings above (about ~30-40% brightness - 125cd/m2):

143,119,163
27,27,59
126,150,130
180,176,156
192,191,172
197,200,188

1. Brightness (out of 255)
2. v1 point
3. v19
4. v43
5. v87
6. v171

Now if only there was a way to adjust the v19 v43 v87 and v171 points across all brightness levels (maybe a hack could be implemented?).
 
Last edited:
  • Like
Reactions: gmorf33

MДЯCЦSДИT

Inactive Recognized Developer
Nov 21, 2010
6,563
4,616
Ok here is what I found..



By using the /sys/devices/virtual/misc/voodoo_color/apply_custom_brightness_gamma I was able to get a much more consistent gamma, with more time it'd be possible to get the colors closer too. The problem is that this file only affects one brightness point and will get reset after adjusting the brightness.

Here are the measured settings above (about ~30-40% brightness - 125cd/m2):

143,119,163
27,27,59
126,150,130
180,176,156
192,191,172
197,200,188

1. Brightness (out of 255)
2. v1 point
3. v19
4. v43
5. v87
6. v171

Now if only there was a way to adjust the v19 v43 v87 and v171 points across all brightness levels (maybe a hack could be implemented?).

You probably need to change it in the kernel which I will

--------------------------------------
Marcusant-Nyan.png
 

MeetFace

Senior Member
Dec 31, 2010
2,196
525
While I don't fully understand all that is going on here, it sounds like some good progress is being made.

I've been fiddling around with the image gamma/color settings, and I think I'll probably hold off until we get this integrated into the kernel.

Thanks for the work, very cool.
 

dnyank1

Member
Dec 9, 2010
11
0
I wanted to share my thanks, but with these settings - the screen is far, FAR too red, and the colors are terrible. Anythoughts as to why it's so bad?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    I've been running some measurements on my screen and have come to the conclusion that the gamma is impossible to correct with the current Voodoo Control settings.

    Here are a few measurements using a Spyder, HCFR Colorimeter, and Voodoo Screen Test Patterns:
    All measurements were taken with the screen set to a maximum brightness of 125 cd/m2.


    Measuring on a perfect screen would result in a straight line at 2.2 (higher number=darker, lower number=brighter).
    Gamma is broken on Voodoo Color - you'll either get overemphasized colors with dark mid-tones and correct low-tones or bright low-tones and correct mid to high tones (everything will looked washed out).
    Gamma is more consistant on the default kernel, but no where near optimal.
    The fix would be to be able to adjust the gamma for only the low-tones (0% gray to ~15% gray).




    The default the color temperature is way off.
    Color temperature is quite good after calibrating - almost 6500k across the board and this could probably be optimized some more with the current adjustments.


    Compared to the sRGB colorspace (the default on Android) the Epic's color space is too large - resulting in a somewhat gaudy/oversaturated image.
    The ability to adjust saturation for each color could fix this.

    Measured Voodoo Color settings:
    RGB Multipliers:
    240
    176
    206

    Gamma offset:
    Red: -16
    Green: -18
    Blue: -20

    To test - set your Voodoo Control settings to what I am currently at and go here on your phone:
    http://www.lagom.nl/lcd-test/black.php

    Or even better download the image, open with quickpic and zoom to 100% (make sure you have Force Decode True Color enabled in Settings>View).

    The first and second square should be just barely visible, and each after should get slightly brighter.

    On my phone square 2-13 are pretty much the same brightness, then each after changes slightly (although not as much as it should). This can be partly fixed if one would lower the Gamma Offset, but then the brighter greys will be too dark - thus producing a strange flat look to certain tones and losing detail.

    I wonder what would be involved in fixing these issues (the gamma to start), or maybe it is just my screen. ;)

    Also - I am on Nyan 4.1 and AOKP b31.
    4
    If interested, I need to figure out what is going on with voodoo settings in the kernel... when set to certain values kernel side, it sets other values in the ROM.

    For example, look at the values under line 2585

    https://github.com/marcusant/Ataras...nel/arch/arm/mach-s5pv210/aries-panel.c#L2585

    On the rom these are different (check the default ones in the voodoo app...




    Here are 2 other gamma related files:
    https://github.com/marcusant/Ataras...f/Kernel/drivers/video/samsung/s3cfb_tl2796.c
    https://github.com/marcusant/Ataras...ae203a81104839f/Kernel/include/linux/tl2796.h
    4
    Ok here is what I found..



    By using the /sys/devices/virtual/misc/voodoo_color/apply_custom_brightness_gamma I was able to get a much more consistent gamma, with more time it'd be possible to get the colors closer too. The problem is that this file only affects one brightness point and will get reset after adjusting the brightness.

    Here are the measured settings above (about ~30-40% brightness - 125cd/m2):

    143,119,163
    27,27,59
    126,150,130
    180,176,156
    192,191,172
    197,200,188

    1. Brightness (out of 255)
    2. v1 point
    3. v19
    4. v43
    5. v87
    6. v171

    Now if only there was a way to adjust the v19 v43 v87 and v171 points across all brightness levels (maybe a hack could be implemented?).

    You probably need to change it in the kernel which I will

    --------------------------------------
    Marcusant-Nyan.png
    1
    If interested, I need to figure out what is going on with voodoo settings in the kernel... when set to certain values kernel side, it sets other values in the ROM.

    For example, look at the values under line 2585

    https://github.com/marcusant/Ataras...nel/arch/arm/mach-s5pv210/aries-panel.c#L2585

    On the rom these are different (check the default ones in the voodoo app...




    Here are 2 other gamma related files:
    https://github.com/marcusant/Ataras...f/Kernel/drivers/video/samsung/s3cfb_tl2796.c
    https://github.com/marcusant/Ataras...ae203a81104839f/Kernel/include/linux/tl2796.h

    Interesting.. When I get a chance I will test the screen on the stock kernel without Voodoo Color. I have a feeling that since Voodoo Color was originally designed for the i9000 which has a different screen, some of the gamma correction does not play well with the Epic.

    I think some of the values of the hacky_v1_offset could be modified to better fit the Epics screen (starting/ending at a different point).
    1
    Ok here is what I found..



    By using the /sys/devices/virtual/misc/voodoo_color/apply_custom_brightness_gamma I was able to get a much more consistent gamma, with more time it'd be possible to get the colors closer too. The problem is that this file only affects one brightness point and will get reset after adjusting the brightness.

    Here are the measured settings above (about ~30-40% brightness - 125cd/m2):

    143,119,163
    27,27,59
    126,150,130
    180,176,156
    192,191,172
    197,200,188

    1. Brightness (out of 255)
    2. v1 point
    3. v19
    4. v43
    5. v87
    6. v171

    Now if only there was a way to adjust the v19 v43 v87 and v171 points across all brightness levels (maybe a hack could be implemented?).