xoreos  0.0.5
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Common::DCT Class Reference

(Inverse) Discrete Cosine Transforms. More...

#include <dct.h>

Inheritance diagram for Common::DCT:
Inheritance graph
[legend]
Collaboration diagram for Common::DCT:
Collaboration graph
[legend]

Public Types

enum  TransformType { DCT_II, DCT_III, DCT_I, DST_I }
 

Public Member Functions

 DCT (int bits, TransformType trans)
 
 ~DCT ()
 
void calc (float *data)
 

Private Member Functions

void calcDCTI (float *data)
 
void calcDCTII (float *data)
 
void calcDCTIII (float *data)
 
void calcDSTI (float *data)
 

Private Attributes

int _bits
 
TransformType _trans
 
const float * _tCos
 
ScopedPtr< RDFT_rdft
 
ScopedArray< float > _csc2
 

Detailed Description

(Inverse) Discrete Cosine Transforms.

Definition at line 66 of file dct.h.

Member Enumeration Documentation

◆ TransformType

Enumerator
DCT_II 
DCT_III 
DCT_I 
DST_I 

Definition at line 68 of file dct.h.

Constructor & Destructor Documentation

◆ DCT()

Common::DCT::DCT ( int  bits,
TransformType  trans 
)

Definition at line 60 of file dct.cpp.

References _bits, _csc2, _rdft, _tCos, _trans, DCT_III, Common::RDFT::DFT_R2C, Common::getCosineTable(), Common::RDFT::IDFT_C2R, M_PI, and Common::ScopedPtrBase< T, Deallocator >::reset().

Here is the call graph for this function:

◆ ~DCT()

Common::DCT::~DCT ( )

Definition at line 73 of file dct.cpp.

Member Function Documentation

◆ calc()

void Common::DCT::calc ( float *  data)

Definition at line 76 of file dct.cpp.

References _trans, calcDCTI(), calcDCTII(), calcDCTIII(), calcDSTI(), DCT_I, DCT_II, DCT_III, and DST_I.

Here is the call graph for this function:

◆ calcDCTI()

void Common::DCT::calcDCTI ( float *  data)
private

Definition at line 101 of file dct.cpp.

References _bits, _rdft, COS, and SIN.

Referenced by calc().

Here is the caller graph for this function:

◆ calcDCTII()

void Common::DCT::calcDCTII ( float *  data)
private

Definition at line 133 of file dct.cpp.

References _bits, _rdft, COS, and SIN.

Referenced by calc().

Here is the caller graph for this function:

◆ calcDCTIII()

void Common::DCT::calcDCTIII ( float *  data)
private

Definition at line 170 of file dct.cpp.

References _bits, _csc2, _rdft, COS, and SIN.

Referenced by calc().

Here is the caller graph for this function:

◆ calcDSTI()

void Common::DCT::calcDSTI ( float *  data)
private

Definition at line 204 of file dct.cpp.

References _bits, _rdft, and SIN.

Referenced by calc().

Here is the caller graph for this function:

Member Data Documentation

◆ _bits

int Common::DCT::_bits
private

Definition at line 81 of file dct.h.

Referenced by calcDCTI(), calcDCTII(), calcDCTIII(), calcDSTI(), and DCT().

◆ _csc2

ScopedArray<float> Common::DCT::_csc2
private

Definition at line 88 of file dct.h.

Referenced by calcDCTIII(), and DCT().

◆ _rdft

ScopedPtr<RDFT> Common::DCT::_rdft
private

Definition at line 86 of file dct.h.

Referenced by calcDCTI(), calcDCTII(), calcDCTIII(), calcDSTI(), and DCT().

◆ _tCos

const float* Common::DCT::_tCos
private

Definition at line 84 of file dct.h.

Referenced by DCT().

◆ _trans

TransformType Common::DCT::_trans
private

Definition at line 82 of file dct.h.

Referenced by calc(), and DCT().


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