Gan_Image Struct Reference (original) (raw)
Gan_Image Struct Reference
structure definition for image More...
#include <[gandalf/image/image_defs.h](image%5F%5Fdefs%5F8h-source.html)>
| 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 |
Detailed Description
structure definition for image
Member Data Documentation
| | generic pointer to pixel data, as a byte pointer so that we can do pointer arithmetic in bytes with it | | --------------------------------------------------------------------------------------------------------- |
| | stride of image, i.e. number of bytes in memory between the start of each row; stride >= width*(size of pixel) | | ------------------------------------------------------------------------------------------------------------------ |
The documentation for this struct was generated from the following file:
