]> git.sesse.net Git - movit/blobdiff - gamma_compression_effect.cpp
Squash linear gamma back into the sRGB curve at the end.
[movit] / gamma_compression_effect.cpp
diff --git a/gamma_compression_effect.cpp b/gamma_compression_effect.cpp
new file mode 100644 (file)
index 0000000..2c88b02
--- /dev/null
@@ -0,0 +1,23 @@
+#include <assert.h>
+
+#include "gamma_compression_effect.h"
+#include "util.h"
+
+GammaCompressionEffect::GammaCompressionEffect()
+       : destination_curve(GAMMA_LINEAR)
+{
+       register_int("destination_curve", (int *)&destination_curve);
+}
+
+std::string GammaCompressionEffect::output_glsl()
+{
+       switch (destination_curve) {
+       case GAMMA_sRGB:
+               return read_file("gamma_compression_effect_srgb.glsl");
+       case GAMMA_REC_709:  // and GAMMA_REC_601
+               // Not implemented yet.
+               assert(false);
+       default:
+               assert(false);
+       }
+}