AVIR
High-quality pro image resizing library
 All Classes Files Functions Variables Typedefs Macros
Public Types | Static Public Attributes | List of all members
avir::fpclass_def_dil< afptype, afptypesimd, adith > Class Template Reference

#include <avir_dil.h>

Public Types

typedef adith CDitherer
 
typedef
CImageResizerFilterStepDIL
< fptype, afptypesimd > 
CFilterStep
 
typedef afptype fptype
 
typedef afptype fptypeatom
 

Static Public Attributes

static const int elalign = sizeof( afptypesimd ) / sizeof( afptype )
 
static const int fpalign = sizeof( afptypesimd )
 
static const int fppack = 1
 
static const int packmode = 1
 

Detailed Description

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
afptypeFloating point type to use for storing intermediate data and variables. SIMD types should not be used.
afptypesimdSIMD type used to perform processing.
adithDitherer class to use during processing.

Member Typedef Documentation

template<class afptype , class afptypesimd , class adith = CImageResizerDithererDefDIL< afptype, afptypesimd >>
typedef adith avir::fpclass_def_dil< afptype, afptypesimd, adith >::CDitherer

Ditherer class to use during processing.

template<class afptype , class afptypesimd , class adith = CImageResizerDithererDefDIL< afptype, afptypesimd >>
typedef CImageResizerFilterStepDIL< fptype, afptypesimd > avir::fpclass_def_dil< afptype, afptypesimd, adith >::CFilterStep

Filtering step class to use during processing.

template<class afptype , class afptypesimd , class adith = CImageResizerDithererDefDIL< afptype, afptypesimd >>
typedef afptype avir::fpclass_def_dil< afptype, afptypesimd, adith >::fptype

Floating-point type to use during processing.

template<class afptype , class afptypesimd , class adith = CImageResizerDithererDefDIL< afptype, afptypesimd >>
typedef afptype avir::fpclass_def_dil< afptype, afptypesimd, adith >::fptypeatom

Atomic type "fptype" consists of.

Member Data Documentation

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 >>
const int avir::fpclass_def_dil< afptype, afptypesimd, adith >::fpalign = sizeof( afptypesimd )
static

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).

template<class afptype , class afptypesimd , class adith = CImageResizerDithererDefDIL< afptype, afptypesimd >>
const int avir::fpclass_def_dil< afptype, afptypesimd, adith >::fppack = 1
static

The number of atomic types stored in a single "fptype" element.

template<class afptype , class afptypesimd , class adith = CImageResizerDithererDefDIL< afptype, afptypesimd >>
const int avir::fpclass_def_dil< afptype, afptypesimd, adith >::packmode = 1
static

0 if interleaved packing, 1 if de-interleaved.