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

Image resizing variables. More...

#include <avir.h>

Inheritance diagram for avir::CImageResizerVars:
avir::CImageResizerVarsBase

Public Attributes

int AlphaIndex
 Alpha-channel index, for 4-channel input. Default -1 applies gamma correction to all channels. Value of 0 or 3 bypasses gamma correction for alpha-channel at this index.
 
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.
 
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 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 nullptr to use single-threaded processing.
 
bool UseSRGBGamma
 Perform sRGB gamma linearization (correction).
 
- Public Attributes inherited from avir::CImageResizerVarsBase
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 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; 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; 255/65535] range. 0.0, if no gamma is in use.
 
int packmode
 0, if interleaved packing; 1, if de-interleaved.
 
int ResizeStep
 Index of the resizing step in the latest filtering steps array.
 

Detailed Description

Image resizing variables.

Variables defined in this class are used as additional "input" variables to the image resizing function. These variables will not be changed by the avir::CImageResizer<>::resizeImage() function.