A virtual parent class to do vertical and horizontal splitting with wavelet filters.
#include <wavelet_utils.h>
List of all members.
Public Member Functions
- VHFilter ()
- virtual ~VHFilter ()
- virtual void Split (const int xp, const int yp, const int xl, const int yl, CoeffArray &coeff_data)=0
- Split a subband into 4.
- virtual void Synth (const int xp, const int yp, const int xl, const int yl, CoeffArray &coeff_data)=0
- Create a single band from 4 quadrant bands.
- virtual int GetShift () const =0
- Return the value of the additional bitshift.
Protected Member Functions
- void Interleave (const int xp, const int yp, const int xl, const int yl, CoeffArray &coeff_data)
- Interleave data from separate subbands into even and odd positions for in-place calculation - called by Synth.
- void DeInterleave (const int xp, const int yp, const int xl, const int yl, CoeffArray &coeff_data)
- De-interleave data even and odd positions into separate subbands - called by Split.
- void ShiftRowLeft (CoeffType *row, int length, int shift)
- Shift all vals in Row by 'shift' bits to the left to increase accuracy by 'shift' bits. Used in Analysis stage of filter.
- void ShiftRowRight (CoeffType *row, int length, int shift)
- Shift all vals in Row by 'shift' bits to the right to counter the shift in the Analysis stage. This function is used in the Synthesis stage.
Constructor & Destructor Documentation
dirac::VHFilter::VHFilter |
( |
| ) |
[inline] |
virtual dirac::VHFilter::~VHFilter |
( |
| ) |
[inline, virtual] |
Member Function Documentation
void dirac::VHFilter::DeInterleave |
( |
const int |
xp, |
|
|
const int |
yp, |
|
|
const int |
xl, |
|
|
const int |
yl, |
|
|
CoeffArray & |
coeff_data |
|
) |
| [inline, protected] |
virtual int dirac::VHFilter::GetShift |
( |
| ) |
const [pure virtual] |
void dirac::VHFilter::Interleave |
( |
const int |
xp, |
|
|
const int |
yp, |
|
|
const int |
xl, |
|
|
const int |
yl, |
|
|
CoeffArray & |
coeff_data |
|
) |
| [inline, protected] |
void dirac::VHFilter::ShiftRowLeft |
( |
CoeffType * |
row, |
|
|
int |
length, |
|
|
int |
shift |
|
) |
| [protected] |
void dirac::VHFilter::ShiftRowRight |
( |
CoeffType * |
row, |
|
|
int |
length, |
|
|
int |
shift |
|
) |
| [protected] |
virtual void dirac::VHFilter::Split |
( |
const int |
xp, |
|
|
const int |
yp, |
|
|
const int |
xl, |
|
|
const int |
yl, |
|
|
CoeffArray & |
coeff_data |
|
) |
| [pure virtual] |
virtual void dirac::VHFilter::Synth |
( |
const int |
xp, |
|
|
const int |
yp, |
|
|
const int |
xl, |
|
|
const int |
yl, |
|
|
CoeffArray & |
coeff_data |
|
) |
| [pure virtual] |
The documentation for this class was generated from the following file: