X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=image_format.h;h=90f60347807faa1aa80035e7e34a6c81f20d92bc;hp=346cdef9a495e72e947eb3502d4996f429c297d2;hb=5d4c0425579de66b3e2dd7d0095e890278f8efcf;hpb=ad0e48a8b82a679f1d2836254ef33320e7162733 diff --git a/image_format.h b/image_format.h index 346cdef..90f6034 100644 --- a/image_format.h +++ b/image_format.h @@ -1,25 +1,40 @@ #ifndef _IMAGE_FORMAT_H #define _IMAGE_FORMAT_H 1 -enum MovitPixelFormat { FORMAT_RGB, FORMAT_RGBA, FORMAT_BGR, FORMAT_BGRA, FORMAT_GRAYSCALE }; +enum MovitPixelFormat { + FORMAT_RGB, + FORMAT_RGBA_PREMULTIPLIED_ALPHA, + FORMAT_RGBA_POSTMULTIPLIED_ALPHA, + FORMAT_BGR, + FORMAT_BGRA_PREMULTIPLIED_ALPHA, + FORMAT_BGRA_POSTMULTIPLIED_ALPHA, + FORMAT_GRAYSCALE +}; -enum ColorSpace { +enum Colorspace { + COLORSPACE_INVALID = -1, // For internal use. COLORSPACE_sRGB = 0, COLORSPACE_REC_709 = 0, // Same as sRGB. COLORSPACE_REC_601_525 = 1, COLORSPACE_REC_601_625 = 2, + COLORSPACE_XYZ = 3, // Mostly useful for testing and debugging. }; enum GammaCurve { + GAMMA_INVALID = -1, // For internal use. GAMMA_LINEAR = 0, GAMMA_sRGB = 1, GAMMA_REC_601 = 2, GAMMA_REC_709 = 2, // Same as Rec. 601. }; +enum YCbCrLumaCoefficients { + YCBCR_REC_601 = 0, + YCBCR_REC_709 = 1, +}; + struct ImageFormat { - MovitPixelFormat pixel_format; - ColorSpace color_space; + Colorspace color_space; GammaCurve gamma_curve; };