From: Steinar H. Gunderson Date: Fri, 5 Oct 2012 22:42:32 +0000 (+0200) Subject: Add missing file image_format.h, and add grayscale support. X-Git-Tag: 1.0~377 X-Git-Url: https://git.sesse.net/?p=movit;a=commitdiff_plain;h=ad0e48a8b82a679f1d2836254ef33320e7162733 Add missing file image_format.h, and add grayscale support. --- diff --git a/image_format.h b/image_format.h new file mode 100644 index 0000000..346cdef --- /dev/null +++ b/image_format.h @@ -0,0 +1,26 @@ +#ifndef _IMAGE_FORMAT_H +#define _IMAGE_FORMAT_H 1 + +enum MovitPixelFormat { FORMAT_RGB, FORMAT_RGBA, FORMAT_BGR, FORMAT_BGRA, FORMAT_GRAYSCALE }; + +enum ColorSpace { + COLORSPACE_sRGB = 0, + COLORSPACE_REC_709 = 0, // Same as sRGB. + COLORSPACE_REC_601_525 = 1, + COLORSPACE_REC_601_625 = 2, +}; + +enum GammaCurve { + GAMMA_LINEAR = 0, + GAMMA_sRGB = 1, + GAMMA_REC_601 = 2, + GAMMA_REC_709 = 2, // Same as Rec. 601. +}; + +struct ImageFormat { + MovitPixelFormat pixel_format; + ColorSpace color_space; + GammaCurve gamma_curve; +}; + +#endif // !defined(_IMAGE_FORMAT_H) diff --git a/input.cpp b/input.cpp index 453620c..cf0210c 100644 --- a/input.cpp +++ b/input.cpp @@ -41,6 +41,9 @@ void Input::finalize() } else if (image_format.pixel_format == FORMAT_BGRA) { format = GL_BGRA; bytes_per_pixel = 4; + } else if (image_format.pixel_format == FORMAT_GRAYSCALE) { + format = GL_LUMINANCE; + bytes_per_pixel = 1; } else { assert(false); }