From: Steinar H. Gunderson Date: Thu, 9 Jan 2014 20:50:43 +0000 (+0100) Subject: Comment and README updates about Rec. 2020 in light of the accuracy test results. X-Git-Tag: 1.0~91 X-Git-Url: https://git.sesse.net/?p=movit;a=commitdiff_plain;h=93377952636717f15fd50961f6d3500861596cdc Comment and README updates about Rec. 2020 in light of the accuracy test results. --- diff --git a/README b/README index 9034594..702f29a 100644 --- 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), -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; diff --git a/gamma_compression_effect.h b/gamma_compression_effect.h index c494cd7..235850a 100644 --- a/gamma_compression_effect.h +++ b/gamma_compression_effect.h @@ -5,7 +5,9 @@ // 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 diff --git a/gamma_expansion_effect.h b/gamma_expansion_effect.h index 679c16d..af0d0a9 100644 --- a/gamma_expansion_effect.h +++ b/gamma_expansion_effect.h @@ -6,6 +6,8 @@ // 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 diff --git a/image_format.h b/image_format.h index df6f487..7ca334c 100644 --- a/image_format.h +++ b/image_format.h @@ -1,11 +1,15 @@ #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,