# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

Public Member Functions | Protected Member Functions | List of all members
dirac::VHFilter Class Referenceabstract

A virtual parent class to do vertical and horizontal splitting with wavelet filters.

`#include <wavelet_utils.h>`

Inheritance diagram for dirac::VHFilter:

## 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. More...
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. More...
virtual int | GetShift () const =0
| Return the value of the additional bitshift. More...

## 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. More...
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. More...
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. More...
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. More...

## 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

Implemented in dirac::VHFilterHAAR2, dirac::VHFilterHAAR1, dirac::VHFilterHAAR0, dirac::VHFilterDD13_7, dirac::VHFilterDD9_7, dirac::VHFilterLEGALL5_3, and dirac::VHFilterDAUB9_7.

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

Implemented in dirac::VHFilterHAAR2, dirac::VHFilterHAAR1, dirac::VHFilterHAAR0, dirac::VHFilterDD13_7, dirac::VHFilterDD9_7, dirac::VHFilterLEGALL5_3, and dirac::VHFilterDAUB9_7.

virtual void dirac::VHFilter::Synth | ( | const int | xp,
|  | const int | yp,
|  | const int | xl,
|  | const int | yl,
|  | CoeffArray & | coeff_data
| ) |  |
| pure virtual

Implemented in dirac::VHFilterHAAR2, dirac::VHFilterHAAR1, dirac::VHFilterHAAR0, dirac::VHFilterDD13_7, dirac::VHFilterDD9_7, dirac::VHFilterLEGALL5_3, and dirac::VHFilterDAUB9_7.

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

- wavelet_utils.h

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