FastLED 3.10.6
Loading...
Searching...
No Matches
color_profile.h
Go to the documentation of this file.
1#pragma once
2
3#include "fl/stl/noexcept.h"
4#include "fl/stl/stdint.h"
5
6namespace fl {
7
10 float x;
11 float y;
12 constexpr Chromaticity(float x_in = 0.0f, float y_in = 0.0f) FL_NO_EXCEPT
13 : x(x_in), y(y_in) {}
14};
15
27
28enum class TransferFunction : u8 { Linear, Srgb, Bt709 };
29
47 return SourceProfile(RgbPrimaries(Chromaticity(.680f, .320f), Chromaticity(.265f, .690f), Chromaticity(.150f, .060f), d65()), TransferFunction::Srgb);
48 }
49 static constexpr SourceProfile bt2020() FL_NO_EXCEPT {
50 return SourceProfile(RgbPrimaries(Chromaticity(.708f, .292f), Chromaticity(.170f, .797f), Chromaticity(.131f, .046f), d65()), TransferFunction::Bt709);
51 }
53private:
54 static constexpr Chromaticity d65() FL_NO_EXCEPT { return Chromaticity(.3127f, .3290f); }
56 return RgbPrimaries(Chromaticity(.640f, .330f), Chromaticity(.300f, .600f), Chromaticity(.150f, .060f), d65());
57 }
58};
59
62
63} // namespace fl
unsigned char u8
Definition stdint.h:131
FiveBitSemantics
GamutPolicy
TransferFunction
InputGamut g FL_NO_EXCEPT
Definition rgbw.h:121
InputGamut g
Definition rgbw.h:124
Base definition for an LED controller.
Definition crgb.hpp:179
constexpr Chromaticity(float x_in=0.0f, float y_in=0.0f) FL_NO_EXCEPT
CIE 1931 xy chromaticity, independent of encoded storage and chipset.
Chromaticity white
Chromaticity green
Chromaticity blue
constexpr RgbPrimaries(Chromaticity r=Chromaticity(), Chromaticity g=Chromaticity(), Chromaticity b=Chromaticity(), Chromaticity w=Chromaticity()) FL_NO_EXCEPT
Chromaticity red
constexpr SourceProfile(RgbPrimaries p=srgbPrimaries(), TransferFunction t=TransferFunction::Linear) FL_NO_EXCEPT
RgbPrimaries primaries
static constexpr SourceProfile srgbBt709() FL_NO_EXCEPT
static constexpr Chromaticity d65() FL_NO_EXCEPT
static constexpr SourceProfile bt2020() FL_NO_EXCEPT
static constexpr SourceProfile bt709() FL_NO_EXCEPT
static constexpr SourceProfile displayP3() FL_NO_EXCEPT
TransferFunction transfer
static constexpr SourceProfile custom(RgbPrimaries p, TransferFunction t) FL_NO_EXCEPT
static constexpr SourceProfile linearSrgb() FL_NO_EXCEPT
static constexpr RgbPrimaries srgbPrimaries() FL_NO_EXCEPT