[Rockchip RK3399] HDR colorspace / banding issue

  • When playing HDR content on the Rock Pi 4 it triggers HDR on my Sony Bravia AG8 but there seems to be something wrong with the colorspace. The colors look washed out and there is visible banding. The TV seems to interpret the signal as BT.709 and limited range (auto setting). Manually changing the colorspace to BT.2020 on the tv doesn't fix the banding. Setting the range to full produces incorrect black levels.

    I tried using a Raspberry Pi 4 with an identical setup, there the colors look correct with no banding. In this case the auto setting on the TV interprets the signal as BT.2020 and limited range.

    Not sure if it matters, but when checking modetest on the Rock Pi there doesn't seem to be any colorspace property

    compared to the Raspberry Pi


    Looking at the logs for the Raspberry Pi it seems to change colorspace and bpc before playing the video. I can't find anything like this in the Rock Pi logs.

    Code
    debug <general>: SetHDR: setting connector colorspace to BT2020_YCC
    debug <general>: CVideoLayerBridgeDRMPRIME::Configure - setting max bpc to 12 (true)


    Runnig kmsprint while playing the video on the Rock Pi it seems like it should be outputting BT.2020 (COLOR_ENCODING (46) = 2) though.

    Rock Pi logs: Link

    Raspberry Pi logs: Link

    Comparison Image:


    Not sure what the cause is here, any ideas or suggestions?

  • I'm not sure RK3399 supports 10-bit output at the current time, so you'll have 8-bit output which results in banding.

    There are improvements being submitted to the kernel, but these things take time.

  • Thanks for the quick reply! Alright, that's a bummer but understandable. Seeing the HDR triggering got me thinking it might be a user/setup problem. I'm quite impressed with how well LE works on it otherwise, having 10-bit HDR would make it perfect imo. I'll keep an eye out then and see if there is anything I can do to contribute. Thanks for the awesome work you guys are doing!