]> git.sesse.net Git - movit/commitdiff
Comment and README updates about Rec. 2020 in light of the accuracy test results.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Thu, 9 Jan 2014 20:50:43 +0000 (21:50 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Thu, 9 Jan 2014 20:50:43 +0000 (21:50 +0100)
README
gamma_compression_effect.h
gamma_expansion_effect.h
image_format.h

diff --git a/README b/README
index 90345948f3749317c3ca084fd21e4b6c2ded58e3..702f29a6445e2309b5769277a3ab0b9c94773212 100644 (file)
--- a/README
+++ b/README
@@ -153,9 +153,10 @@ instead of on input? And I can promise you that once we move to more
 wide-gamut color spaces, like the one in Rec. 2020 (used for UHDTV), the
 difference will be anything but subtle. As of [why working in linear
 light matters](http://www.4p8.com/eric.brasseur/gamma.html),
 wide-gamut color spaces, like the one in Rec. 2020 (used for UHDTV), the
 difference will be anything but subtle. As of [why working in linear
 light matters](http://www.4p8.com/eric.brasseur/gamma.html),
-others have explained it better than I can; note also
-that this makes Movit future-proof when the world moves towards 10-
-and 12-bit color precision. The extra power from the GPU makes all of this
+others have explained it better than I can; note also that this makes Movit
+future-proof when the world moves towards 10- and 12-bit color precision
+(although the latter requires Movit to change from 16-bit to 32-bit floating
+point, it is a simple switch). The extra power from the GPU makes all of this
 simple, so do we not need to make too many concessions for the sake of speed.
 
 Movit does not currently do ICC profiles or advanced gamut mapping;
 simple, so do we not need to make too many concessions for the sake of speed.
 
 Movit does not currently do ICC profiles or advanced gamut mapping;
index c494cd795b00ce5f5c20142a4ff4ea9ae879b7c1..235850a9d75550d7adb5f144e977cc6ebfc8ebd4 100644 (file)
@@ -5,7 +5,9 @@
 // typically inserted by the framework automatically at the end
 // of the processing chain.
 //
 // typically inserted by the framework automatically at the end
 // of the processing chain.
 //
-// Currently supports sRGB and Rec. 601/709.
+// Currently supports sRGB, Rec. 601/709 and Rec. 2020 (10- and 12-bit).
+// Note that Movit's internal formats generally do not have enough accuracy
+// for 12-bit input or output.
 
 #include <string>
 
 
 #include <string>
 
index 679c16d24d92c2adb28ebe1eac708048e2d9029c..af0d0a908d0d9a1e10d809657db842ae5135453e 100644 (file)
@@ -6,6 +6,8 @@
 // of the processing chain.
 //
 // Currently supports sRGB, Rec. 601/709 and Rec. 2020 (10- and 12-bit).
 // of the processing chain.
 //
 // Currently supports sRGB, Rec. 601/709 and Rec. 2020 (10- and 12-bit).
+// Note that Movit's internal formats generally do not have enough accuracy
+// for 12-bit input or output.
 
 #include <string>
 
 
 #include <string>
 
index df6f48747cdc3e933dfa6cdaf6cec88f544b14a3..7ca334c36016e4324f0cc75fac9ab8fe87af5cb3 100644 (file)
@@ -1,11 +1,15 @@
 #ifndef _MOVIT_IMAGE_FORMAT_H
 #define _MOVIT_IMAGE_FORMAT_H 1
 
 #ifndef _MOVIT_IMAGE_FORMAT_H
 #define _MOVIT_IMAGE_FORMAT_H 1
 
-// Note: Input depths above 8 bits have not been tested, so Rec. 2020
-// support should be regarded as somewhat untested (it assumes 10-
-// or 12-bit input). We also only support “conventional non-constant
-// luminance” for Rec. 2020, where Y' is derived from R'G'B' instead of
-// RGB, since this is the same system as used in Rec. 601 and 709.
+// Note: Movit's internal processing formats do not have enough
+// accuracy to support 12-bit input, so if you want to use Rec. 2020,
+// you should probably stick to 10-bit, or accept somewhat reduced
+// accuracy for 12-bit. Input depths above 8 bits are also generally
+// less tested.
+//
+// We also only support “conventional non-constant luminance” for Rec. 2020,
+// where Y' is derived from R'G'B' instead of RGB, since this is the same
+// system as used in Rec. 601 and 709.
 
 enum MovitPixelFormat {
        FORMAT_RGB,
 
 enum MovitPixelFormat {
        FORMAT_RGB,