]> git.sesse.net Git - movit/blob - saturation_effect.h
Add a unit test for full-range Rec. 601 YCbCr.
[movit] / saturation_effect.h
1 #ifndef _SATURATION_EFFECT_H
2 #define _SATURATION_EFFECT_H 1
3
4 // A simple desaturation/saturation effect. We use the Rec. 709
5 // definition of luminance (in linear light, of course) and linearly
6 // interpolate between that (saturation=0) and the original signal
7 // (saturation=1). Extrapolating that curve further (ie., saturation > 1)
8 // gives us increased saturation if so desired.
9
10 #include "effect.h"
11
12 class SaturationEffect : public Effect {
13 public:
14         SaturationEffect();
15         virtual std::string effect_type_id() const { return "SaturationEffect"; }
16         std::string output_fragment_shader();
17
18 private:
19         float saturation;
20 };
21
22 #endif // !defined(_SATURATION_EFFECT_H)