Gan_Image Struct Reference (original) (raw)

Gan_Image Struct Reference

[Image Package]

structure definition for image More...

#include <[gandalf/image/image_defs.h](image%5F%5Fdefs%5F8h-source.html)>

List of all members.

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:


Generated on Fri Mar 17 12:44:53 2006 by doxygen 1.3.9.1