#include <avir.h>
Public Attributes | |
int | BufLen [2] |
int | BufOffs [2] |
int | BuildMode |
int | elalign |
int | ElCount |
int | ElCountIO |
int | fpalign |
int | fppack |
double | InGammaMult |
bool | IsResize2 |
double | k |
double | o |
double | OutGammaMult |
double | ox |
double | oy |
int | packmode |
int | ResizeStep |
int | RndSeed |
CImageResizerThreadPool * | ThreadPool |
bool | UseSRGBGamma |
Image resizing variables class.
This is an utility "catch all" class that defines various variables used during image resizing. Several variables that are explicitly initialized in this class' constructor are also used as additional "input" variables to the image resizing function. These variables will not be changed by the avir::CImageResizer<>::resizeImage() function.
int avir::CImageResizerVars::BufOffs[2] |
Offsets into the intermediate buffers, used to provide prefix elements required during processing so that no "out of range" access happens. This offset is a multiple of ElCount if pixels are stored in interleaved form.
int avir::CImageResizerVars::BuildMode |
The build mode to use, for debugging purposes. Set to -1 to select a minimal-complexity mode automatically. All build modes deliver similar results with minor deviations.
int avir::CImageResizerVars::elalign |
Length alignment of arrays of elements. This applies to filters and intermediate buffers: this constant forces filters and scanlines to have a length which is a multiple of this value, for more efficient SIMD implementation.
int avir::CImageResizerVars::ElCount |
The number of "fptype" elements used to store 1 pixel.
int avir::CImageResizerVars::ElCountIO |
The number of source and destination image's elements used to store 1 pixel.
int avir::CImageResizerVars::fpalign |
Suggested alignment size in bytes. This is not a required alignment, because image resizing algorithm cannot be made to have a strictly aligned data access in all cases (e.g. de-interleaved interpolation cannot perform aligned accesses).
int avir::CImageResizerVars::fppack |
The number of atomic types stored in a single "fptype" element.
double avir::CImageResizerVars::InGammaMult |
Input gamma multiplier, used to convert input data to 0 to 1 range. 0.0 if no gamma is in use.
bool avir::CImageResizerVars::IsResize2 |
Use optimized "doResize2" function.
double avir::CImageResizerVars::k |
Resizing step coefficient, updated to reflect the actually used coefficient during resizing.
double avir::CImageResizerVars::o |
Starting pixel offset inside the source image, updated to reflect the actually used offset during resizing.
double avir::CImageResizerVars::OutGammaMult |
Output gamma multiplier, used to convert data to 0 to 255/65535 range. 0.0 if no gamma is in use.
double avir::CImageResizerVars::ox |
Start X pixel offset within source image (can be negative). Positive offset moves image to the left.
double avir::CImageResizerVars::oy |
Start Y pixel offset within source image (can be negative). Positive offset moves image to the top.
int avir::CImageResizerVars::packmode |
0 if interleaved packing, 1 if de-interleaved.
int avir::CImageResizerVars::ResizeStep |
Index of the resizing step in the latest filtering steps array.
int avir::CImageResizerVars::RndSeed |
Random seed parameter. This parameter may be incremented after each random generator initialization. The use of this variable depends on the ditherer implementation.
CImageResizerThreadPool* avir::CImageResizerVars::ThreadPool |
Thread pool to be used by the image resizing function. Set to NULL to use single-threaded processing.
bool avir::CImageResizerVars::UseSRGBGamma |
Perform sRGB gamma linearization (correction).