From 0f53dc28bb656ab2b2cc449f1ae569656c2c316c Mon Sep 17 00:00:00 2001 From: jpark37 Date: Sun, 8 May 2022 15:33:47 -0700 Subject: [PATCH] libobs: Reduce PQ shader math --- libobs/data/color.effect | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libobs/data/color.effect b/libobs/data/color.effect index 2c6bc3a62..ede1ecbce 100644 --- a/libobs/data/color.effect +++ b/libobs/data/color.effect @@ -46,7 +46,8 @@ float3 reinhard(float3 rgb) float linear_to_st2084_channel(float x) { - return pow((0.8359375 + 18.8515625 * pow(abs(x), 0.1593017578)) / (1. + 18.6875 * pow(abs(x), 0.1593017578)), 78.84375); + float common = pow(abs(x), 0.1593017578); + return pow((0.8359375 + 18.8515625 * common) / (1. + 18.6875 * common), 78.84375); } float3 linear_to_st2084(float3 rgb) @@ -56,7 +57,8 @@ float3 linear_to_st2084(float3 rgb) float st2084_to_linear_channel(float u) { - return pow(abs(max(pow(abs(u), 1. / 78.84375) - 0.8359375, 0.) / (18.8515625 - 18.6875 * pow(abs(u), 1. / 78.84375))), 1. / 0.1593017578); + float common = pow(abs(u), 1. / 78.84375); + return pow(abs(max(common - 0.8359375, 0.) / (18.8515625 - 18.6875 * common)), 1. / 0.1593017578); } float3 st2084_to_linear(float3 v)