#include <algorithm>
-EffectChainTester::EffectChainTester(const float *data, unsigned width, unsigned height, MovitPixelFormat pixel_format, ColorSpace color_space, GammaCurve gamma_curve)
+EffectChainTester::EffectChainTester(const float *data, unsigned width, unsigned height, MovitPixelFormat pixel_format, Colorspace color_space, GammaCurve gamma_curve)
: chain(width, height), width(width), height(height)
{
add_input(data, pixel_format, color_space, gamma_curve);
check_error();
}
-Input *EffectChainTester::add_input(const float *data, MovitPixelFormat pixel_format, ColorSpace color_space, GammaCurve gamma_curve)
+Input *EffectChainTester::add_input(const float *data, MovitPixelFormat pixel_format, Colorspace color_space, GammaCurve gamma_curve)
{
ImageFormat format;
format.color_space = color_space;
return input;
}
-void EffectChainTester::run(float *out_data, GLenum format, ColorSpace color_space, GammaCurve gamma_curve)
+void EffectChainTester::run(float *out_data, GLenum format, Colorspace color_space, GammaCurve gamma_curve)
{
ImageFormat image_format;
image_format.color_space = color_space;
glBindFramebuffer(GL_FRAMEBUFFER, fbo);
glReadPixels(0, 0, width, height, format, GL_FLOAT, out_data);
+ if (format == GL_RGBA) {
+ width *= 4;
+ }
+
// Flip upside-down to compensate for different origin.
for (unsigned y = 0; y < height / 2; ++y) {
unsigned flip_y = height - y - 1;