Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(804)

Unified Diff: ui/gfx/color_transform.cc

Issue 2641143004: Add LINEAR_HDR so that the linear scRGB colorspace will be HDR (Closed)
Patch Set: windows compile fix Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/color_space_win.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/color_transform.cc
diff --git a/ui/gfx/color_transform.cc b/ui/gfx/color_transform.cc
index 3a63643c2a0fea8e6f8743984522a09a6e2e61d5..110521f8d580fab079b86abdf669c97434425a98 100644
--- a/ui/gfx/color_transform.cc
+++ b/ui/gfx/color_transform.cc
@@ -201,6 +201,7 @@ GFX_EXPORT float FromLinear(ColorSpace::TransferID id, float v) {
}
case ColorSpace::TransferID::LINEAR:
+ case ColorSpace::TransferID::LINEAR_HDR:
return v;
case ColorSpace::TransferID::LOG:
@@ -330,6 +331,7 @@ GFX_EXPORT float ToLinear(ColorSpace::TransferID id, float v) {
}
case ColorSpace::TransferID::LINEAR:
+ case ColorSpace::TransferID::LINEAR_HDR:
return v;
case ColorSpace::TransferID::LOG:
@@ -618,7 +620,12 @@ class ColorTransformMatrix : public ColorTransformInternal {
class ColorTransformFromLinear : public ColorTransformInternal {
public:
explicit ColorTransformFromLinear(ColorSpace::TransferID transfer)
- : transfer_(transfer) {}
+ : transfer_(transfer) {
+ // Map LINEAR_HDR to LINEAR for optimizations.
+ if (transfer_ == ColorSpace::TransferID::LINEAR_HDR) {
+ transfer_ = ColorSpace::TransferID::LINEAR;
+ }
+ }
bool Prepend(ColorTransformInternal* prev) override {
return prev->Join(*this);
}
@@ -641,7 +648,12 @@ class ColorTransformFromLinear : public ColorTransformInternal {
class ColorTransformToLinear : public ColorTransformInternal {
public:
explicit ColorTransformToLinear(ColorSpace::TransferID transfer)
- : transfer_(transfer) {}
+ : transfer_(transfer) {
+ // Map LINEAR_HDR to LINEAR for optimizations.
+ if (transfer_ == ColorSpace::TransferID::LINEAR_HDR) {
+ transfer_ = ColorSpace::TransferID::LINEAR;
+ }
+ }
bool Prepend(ColorTransformInternal* prev) override {
return prev->Join(*this);
« no previous file with comments | « ui/gfx/color_space_win.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698