Thanks - been checking this code, and the Dolby debug log output.
I think the graphics priority is on constantly - have not found a way to turn off, set by this code:
is_graphics_output_off
It is like the On Screen Display is on all the time even if not showing - not sure if that is effecting the picture quality for AMLogic SOC - The Dolby docs state video priority should be used when playing video, graphics only for when onscreen menus are showing etc.
Logging is showing the same (note the gpr [graphic priority] at end of the log):
Mar 01 15:54:31 CoreELEC kernel: DOLBY: v 1: 3840x2160 0->0(T:1-700),g 1: 1920x1080 50->3000000,gpr
Some other observations:
FLAG_BYPASS_CSC → FEL and MEL play with purple and green colours
FLAG_DISABLE_COMPOSER → FEL gives a grey screen → MEL looks normal
(Seems Composer is required for the 12 bit composition BL+EL)
FLAG_BYPASS_VPP → FEL turns the RPU Off
(Need to get a file to test the effect conclusively on MEL, but would assume the same)
FLAG_CERTIFICAION → Causes a large frame rate drop maybe of half to 10-12 fps - no obvious picture difference
0->0(T:1-700)
from the debug indicates source DV → dest DV with 1-700 nit range (the nits are possibly being picked up from the TV LG E8 though the HDMI comms)
g 1: 1920x1080 50->3000000
is the graphics overlay it thinks is on - can alter the “graphics” nit range with parameters:
dolby_vision_graphic_min
dolby_vision_graphic_max
Setting min to 1 to match TV and max to 1 (lowest acceptable value) - the brightness of the on screen controls (play / pause etc.) of Kodi are greatly reduced - so doing something. picture quality no obvious difference.
log when changed to:
Mar 01 16:33:21 CoreELEC kernel: DOLBY: v 1: 3840x2160 0->0(T:1-700),g 1: 1920x1080 1->10000,gpr
Changing the Kodi screen resolution had no effect of the graphics size reported in the logging.
My take at this point is this code is extracting the RPU meta data, BL and EL video and passing all to the kernel object dovi.ko (which is driving the SOC), alongside setting up registry values for the same.
Any RPU application is in these lower levels, possibly in the SOC itself.
My take on the SOC variations are they are basically divided into STB (Set Top Box) and TV (Embedded TV) RPU is passed on in both cases to the driver.