Ocean
Ocean::DiscreteCosineTransform Class Reference

This class implements discrete cosine transform functions. More...

Static Public Member Functions

static void transform2 (const Scalar *data, const unsigned int xElements, const unsigned int yElements, Scalar *coefficients)
 Applies a 2D discrete cosine transform for a given 2D data block. More...
 
static void transform2 (const Scalar *data, const unsigned int xElements, const unsigned int yElements, const unsigned int stride, Scalar *coefficients)
 Applies a 2D discrete cosine transform for a given 2D data block that might be larger than the actual DCT data block. More...
 
static void iTransform2 (const Scalar *coefficients, const unsigned int xElements, const unsigned int yElements, Scalar *data)
 Applies a inverse 2D discrete cosine transform for a given set of DCT coefficients. More...
 
static void iTransform2 (const Scalar *coefficients, const unsigned int xElements, const unsigned int yElements, const unsigned int stride, Scalar *data)
 Applies a inverse 2D discrete cosine transform for a given set of DCT coefficients. More...
 

Detailed Description

This class implements discrete cosine transform functions.

Member Function Documentation

◆ iTransform2() [1/2]

static void Ocean::DiscreteCosineTransform::iTransform2 ( const Scalar coefficients,
const unsigned int  xElements,
const unsigned int  yElements,
const unsigned int  stride,
Scalar data 
)
static

Applies a inverse 2D discrete cosine transform for a given set of DCT coefficients.

Parameters
coefficientsDCT coefficients from that the data information will be recovered
xElementsNumber of horizontal data elements, with range [1, infinity)
yElementsNumber of vertical data elements, with range [1, infinity)
strideWidth of the data information including the xElements, with range [xElements, infinity)
dataResulting data block, a data block that might be larger than the actual number of DCT coefficients as an explicit stride parameter can be defined

◆ iTransform2() [2/2]

void Ocean::DiscreteCosineTransform::iTransform2 ( const Scalar coefficients,
const unsigned int  xElements,
const unsigned int  yElements,
Scalar data 
)
inlinestatic

Applies a inverse 2D discrete cosine transform for a given set of DCT coefficients.

Parameters
coefficientsDCT coefficients from that the data information will be recovered
xElementsNumber of horizontal data elements, with range [1, infinity)
yElementsNumber of vertical data elements, with range [1, infinity)
dataResulting data block, an array with xElements * yElements values must be provided

◆ transform2() [1/2]

static void Ocean::DiscreteCosineTransform::transform2 ( const Scalar data,
const unsigned int  xElements,
const unsigned int  yElements,
const unsigned int  stride,
Scalar coefficients 
)
static

Applies a 2D discrete cosine transform for a given 2D data block that might be larger than the actual DCT data block.

The resulting coefficients are stored in an row aligned order.

Parameters
dataData block for that the transform is applied (pointer to the first element)
xElementsNumber of horizontal data elements, with range [1, infinity)
yElementsNumber of vertical data elements, with range [1, infinity)
strideWidth of the entire data information including the xElements, with range [xElements, infinity)
coefficientsResulting number of coefficients, an array with xElements * yElements values must be provided

◆ transform2() [2/2]

void Ocean::DiscreteCosineTransform::transform2 ( const Scalar data,
const unsigned int  xElements,
const unsigned int  yElements,
Scalar coefficients 
)
inlinestatic

Applies a 2D discrete cosine transform for a given 2D data block.

The resulting coefficients are stored in an row aligned order.

Parameters
dataData block for that the transform is applied
xElementsNumber of horizontal data elements, with range [1, infinity)
yElementsNumber of vertical data elements, with range [1, infinity)
coefficientsResulting number of coefficients, an array with xElements * yElements values must be provided

The documentation for this class was generated from the following file: