Solved Does Kodi send YUV 4:2:0 to Shield GPU?
#1
I'm running Kodi on the Shield TV (2017) version. It is used exclusively to play 1080p MKV files created from my Blu-Ray movies collection. Shield is set to 1080p YUV 4:2:2 10 Bit and connected to a 1080p projector. 

As I understand it, most Blu-Ray movies are encoded using YUV 4:2:0 Limited Range Rec 709 (or 2020 for 4K HDR). My question is, assuming default player settings (fresh install), is this what Kodi "hands off" to the Shield GPU?

Does Kodi do any YUV -> RGB / limited -> full range / color space conversion or just hand the native file contents off to the Shield for processing?

Thank you : )
Reply
#2
With mediacodec surface enabled, kodi does not send anything at all. It's done in the internal mediacodec to mediacodec surface pipeline - zero influence from us. Same for HDR triggering, etc.you can consider this as a black box. If you want kodi to process something, you have to disable Surface Rendering - that way you will loose HDR, but get kodi's OpenGLES renderer.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#3
And to add: For YUV formats, if the input is YUV420 already to output YUV422 is just a card trick - the quality is lost in the first step alreaday - making YUV422 from YUV420 is lossless :-) but is also does not add additional information, it just duplicates it.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#4
Thanks much for your time and reply. So if my end goal here is to do as little as possible to the source (IE Kodi not processing anything) then as long as mediacodec surface is enabled, this is the case.

Do I have that right?
Reply
#5
(2020-04-10, 17:08)fritsch Wrote: And to add: For YUV formats, if the input is YUV420 already to output YUV422 is just a card trick - the quality is lost in the first step alreaday - making YUV422 from YUV420 is lossless :-) but is also does not add additional information, it just duplicates it.

Regarding this statement, the Shield will not let me output 4:2:0, I have to select 4:2:2 at least. I understand this is an HDMI spec thing?
Reply
#6
There are no guarantees for Mediacodec at all (there are for no HW decoder in general) - black box. The renderer though is way more important, but here again, same game: we have no influence - if you don't like what nvidia outputs, nothing we can do.

Btw. you should really check what the difference between YUV420 and YUV422 technically is ... and then you will realize that output YUV420 content on a YUV422 screen will do absolutely nothing bad. Btw. also keep in mind, that opengles surface driven rendering might have converted twice to sRGB in the middle already.

If you really want full control over input, decoder and output. Use a SW Decoder and render yourself.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#7
Once again, thank your for your help and information. I'm actually quite happy with what I'm getting now, the Kodi/Shield combination is quite a fantastic solution for my needs. Because of the quality of the built in solutions, I'm not really feeling a need to experiment with other decoders and what not, just looking to understand what's happening and be sure I'm using the optimal settings for my setup.
Reply
#8
Thread marked solved.
Reply

Logout Mark Read Team Forum Stats Members Help
Does Kodi send YUV 4:2:0 to Shield GPU?0