summaryrefslogtreecommitdiffstats
path: root/third_party/jpeg-xl/lib/jxl/luminance.cc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/jpeg-xl/lib/jxl/luminance.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/third_party/jpeg-xl/lib/jxl/luminance.cc b/third_party/jpeg-xl/lib/jxl/luminance.cc
new file mode 100644
index 0000000000..10151f4267
--- /dev/null
+++ b/third_party/jpeg-xl/lib/jxl/luminance.cc
@@ -0,0 +1,26 @@
+// Copyright (c) the JPEG XL Project Authors. All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+#include "lib/jxl/luminance.h"
+
+#include "lib/jxl/image_metadata.h"
+
+namespace jxl {
+
+void SetIntensityTarget(ImageMetadata* m) {
+ if (m->color_encoding.tf.IsPQ()) {
+ // Peak luminance of PQ as defined by SMPTE ST 2084:2014.
+ m->SetIntensityTarget(10000);
+ } else if (m->color_encoding.tf.IsHLG()) {
+ // Nominal display peak luminance used as a reference by
+ // Rec. ITU-R BT.2100-2.
+ m->SetIntensityTarget(1000);
+ } else {
+ // SDR
+ m->SetIntensityTarget(kDefaultIntensityTarget);
+ }
+}
+
+} // namespace jxl