diff options
author | Lars Knoll <lars.knoll@qt.io> | 2022-03-31 16:15:19 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2022-04-07 13:02:51 +0200 |
commit | 72947171a99fbc592d2687894749fec70aa31b2d (patch) | |
tree | 4f784509ed1d257bfc35ca11d64b9ff0e7535b7a /src/multimedia/CMakeLists.txt | |
parent | e63a4582db68d438d7fa9a47cb8bb030950635d9 (diff) |
Add support for proper HDR rendering
This is a larger change adding various pieces required to properly
playback HEVC encoded HDR videos.
Those videos are usually encoded in the BT2020 color space, but have
a non linear transfer function (perceptual quantizer or hybrid log gamma)
that is required to properly map the encoded video data to linear space.
In addition, the resulting pixels need to be tonemapped back to the supported
range of the display, something we do using the algorithm defined in
BT2390-6.
Finally, we need to acquire a HDR enabled surface from RHI to be able to
properly render the final result to screen.
This is tested on macOS, where we now get very good rendering of HDR videos.
Some more work is required to implement support for HLG transfer functions,
rendering properly on SDR surfaces (where we need to apply an inverse gamma
transform) and to support more HDR pixel formats.
Change-Id: Ida180260622136ee1f9dc9ae19781c3529424ebc
Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
Diffstat (limited to 'src/multimedia/CMakeLists.txt')
-rw-r--r-- | src/multimedia/CMakeLists.txt | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/multimedia/CMakeLists.txt b/src/multimedia/CMakeLists.txt index 9a77fa117..1e91ded72 100644 --- a/src/multimedia/CMakeLists.txt +++ b/src/multimedia/CMakeLists.txt @@ -129,6 +129,7 @@ qt_internal_add_shaders(Multimedia "shaders" "shaders/yvu_triplanar.frag" "shaders/yuyv.frag" "shaders/ayuv.frag" + "shaders/nv12_bt2020_pq.frag" ) qt_internal_add_shaders(Multimedia "shaders_gl_macos" |