|
Public Attributes |
Gan_ImageFormat | format |
| format of image: grey-level, RGB colour etc.
|
Gan_Type | type |
| type of pixel values: unsigned char, float etc.
|
unsigned long | height |
| image dimensions
|
unsigned long | width |
| image dimensions
|
unsigned long | stride |
unsigned char * | pix_data_ptr |
size_t | pix_data_size |
| allocated size of image data in bytes
|
Gan_Bool | pix_data_alloc |
| flag indicating whether image data was dynamically allocated
|
union { |
union { |
unsigned char ** uc |
short ** s |
unsigned short ** us |
int ** i |
unsigned int ** ui |
float ** f |
double ** d |
Gan_BitWord ** b |
void *** p |
Gan_YXPixel_ui10 ** ui10 |
Gan_YXPixel_ui12 ** ui12 |
} gl |
| grey level
|
union { |
Gan_GLAPixel_uc ** uc |
Gan_GLAPixel_s ** s |
Gan_GLAPixel_us ** us |
Gan_GLAPixel_i ** i |
Gan_GLAPixel_ui ** ui |
Gan_GLAPixel_f ** f |
Gan_GLAPixel_d ** d |
} gla |
| grey level with alpha channel
|
union { |
Gan_RGBPixel_uc ** uc |
Gan_RGBPixel_s ** s |
Gan_RGBPixel_us ** us |
Gan_RGBPixel_i ** i |
Gan_RGBPixel_ui ** ui |
Gan_RGBPixel_f ** f |
Gan_RGBPixel_d ** d |
} rgb |
| RGB colour.
|
union { |
Gan_RGBAPixel_uc ** uc |
Gan_RGBAPixel_s ** s |
Gan_RGBAPixel_us ** us |
Gan_RGBAPixel_i ** i |
Gan_RGBAPixel_ui ** ui |
Gan_RGBAPixel_f ** f |
Gan_RGBAPixel_d ** d |
Gan_RGBAPixel_ui12 ** ui12 |
} rgba |
| RGB colour with alpha channel.
|
union { |
Gan_Vector2_f ** f |
Gan_Vector2 ** d |
Gan_Vector2_s ** s |
Gan_Vector2_i ** i |
} vfield2D |
| 2D vector field
|
union { |
Gan_Vector3_f ** f |
Gan_Vector3 ** d |
Gan_Vector3_s ** s |
Gan_Vector3_i ** i |
} vfield3D |
| 3D vector field
|
union { |
Gan_RGBXPixel_ui8 ** ui8 |
Gan_RGBXPixel_ui10 ** ui10 |
} rgbx |
| RGBX data.
|
union { |
Gan_RGBASPixel_ui10 ** ui10 |
} rgbas |
| RGBA data with small alpha channel.
|
union { |
Gan_YUVX444Pixel_ui8 ** ui8 |
} yuvx444 |
| YUV 4-4-4 with padding to a word boundary.
|
union { |
Gan_YUVA444Pixel_ui8 ** ui8 |
} yuva444 |
| YUVA 4-4-4.
|
union { |
Gan_YUV422Pixel_ui8 ** ui8 |
} yuv422 |
| YUV 4-2-2.
|
} | row_data |
| pointers to start of each row
|
void * | row_data_ptr |
| generic pointer to row pointer data
|
size_t | row_data_size |
| allocated number of row pointers in bytes
|
Gan_BitArray * | ba |
| array of bit arrays for binary images
|
Gan_Bool | ba_alloc |
| whether bit array was allocated
|
int | offset_x |
| user-defined offsets
|
int | offset_y |
| user-defined offsets
|
Gan_Bool | row_data_alloc |
| flag indicating whether row pointer array was dynamically allocated
|
Gan_Bool | struct_alloc |
| flag indicating whether image structure was dynamically allocated
|
void(* | data_free_func )(void *) |
| function to free image data, defaulting to free() if this field is NULL
|
void(* | free_func )(struct Gan_Image *img) |
| function to free image
|
union { |
union { |
Gan_Bool(* uc )(struct Gan_Image *, unsigned row, unsigned col, unsigned char pix) |
Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, short pix) |
Gan_Bool(* us )(struct Gan_Image *, unsigned row, unsigned col, unsigned short pix) |
Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, int pix) |
Gan_Bool(* ui )(struct Gan_Image *, unsigned row, unsigned col, unsigned int pix) |
Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, float pix) |
Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, double pix) |
Gan_Bool(* b )(struct Gan_Image *, unsigned row, unsigned col, Gan_Bool pix) |
Gan_Bool(* p )(struct Gan_Image *, unsigned row, unsigned col, void *pix) |
Gan_Bool(* ui10 )(struct Gan_Image *, unsigned row, unsigned col, Gan_YXPixel_ui10 *pix) |
Gan_Bool(* ui12 )(struct Gan_Image *, unsigned row, unsigned col, Gan_YXPixel_ui12 *pix) |
} gl |
| grey-level formats
|
union { |
Gan_Bool(* uc )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_uc *pix) |
Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_s *pix) |
Gan_Bool(* us )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_us *pix) |
Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_i *pix) |
Gan_Bool(* ui )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_ui *pix) |
Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_f *pix) |
Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_d *pix) |
} gla |
| grey-level formats with alpha channels
|
union { |
Gan_Bool(* uc )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_uc *pix) |
Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_s *pix) |
Gan_Bool(* us )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_us *pix) |
Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_i *pix) |
Gan_Bool(* ui )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_ui *pix) |
Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_d *pix) |
Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_f *pix) |
} rgb |
| RGB colour formats.
|
union { |
Gan_Bool(* uc )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_uc *pix) |
Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_s *pix) |
Gan_Bool(* us )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_us *pix) |
Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_i *pix) |
Gan_Bool(* ui )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_ui *pix) |
Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_d *pix) |
Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_f *pix) |
Gan_Bool(* ui12 )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_ui12 *pix) |
} rgba |
| RGB colour formats with alpha channels.
|
union { |
Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector2_f *pix) |
Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector2 *pix) |
Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector2_s *pix) |
Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector2_i *pix) |
} vfield2D |
| 2D vector field formats
|
union { |
Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector3_f *pix) |
Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector3 *pix) |
Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector3_s *pix) |
Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector3_i *pix) |
} vfield3D |
| 3D vector field formats
|
union { |
Gan_Bool(* ui8 )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBXPixel_ui8 *pix) |
Gan_Bool(* ui10 )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBXPixel_ui10 *pix) |
} rgbx |
| RGBX data.
|
union { |
Gan_Bool(* ui10 )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBASPixel_ui10 *pix) |
} rgbas |
| RGBA data with small alpha channel.
|
union { |
Gan_Bool(* ui8 )(struct Gan_Image *, unsigned row, unsigned col, Gan_YUVX444Pixel_ui8 *pix) |
} yuvx444 |
| YUV 4-4-4 with padding to a word boundary.
|
union { |
Gan_Bool(* ui8 )(struct Gan_Image *, unsigned row, unsigned col, Gan_YUVA444Pixel_ui8 *pix) |
} yuva444 |
| YUVA 4-4-4.
|
union { |
Gan_Bool(* ui8 )(struct Gan_Image *, unsigned row, unsigned col, Gan_YUV422Pixel_ui8 *pix) |
} yuv422 |
| YUV 4-2-2.
|
} | set_pix |
| set image pixel for each format
|
union { |
union { |
unsigned char(* uc )(const struct Gan_Image *, unsigned row, unsigned col) |
short(* s )(const struct Gan_Image *, unsigned row, unsigned col) |
unsigned short(* us )(const struct Gan_Image *, unsigned row, unsigned col) |
int(* i )(const struct Gan_Image *, unsigned row, unsigned col) |
unsigned int(* ui )(const struct Gan_Image *, unsigned row, unsigned col) |
float(* f )(const struct Gan_Image *, unsigned row, unsigned col) |
double(* d )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_Bool(* b )(const struct Gan_Image *, unsigned row, unsigned col) |
void *(* p )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_YXPixel_ui10(* ui10 )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_YXPixel_ui12(* ui12 )(const struct Gan_Image *, unsigned row, unsigned col) |
} gl |
| grey-level formats
|
union { |
Gan_GLAPixel_uc(* uc )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_GLAPixel_s(* s )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_GLAPixel_us(* us )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_GLAPixel_i(* i )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_GLAPixel_ui(* ui )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_GLAPixel_f(* f )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_GLAPixel_d(* d )(const struct Gan_Image *, unsigned row, unsigned col) |
} gla |
| grey-level formats with alpha channels
|
union { |
Gan_RGBPixel_uc(* uc )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBPixel_s(* s )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBPixel_us(* us )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBPixel_i(* i )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBPixel_ui(* ui )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBPixel_f(* f )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBPixel_d(* d )(const struct Gan_Image *, unsigned row, unsigned col) |
} rgb |
| RGB colour formats.
|
union { |
Gan_RGBAPixel_uc(* uc )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBAPixel_s(* s )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBAPixel_us(* us )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBAPixel_i(* i )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBAPixel_ui(* ui )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBAPixel_f(* f )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBAPixel_d(* d )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBAPixel_ui12(* ui12 )(const struct Gan_Image *, unsigned row, unsigned col) |
} rgba |
| RGB colour formats with alpha channels.
|
union { |
Gan_Vector2_f(* f )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_Vector2(* d )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_Vector2_s(* s )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_Vector2_i(* i )(const struct Gan_Image *, unsigned row, unsigned col) |
} vfield2D |
| 2D vector field formats
|
union { |
Gan_Vector3_f(* f )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_Vector3(* d )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_Vector3_s(* s )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_Vector3_i(* i )(const struct Gan_Image *, unsigned row, unsigned col) |
} vfield3D |
| 3D vector field formats
|
union { |
Gan_RGBXPixel_ui8(* ui8 )(const struct Gan_Image *, unsigned row, unsigned col) |
Gan_RGBXPixel_ui10(* ui10 )(const struct Gan_Image *, unsigned row, unsigned col) |
} rgbx |
| RGBX data.
|
union { |
Gan_RGBASPixel_ui10(* ui10 )(const struct Gan_Image *, unsigned row, unsigned col) |
} rgbas |
| RGBA data with small alpha channel.
|
union { |
Gan_YUVX444Pixel_ui8(* ui8 )(const struct Gan_Image *, unsigned row, unsigned col) |
} yuvx444 |
| YUV 4-4-4 with padding to a word boundary.
|
union { |
Gan_YUVA444Pixel_ui8(* ui8 )(const struct Gan_Image *, unsigned row, unsigned col) |
} yuva444 |
| YUVA 4-4-4.
|
union { |
Gan_YUV422Pixel_ui8(* ui8 )(const struct Gan_Image *, unsigned row, unsigned col) |
} yuv422 |
| YUV 4-2-2.
|
} | get_pix |
| get image pixel for each format
|
union { |
union { |
Gan_Bool(* uc )(struct Gan_Image *, unsigned char pix) |
Gan_Bool(* s )(struct Gan_Image *, short pix) |
Gan_Bool(* us )(struct Gan_Image *, unsigned short pix) |
Gan_Bool(* i )(struct Gan_Image *, int pix) |
Gan_Bool(* ui )(struct Gan_Image *, unsigned int pix) |
Gan_Bool(* f )(struct Gan_Image *, float pix) |
Gan_Bool(* d )(struct Gan_Image *, double pix) |
Gan_Bool(* b )(struct Gan_Image *, Gan_Bool pix) |
Gan_Bool(* p )(struct Gan_Image *, void *pix) |
Gan_Bool(* ui10 )(struct Gan_Image *, Gan_YXPixel_ui10 *pix) |
Gan_Bool(* ui12 )(struct Gan_Image *, Gan_YXPixel_ui12 *pix) |
} gl |
| grey-level formats
|
union { |
Gan_Bool(* uc )(struct Gan_Image *, Gan_GLAPixel_uc *pix) |
Gan_Bool(* s )(struct Gan_Image *, Gan_GLAPixel_s *pix) |
Gan_Bool(* us )(struct Gan_Image *, Gan_GLAPixel_us *pix) |
Gan_Bool(* i )(struct Gan_Image *, Gan_GLAPixel_i *pix) |
Gan_Bool(* ui )(struct Gan_Image *, Gan_GLAPixel_ui *pix) |
Gan_Bool(* f )(struct Gan_Image *, Gan_GLAPixel_f *pix) |
Gan_Bool(* d )(struct Gan_Image *, Gan_GLAPixel_d *pix) |
} gla |
| grey-level formats with slpha channels
|
union { |
Gan_Bool(* uc )(struct Gan_Image *, Gan_RGBPixel_uc *pix) |
Gan_Bool(* s )(struct Gan_Image *, Gan_RGBPixel_s *pix) |
Gan_Bool(* us )(struct Gan_Image *, Gan_RGBPixel_us *pix) |
Gan_Bool(* i )(struct Gan_Image *, Gan_RGBPixel_i *pix) |
Gan_Bool(* ui )(struct Gan_Image *, Gan_RGBPixel_ui *pix) |
Gan_Bool(* f )(struct Gan_Image *, Gan_RGBPixel_f *pix) |
Gan_Bool(* d )(struct Gan_Image *, Gan_RGBPixel_d *pix) |
} rgb |
| RGB colour formats.
|
union { |
Gan_Bool(* uc )(struct Gan_Image *, Gan_RGBAPixel_uc *pix) |
Gan_Bool(* s )(struct Gan_Image *, Gan_RGBAPixel_s *pix) |
Gan_Bool(* us )(struct Gan_Image *, Gan_RGBAPixel_us *pix) |
Gan_Bool(* i )(struct Gan_Image *, Gan_RGBAPixel_i *pix) |
Gan_Bool(* ui )(struct Gan_Image *, Gan_RGBAPixel_ui *pix) |
Gan_Bool(* f )(struct Gan_Image *, Gan_RGBAPixel_f *pix) |
Gan_Bool(* d )(struct Gan_Image *, Gan_RGBAPixel_d *pix) |
Gan_Bool(* ui12 )(struct Gan_Image *, Gan_RGBAPixel_ui12 *pix) |
} rgba |
| RGB colour formats with alpha channels.
|
union { |
Gan_Bool(* f )(struct Gan_Image *, Gan_Vector2_f *pix) |
Gan_Bool(* d )(struct Gan_Image *, Gan_Vector2 *pix) |
Gan_Bool(* s )(struct Gan_Image *, Gan_Vector2_s *pix) |
Gan_Bool(* i )(struct Gan_Image *, Gan_Vector2_i *pix) |
} vfield2D |
| 2D vector field formats
|
union { |
Gan_Bool(* f )(struct Gan_Image *, Gan_Vector3_f *pix) |
Gan_Bool(* d )(struct Gan_Image *, Gan_Vector3 *pix) |
Gan_Bool(* s )(struct Gan_Image *, Gan_Vector3_s *pix) |
Gan_Bool(* i )(struct Gan_Image *, Gan_Vector3_i *pix) |
} vfield3D |
| 3D vector field formats
|
union { |
Gan_Bool(* ui8 )(struct Gan_Image *, Gan_RGBXPixel_ui8 *pix) |
Gan_Bool(* ui10 )(struct Gan_Image *, Gan_RGBXPixel_ui10 *pix) |
} rgbx |
| RGBX data.
|
union { |
Gan_Bool(* ui10 )(struct Gan_Image *, Gan_RGBASPixel_ui10 *pix) |
} rgbas |
| RGBA data with small alpha channel.
|
union { |
Gan_Bool(* ui8 )(struct Gan_Image *, Gan_YUVX444Pixel_ui8 *pix) |
} yuvx444 |
| YUV 4-4-4 with padding to a word boundary.
|
union { |
Gan_Bool(* ui8 )(struct Gan_Image *, Gan_YUVA444Pixel_ui8 *pix) |
} yuva444 |
| YUVA 4-4-4.
|
union { |
Gan_Bool(* ui8 )(struct Gan_Image *, Gan_YUV422Pixel_ui8 *pix) |
} yuv422 |
| YUV 4-2-2.
|
} | fill_const |
| fill image with constant value in a mask
|
Gan_Image *(* | copy )(const struct Gan_Image *, struct Gan_Image *) |
| copy image
|