# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

Public Member Functions | Private Member Functions | Private Attributes
dirac::PictureDecompressor Class Reference

Compress a single image picture. More...

`#include <picture_decompress.h>`

List of all members.

## Public Member Functions
| PictureDecompressor (DecoderParams &decp, ChromaFormat cf)
| Constructor.
| ~PictureDecompressor ()
| Destructor.
bool | Decompress (ParseUnitByteIO &parseunit_byteio, PictureBuffer &my_buffer)
| Decompress the next picture into the buffer.
const PictureParams & | GetPicParams () const
| Returns the picture parameters of the current picture being decoded.

## Private Member Functions
| PictureDecompressor (const PictureDecompressor &cpy)
| Copy constructor is private and body-less.
PictureDecompressor & | operator= (const PictureDecompressor &rhs)
| Assignment = is private and body-less.
void | InitCoeffData (CoeffArray &coeff_data, const int xl, const int yl)
| Initialise the padded coefficient data for the IDWT and subband decoding.
void | CleanReferencePictures (PictureBuffer &my_buffer)
| Removes all the reference pictures in the retired list.
void | CompDecompress (TransformByteIO *p_transform_byteio, PictureBuffer &my_buffer, int pnum, CompSort cs)
| Decodes component data.
void | DecompressMVData (std::auto_ptr< MvData > &mv_data, PictureByteIO &picture_byteio)
| Decodes the motion data.
void | SetMVBlocks ()
| Set the number of superblocks and blocks.
void | PushPicture (PictureBuffer &my_buffer)
| Add a picture to the picture buffer.

## Private Attributes
DecoderParams & | m_decparams
| Parameters for the decompression, as provided in constructor.
ChromaFormat | m_cformat
| Chroma format of the picture being decompressed.
bool | m_skipped
| An indicator which is true if the picture has been skipped, false otherwise.
bool | m_use_global
| An indicator that is true if we use global motion vectors, false otherwise.
bool | m_use_block_mv
| An indicator that is true if we use block motion vectors, false otherwise.
PredMode | m_global_pred_mode
| Prediction mode to use if we only have global motion vectors.
PictureParams | m_pparams
| Current Picture Parameters.

## Detailed Description

This class decompresses a single picture at a time, using parameters supplied at its construction. PictureDecompressor is used by SequenceDecompressor.

## Constructor & Destructor Documentation

dirac::PictureDecompressor::PictureDecompressor | ( | DecoderParams & | decp,
|  | ChromaFormat | cf
| ) |  |

Creates a PictureDecompressor with specific set of parameters the control the decompression process. It decodes motion data before decoding each component of the picture.

Parameters:

  decp | decoder parameters
  cf | the chroma format of the picture being decompressed

dirac::PictureDecompressor::~PictureDecompressor | ( |  | ) |

Releases resources.

dirac::PictureDecompressor::PictureDecompressor | ( | const PictureDecompressor & | cpy | ) |
| private

Copy constructor is private and body-less. This class should not be copied.

## Member Function Documentation

void dirac::PictureDecompressor::CleanReferencePictures | ( | PictureBuffer & | my_buffer | ) |
| private

void dirac::PictureDecompressor::CompDecompress | ( | TransformByteIO * | p_transform_byteio,
|  | PictureBuffer & | my_buffer,
|  | int | pnum,
|  | CompSort | cs
| ) |  |
| private

bool dirac::PictureDecompressor::Decompress | ( | ParseUnitByteIO & | parseunit_byteio,
|  | PictureBuffer & | my_buffer
| ) |  |

Decompresses the next picture from the stream and place at the end of a picture buffer. Returns true if able to decode successfully, false otherwise

Parameters:

  parseunit_byteio | Picture info in Dirac-stream format
  my_buffer | picture buffer into which the picture is placed

void dirac::PictureDecompressor::DecompressMVData | ( | std::auto_ptr< MvData > & | mv_data,
|  | PictureByteIO & | picture_byteio
| ) |  |
| private

const PictureParams& dirac::PictureDecompressor::GetPicParams | ( |  | ) | const
| inline

References m_pparams.

void dirac::PictureDecompressor::InitCoeffData | ( | CoeffArray & | coeff_data,
|  | const int | xl,
|  | const int | yl
| ) |  |
| private

PictureDecompressor& dirac::PictureDecompressor::operator= | ( | const PictureDecompressor & | rhs | ) |
| private

Assignment = is private and body-less. This class should not be assigned.

void dirac::PictureDecompressor::PushPicture | ( | PictureBuffer & | my_buffer | ) |
| private

void dirac::PictureDecompressor::SetMVBlocks | ( |  | ) |
| private

## Member Data Documentation

ChromaFormat dirac::PictureDecompressor::m_cformat
| private

DecoderParams& dirac::PictureDecompressor::m_decparams
| private

PredMode dirac::PictureDecompressor::m_global_pred_mode
| private

PictureParams dirac::PictureDecompressor::m_pparams
| private

Referenced by GetPicParams().

bool dirac::PictureDecompressor::m_skipped
| private

bool dirac::PictureDecompressor::m_use_block_mv
| private

bool dirac::PictureDecompressor::m_use_global
| private

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

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