#include <avir_dil.h>
Public Member Functions | |
void | dither (fptype *const ResScanline) |
void | init (const int aLen, const CImageResizerVars &aVars, const double aTrMul, const double aPkOut) |
Static Public Member Functions | |
static bool | isRecursive () |
Protected Attributes | |
int | Len |
int | LenE |
double | PkOut0 |
fptype * | ResScanlineDith |
CBuffer< fptype > | ResScanlineDith0 |
double | TrMul0 |
const CImageResizerVars * | Vars |
Image resizer's error-diffusion dithering class, de-interleaved mode.
This ditherer implements error-diffusion dithering which looks good, and whose results are compressed by PNG well.
fptype | Floating point type to use for storing pixel data. SIMD types cannot be used. |
fptypesimd | Processing type, SIMD can be used. |
void avir::CImageResizerDithererErrdDIL< fptype, fptypesimd >::init | ( | const int | aLen, |
const CImageResizerVars & | aVars, | ||
const double | aTrMul, | ||
const double | aPkOut | ||
) |
Function initializes the ditherer object.
aLen | Scanline length in pixels to process. |
aVars | Image resizing-related variables. |
aTrMul | Bit-depth truncation multiplier. 1 - no additional truncation. |
aPkOut | Peak output value allowed. |
|
protected |
Scanline's length in pixels.
|
protected |
= LenE * ElCount.
|
protected |
Peak output value allowed.
|
protected |
Error propagation buffer pointer which skips the first ElCount elements.
|
protected |
Error propagation buffer for dithering, first pixel unused.
|
protected |
Bit-depth truncation multiplier.
|
protected |
Image resizing-related variables.