template<class afptype, class afptypesimd, class adith = CImageResizerDithererDefDIL< afptype, afptypesimd >>
class avir::fpclass_def_dil< afptype, afptypesimd, adith >
Floating-point processing definition and abstraction class for de-interleaved processing.
This class defines several constants and typedefs that point to classes that should be used by the image resizing algorithm. This implementation points to de-interleaved processing classes.
- Template Parameters
-
afptype | Floating point type to use for storing intermediate data and variables. SIMD types should not be used. |
afptypesimd | SIMD type used to perform processing. |
adith | Ditherer class to use during processing. |
template<class afptype , class afptypesimd , class adith = CImageResizerDithererDefDIL< afptype, afptypesimd >>
const int avir::fpclass_def_dil< afptype, afptypesimd, adith >::elalign = sizeof( afptypesimd ) / sizeof( afptype ) |
|
static |
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.
template<class afptype , class afptypesimd , class adith = CImageResizerDithererDefDIL< afptype, afptypesimd >>
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).