summaryrefslogtreecommitdiffstats
path: root/src/multimedia/CMakeLists.txt
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2022-03-31 16:15:19 +0200
committerLars Knoll <lars.knoll@qt.io>2022-04-07 13:02:51 +0200
commit72947171a99fbc592d2687894749fec70aa31b2d (patch)
tree4f784509ed1d257bfc35ca11d64b9ff0e7535b7a /src/multimedia/CMakeLists.txt
parente63a4582db68d438d7fa9a47cb8bb030950635d9 (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.txt1
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"