AVIR
High-quality pro image resizing library
 
Loading...
Searching...
No Matches
avir::CImageResizerVars Class Reference

Image resizing variables class. More...

#include <avir.h>

Public Attributes

int BufLen [2]
 Intermediate buffers' lengths in "fptype" elements.
 
int 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 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 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 ElCount
 The number of "fptype" elements used to store 1 pixel.
 
int ElCountIO
 The number of source and destination image's elements used to store 1 pixel.
 
int 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 fppack
 The number of atomic types stored in a single "fptype" element.
 
double InGammaMult
 Input gamma multiplier, used to convert input data to 0 to 1 range. 0.0 if no gamma is in use.
 
bool IsResize2
 Use optimized "doResize2" function.
 
double k
 Resizing step coefficient, updated to reflect the actually used coefficient during resizing.
 
double o
 Starting pixel offset inside the source image, updated to reflect the actually used offset during resizing.
 
double OutGammaMult
 Output gamma multiplier, used to convert data to 0 to 255/65535 range. 0.0 if no gamma is in use.
 
double ox
 Start X pixel offset within source image (can be negative). Positive offset moves image to the left.
 
double oy
 Start Y pixel offset within source image (can be negative). Positive offset moves image to the top.
 
int packmode
 0 if interleaved packing, 1 if de-interleaved.
 
int ResizeStep
 Index of the resizing step in the latest filtering steps array.
 
int RndSeed
 Random seed parameter. This parameter may be incremented after each random generator initialization. The use of this variable depends on the ditherer implementation.
 
CImageResizerThreadPoolThreadPool
 Thread pool to be used by the image resizing function. Set to NULL to use single-threaded processing.
 
bool UseSRGBGamma
 Perform sRGB gamma linearization (correction).
 

Detailed Description

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.