2017-01-25, 23:16
still WIP
"Adding the support would involve several parts:
1) Add all the generic HDMI forum VSDB parsing and whatnot to the EDID parser
This is needed so that we'll know whether the sink supports YCbCr 4:2:0. There have been some patches towards HDMI 2.0 support for the EDID parser, but I can't recall how much was still missing from them. Not much merged so far.
3) Implement YCbCr 4:4:4 output support
This would involve doing RGB->YCbCr conversion with the pipe CSC. I started to implement this at some point, but got sidetracked and never actually finished. I should probably have a branch with some half finished code somewhere.
2) Extend out DP->HDMI dongle support to allow YCbCr 4:2:0 output.
Looking at the DP 1.4 spec, I see a PROTOCOL_CONVERTER_CONTROL_1 register that would allow you to enable YCbCr 4:2:0 conversion. If I'm reading things correctly we need to output YCbCr 4:4:4 to the dongle, and then dongle will downsample that to 4:2:0 when instructed to do so via this register. We probably have to parse a few other things from the DPCD as well so that we'll know whether the dongle even supports this."
"Adding the support would involve several parts:
1) Add all the generic HDMI forum VSDB parsing and whatnot to the EDID parser
This is needed so that we'll know whether the sink supports YCbCr 4:2:0. There have been some patches towards HDMI 2.0 support for the EDID parser, but I can't recall how much was still missing from them. Not much merged so far.
3) Implement YCbCr 4:4:4 output support
This would involve doing RGB->YCbCr conversion with the pipe CSC. I started to implement this at some point, but got sidetracked and never actually finished. I should probably have a branch with some half finished code somewhere.
2) Extend out DP->HDMI dongle support to allow YCbCr 4:2:0 output.
Looking at the DP 1.4 spec, I see a PROTOCOL_CONVERTER_CONTROL_1 register that would allow you to enable YCbCr 4:2:0 conversion. If I'm reading things correctly we need to output YCbCr 4:4:4 to the dongle, and then dongle will downsample that to 4:2:0 when instructed to do so via this register. We probably have to parse a few other things from the DPCD as well so that we'll know whether the dongle even supports this."