Colorspace YUV/RGB problem / GPU's RGB Full range setup?

I did some more test with Greyscale patterns.

First, one correction. When is Odroid setuped to the RGB Full, TV in Automatic detects it as Full Range, but the image is “greyed/washed” - acts as Limited signal range. After switching TV to Limited range picture looks OK.

Second. I didnt see BtB/WtW in any settings on Odroid and Rpi. That would mean, that Kodi player sends the signal always converted as Full on these platforms.

That, with previous results would concludes with Odroid we get

3. Full, Limited, Limited -- Video Level CORRECT : WtW & BtW Clipped, Double scaling (possible banding).

when on Rpi we could use hdmi_pixel_encoding parameter to choose between

Full, Full, Full -- Video Level CORRECT : WtW & BtW Clipped, Single scaling
Full, Limited, Limited -- Video Level CORRECT : WtW & BtW Clipped, Double scaling (possible banding).

On the other hand, when I did horizontal banding test on greyscale ramp, results from Odroid C2 seems better than Rpi (RGB full) to me. I can see banding in both cases, but in Odroid case its more detailed (not so big steps as in Rpi).
I didnt see difference between RGB and YUV in banding test on Odroid.

Also, I did test with / without AVR in path. Results are the same, for the record edids was

Rx Brand Name: PIO
Rx Product Name: VSX-930
Manufacture Week: 0
Manufacture Year: 2014
Physical size(cm): 96 x 54
EDID Version: 1.3
EDID block number: 0x1
blk0 chksum: 0x8b
Source Physical Address[a.b.c.d]: 2.1.0.0
YCC support 0x03, VIC (native 5):
ColorDeepSupport 0x80 10/12/16/Y444 0/0/0/0
5 4 3 15 14 7 6 20 19 18 30 29 22 21 11 10 26 25 35 36 37 38 16 31 32 1
Audio {format, channel, freq, cce}
{1, 1, 0x7f, 0x07}
{1, 7, 0x7f, 0x07}
{2, 5, 0x07, 0x00}
{7, 6, 0x1e, 0x00}
{9, 5, 0x02, 0x00}
{10, 7, 0x06, 0x01}
{11, 7, 0x7e, 0x01}
{12, 7, 0x7e, 0x01}
Speaker Allocation: 0x4f
Vendor: 0xc03
MaxTMDSClock1 150 MHz
SCDC: 0
RR_Cap: 0
LTE_340M_Scramble: 0

checkvalue: 0x8bb40000


Rx Brand Name: MEI
Rx Product Name: Panasonic-TV
Manufacture Week: 0
Manufacture Year: 2014
Physical size(cm): 128 x 72
EDID Version: 1.3
EDID block number: 0x1
blk0 chksum: 0x5a
Source Physical Address[a.b.c.d]: 3.0.0.0
YCC support 0x03, VIC (native 16):
ColorDeepSupport 0xb8 10/12/16/Y444 1/1/0/1
31 16 20 5 32 33 34 19 4 18 3 22 7
Audio {format, channel, freq, cce}
{1, 1, 0x07, 0x01}
Speaker Allocation: 0x00
Vendor: 0xc03
MaxTMDSClock1 190 MHz
ColorMetry: 0x1c
SCDC: 0
RR_Cap: 0
LTE_340M_Scramble: 0
  DeepColor
checkvalue: 0x5a8f0000

For now, I would make final statement this that way:

  • YUV444 is default, and some Displays could have trouble to automatically choose correct video range. Could be fixed by their settings.
  • RGB is automatically detected without problems
  • CoreELECs Kodi outputs Full. No idea if this will be changeable in future (as on Win/Linux). (L-F-L without scaling would be great although.)
  • There is something fishy between (/in) Kodi<->GPU<-> code, which doesnt allow Full range output for GPU. We can change hdmitx parameter, but it doesnt have actual influence on picture (just to some information send along to the TV/projector with signal I guess). This seems to be thing for Amlogic (I saw also similiar discussions @Vero forum etc.), and its not YUV/RGB specific.
  • Although video levels and colour specs arent best case, basic test seems to have quite nice outcome.

Correct me if I am wrong, or we can discuss this topic further. Regarding GPU output, I really dont know, where could be a catch and if someone could do something with that :slight_smile: