00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef CCVT_TYPES_H
00023
#define CCVT_TYPES_H
00024
00025
#if defined (LITTLE_ENDIAN)
00026
00027
typedef struct
00028
{
00029
unsigned char b;
00030
unsigned char g;
00031
unsigned char r;
00032
unsigned char z;
00033 } PIXTYPE_bgr32;
00034
00035
typedef struct
00036
{
00037
unsigned char b;
00038
unsigned char g;
00039
unsigned char r;
00040 } PIXTYPE_bgr24;
00041
00042
typedef struct
00043
{
00044
unsigned char r;
00045
unsigned char g;
00046
unsigned char b;
00047
unsigned char z;
00048 } PIXTYPE_rgb32;
00049
00050
typedef struct
00051
{
00052
unsigned char r;
00053
unsigned char g;
00054
unsigned char b;
00055 } PIXTYPE_rgb24;
00056
00057
#elif defined (BIG_ENDIAN)
00058
00059
typedef struct
00060
{
00061
unsigned char z;
00062
unsigned char r;
00063
unsigned char g;
00064
unsigned char b;
00065 } PIXTYPE_bgr32;
00066
00067
typedef struct
00068
{
00069
unsigned char r;
00070
unsigned char g;
00071
unsigned char b;
00072 } PIXTYPE_bgr24;
00073
00074
typedef struct
00075
{
00076
unsigned char z;
00077
unsigned char b;
00078
unsigned char g;
00079
unsigned char r;
00080 } PIXTYPE_rgb32;
00081
00082
typedef struct
00083
{
00084
unsigned char b;
00085
unsigned char g;
00086
unsigned char r;
00087 } PIXTYPE_rgb24;
00088
00089
#else
00090
# error "Neither BIG_ENDIAN, nor LITTLE_ENDIAN???"
00091
#endif
00092
00093 #define SAT(c) \
00094
if (c & (~255)) { if (c < 0) c = 0; else c = 255; }
00095
00096
00097
00098
#endif