I think I found a fix for the 12-bit RGB TV-led DV issue. I tried several DV movies running in TV-led (several dozen MEL/FEL mkv) and I have yet to be able to trigger anything but 8-bit RGB. What I discovered was that the refresh rate switching logic triggered a second invocation of the HDMI mode setting code, and on the second run–the code wasn’t able to detect whether or not the signal was actually DV, so it treated all signals/formats as the same. So basically it was switching it from 12-bit (which is default at least for being in the UI, not playing anything), to 8-bit, and back to 12-bit on the refresh rate switch. The fix basically triggers a partial HDMI mode setting on the refresh rate switch that doesn’t set color depth or sub-samplling.
The BL_EL.mkv is still triggering FEL, with lossless set.
Here’s the build:
This includes the potential DV 8-bit RGB fix, @cpm fix for true TV-led/CMV4.0, DV delay of 16, and running on amlogic-ng-dv 20.4, for now at least. Hopefully the transition to amlogic-ng will be smooth. From what I can tell this fix would carry over to hopefully all amlogic-ng devices.
Some caveats:
Oddly enough this test build is way more consistent with Adjust display refresh rate
set to On start/stop. With refreshing rate switching off, I kept getting blue-tinted screens. Also, in order to run player-led DV, I had to set forced 4:2:2, 12-bit. Though this setting should actually be correct for that, and should actually be compatible with any other media type (e.g. HDR10, all SDR content).
Feel free to test it out.