I need to playback HDR10 content and draw some 2D over video. I think I understand how TV play HDR10|HLG|Dolby vision content, but I don’t understand how to do it from PC through video card with DirectX and OpenGL. I have Y’CbCr or R’G’B’ data in HDR10. My understanding:
- Switch display to HDR10 mode and send metadata - done
- Create framebuffer FP16 - done
Then lot of questions:
- framebuffer is in scRGB color format, right? Can be it changed to BT2020?
- What is valid range of values? 0…1? -0.5…7.5? 0…14.5?
- Does scRGB framebuffer contains linear values or gamma corrected?
- How does video card translate/transform scRGB to output values? which is colorspace used for output to display? BT.2020? something else?
- I need to convert BT.2020 colorspace to scRGB, correct?
- Is there such conversion in open source?
PS. To simplify answers: I use Windows 10 and it is already switched to HDR mode.