Dirac - A Video Codec
Created by the British Broadcasting Corporation.
dirac::WaveletTransform::VHFilter Class Reference
A virtual parent class to do vertical and horizontal splitting with wavelet filters.
Inheritance diagram for dirac::WaveletTransform::VHFilter:
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, PicArray &pic_data)=0
- Split a subband into 4.
- virtual void Synth (const int xp, const int yp, const int xl, const int yl, PicArray &pic_data)=0
- Create a single band from 4 quadrant bands.
- virtual double GetLowFactor () const =0
- Return a correction factor to compensate for non-unity gain of low-pass filter.
- virtual double GetHighFactor () const =0
- Return a correction factor to compensate for non-unity gain of high-pass filter.
Protected Member Functions
- void Interleave (const int xp, const int yp, const int xl, const int yl, PicArray &pic_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, PicArray &pic_data)
- De-interleave data even and odd positions into separate subbands - called by Split.
- void ShiftRowLeft (ValueType *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 (ValueType *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::WaveletTransform::VHFilter::VHFilter |
( |
|
) |
[inline] |
| virtual dirac::WaveletTransform::VHFilter::~VHFilter |
( |
|
) |
[inline, virtual] |
Member Function Documentation
| void dirac::WaveletTransform::VHFilter::DeInterleave |
( |
const int |
xp, |
|
|
const int |
yp, |
|
|
const int |
xl, |
|
|
const int |
yl, |
|
|
PicArray & |
pic_data | |
|
) |
| | [inline, protected] |
| virtual double dirac::WaveletTransform::VHFilter::GetHighFactor |
( |
|
) |
const [pure virtual] |
| virtual double dirac::WaveletTransform::VHFilter::GetLowFactor |
( |
|
) |
const [pure virtual] |
| void dirac::WaveletTransform::VHFilter::Interleave |
( |
const int |
xp, |
|
|
const int |
yp, |
|
|
const int |
xl, |
|
|
const int |
yl, |
|
|
PicArray & |
pic_data | |
|
) |
| | [inline, protected] |
| void dirac::WaveletTransform::VHFilter::ShiftRowLeft |
( |
ValueType * |
row, |
|
|
int |
length, |
|
|
int |
shift | |
|
) |
| | [protected] |
| void dirac::WaveletTransform::VHFilter::ShiftRowRight |
( |
ValueType * |
row, |
|
|
int |
length, |
|
|
int |
shift | |
|
) |
| | [protected] |
| virtual void dirac::WaveletTransform::VHFilter::Split |
( |
const int |
xp, |
|
|
const int |
yp, |
|
|
const int |
xl, |
|
|
const int |
yl, |
|
|
PicArray & |
pic_data | |
|
) |
| | [pure virtual] |
| virtual void dirac::WaveletTransform::VHFilter::Synth |
( |
const int |
xp, |
|
|
const int |
yp, |
|
|
const int |
xl, |
|
|
const int |
yl, |
|
|
PicArray & |
pic_data | |
|
) |
| | [pure virtual] |
The documentation for this class was generated from the following file:
© 2004 British Broadcasting Corporation.
Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's
excellent Doxygen tool.