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!
Posts by Kasty
-
-
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
Code
Display Moremodetest -c Connectors: id encoder status name size (mm) modes encoders 64 63 connected HDMI-A-1 1440x810 41 63 props: 1 EDID: flags: immutable blob blobs: value: 00ffffffffffff004dd9048201010101 011c0103809051780a0dc9a057479827 12484c2108008180a9c0714fb3000101 01010101010108e80030f2705a80b058 8a009f295300001e023a801871382d40 582c45009f295300001e000000fc0053 4f4e5920545620202a30300a000000fd 00173e0e883c000a20202020202001e6 020365f05b61605d5e5f621f10140513 0420223c3e1216030711150206016566 2c0d7f071507503d07bc570600830f00 006e030c002000b83c2f008001020304 67d85dc401788001eb0146d000450380 8660768fe200cbe305ff01e50f030000 06e3060d01011d007251d01e206e2855 009f295300001e0000000000000000b8 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immutable blob blobs: value: 65 max bpc: flags: range values: 8 16 value: 0 66 content type: flags: enum enums: No Data=0 Graphics=1 Photo=2 Cinema=3 Game=4 value: 0 7 HDR_OUTPUT_METADATA: flags: blob blobs: value:
compared to the Raspberry Pi
Code
Display Moremodetest -c Connectors: id encoder status name size (mm) modes encoders 32 31 connected HDMI-A-1 1440x810 41 31 props: 1 EDID: flags: immutable blob blobs: value: 00ffffffffffff004dd9048201010101 011c0103809051780a0dc9a057479827 12484c2108008180a9c0714fb3000101 01010101010108e80030f2705a80b058 8a009f295300001e023a801871382d40 582c45009f295300001e000000fc0053 4f4e5920545620202a30300a000000fd 00173e0e883c000a20202020202001e6 020365f05b61605d5e5f621f10140513 0420223c3e1216030711150206016566 2c0d7f071507503d07bc570600830f00 006e030c002000b83c2f008001020304 67d85dc401788001eb0146d000450380 8660768fe200cbe305ff01e50f030000 06e3060d01011d007251d01e206e2855 009f295300001e0000000000000000b8 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immutable blob blobs: value: 37 Colorspace: flags: enum enums: Default=0 SMPTE_170M_YCC=1 BT709_YCC=2 XVYCC_601=3 XVYCC_709=4 SYCC_601=5 opYCC_601=6 opRGB=7 BT2020_CYCC=8 BT2020_RGB=9 BT2020_YCC=10 DCI-P3_RGB_D65=11 DCI-P3_RGB_Theater=12 value: 0 33 left margin: flags: range values: 0 100 value: 0 34 right margin: flags: range values: 0 100 value: 0 35 top margin: flags: range values: 0 100 value: 0 36 bottom margin: flags: range values: 0 100 value: 0 38 max bpc: flags: range values: 8 12 value: 8 7 HDR_OUTPUT_METADATA: flags: blob blobs: value: 39 Broadcast RGB: flags: enum enums: Automatic=0 Full=1 Limited 16:235=2 value: 0 41 0 disconnected HDMI-A-2 0x0 0 40 props: 1 EDID: flags: immutable blob blobs: value: 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immutable blob blobs: value: 42 Colorspace: flags: enum enums: Default=0 SMPTE_170M_YCC=1 BT709_YCC=2 XVYCC_601=3 XVYCC_709=4 SYCC_601=5 opYCC_601=6 opRGB=7 BT2020_CYCC=8 BT2020_RGB=9 BT2020_YCC=10 DCI-P3_RGB_D65=11 DCI-P3_RGB_Theater=12 value: 0 33 left margin: flags: range values: 0 100 value: 0 34 right margin: flags: range values: 0 100 value: 0 35 top margin: flags: range values: 0 100 value: 0 36 bottom margin: flags: range values: 0 100 value: 0 43 max bpc: flags: range values: 8 12 value: 8 7 HDR_OUTPUT_METADATA: flags: blob blobs: value: 44 Broadcast RGB: flags: enum enums: Automatic=0 Full=1 Limited 16:235=2 value: 0
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.
Codedebug <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.
Code
Display Morekmsprint -p Connector 0 (64) HDMI-A-1 (connected) EDID (1) = blob-id 68 len 256 (immutable) DPMS (2) = 0 (On) [On=0|Standby=1|Suspend=2|Off=3] TILE (4) = blob-id 0 (immutable) link-status (5) = 0 (Good) [Good=0|Bad=1] non-desktop (6) = 0 [0 - 1] (immutable) HDR_OUTPUT_METADATA (7) = blob-id 74 len 32 CRTC_ID (20) = object id 62 max bpc (65) = 0 [8 - 16] content type (66) = 0 (No Data) [No Data=0|Graphics=1|Photo=2|Cinema=3|Game=4] Encoder 0 (63) TMDS Crtc 1 (62) [email protected] 296.703 3840/1276/88/296/+ 2160/8/10/72/+ 24 (23.98) D OUT_FENCE_PTR (19) = 0 [0 - 18446744073709551615] ACTIVE (22) = 1 [0 - 1] MODE_ID (23) = blob-id 76 len 68 VRR_ENABLED (24) = 0 [0 - 1] GAMMA_LUT (28) = blob-id 0 GAMMA_LUT_SIZE (29) = 1024 [0 - 4294967295] (immutable) Plane 2 (42) fb-id: 75 (crtcs: 1) 0,0 3840x1920 -> 0,120 3840x1920 (XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV16 NV24 NV15 NV20 NV30) type (8) = 1 (Primary) [Overlay=0|Primary=1|Cursor=2] (immutable) SRC_X (9) = 0 [0 - 4294967295] SRC_Y (10) = 0 [0 - 4294967295] SRC_W (11) = 251658240 [0 - 4294967295] SRC_H (12) = 125829120 [0 - 4294967295] CRTC_X (13) = 0 [-2147483648 - 2147483647] CRTC_Y (14) = 120 [-2147483648 - 2147483647] CRTC_W (15) = 3840 [0 - 2147483647] CRTC_H (16) = 1920 [0 - 2147483647] FB_ID (17) = object id 75 IN_FENCE_FD (18) = -1 [-1 - 2147483647] CRTC_ID (20) = object id 62 IN_FORMATS (30) = blob-id 43 len 128 (immutable) rotation (44) = 0x1 (rotate-0) [rotate-0=0x1|reflect-x=0x10|reflect-y=0x20] zpos (45) = 0 [0 - 0] (immutable) COLOR_ENCODING (46) = 2 (ITU-R BT.2020 YCbCr) [ITU-R BT.601 YCbCr=0|ITU-R BT.709 YCbCr=1|ITU-R BT.2020 YCbCr=2] COLOR_RANGE (47) = 0 (YCbCr limited range) [YCbCr limited range=0|YCbCr full range=1] FB 75 3840x1920 NV15 Plane 3 (48) fb-id: 71 (crtcs: 1) 0,0 3840x2160 -> 0,0 3840x2160 (XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV16 NV24 NV15 NV20 NV30) type (8) = 0 (Overlay) [Overlay=0|Primary=1|Cursor=2] (immutable) SRC_X (9) = 0 [0 - 4294967295] SRC_Y (10) = 0 [0 - 4294967295] SRC_W (11) = 251658240 [0 - 4294967295] SRC_H (12) = 141557760 [0 - 4294967295] CRTC_X (13) = 0 [-2147483648 - 2147483647] CRTC_Y (14) = 0 [-2147483648 - 2147483647] CRTC_W (15) = 3840 [0 - 2147483647] CRTC_H (16) = 2160 [0 - 2147483647] FB_ID (17) = object id 71 IN_FENCE_FD (18) = -1 [-1 - 2147483647] CRTC_ID (20) = object id 62 IN_FORMATS (30) = blob-id 49 len 104 (immutable) rotation (50) = 0x1 (rotate-0) [rotate-0=0x1|reflect-x=0x10|reflect-y=0x20] zpos (51) = 1 [1 - 1] (immutable) COLOR_ENCODING (52) = 0 (ITU-R BT.601 YCbCr) [ITU-R BT.601 YCbCr=0|ITU-R BT.709 YCbCr=1|ITU-R BT.2020 YCbCr=2] COLOR_RANGE (53) = 0 (YCbCr limited range) [YCbCr limited range=0|YCbCr full range=1] FB 71 3840x2160 AR24
Rock Pi logs: Link
Raspberry Pi logs: Link
Comparison Image:
Not sure what the cause is here, any ideas or suggestions?