Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::PictureCompressor Class Reference

Compress a single image picture. More...

#include <picture_compress.h>

Collaboration diagram for dirac::PictureCompressor:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Private Member Functions

Private Attributes


Detailed Description

This class compresses a single picture at a time, using parameters supplied at its construction. PictureCompressor is used by SequenceCompressor.


Constructor & Destructor Documentation

dirac::PictureCompressor::PictureCompressor (  EncoderParams &  encp  ) 
 

Creates a FrameEncoder with specific set of parameters the control the compression process. It encodes motion data before encoding each component of the picture.

Parameters:
encp encoder parameters

dirac::PictureCompressor::~PictureCompressor (   ) 
 

dirac::PictureCompressor::PictureCompressor (  const PictureCompressor &  cpy  )  [private]
 

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


Member Function Documentation

void dirac::PictureCompressor::AddSubAverage (  CoeffArray &  coeff_data,
int  xl,
int  yl,
AddOrSub  dirn
)  [private]
 

void dirac::PictureCompressor::CalcComplexity (  EncQueue &  my_buffer,
int  pnum,
const OLBParams &  olbparams
) 
 

void dirac::PictureCompressor::CalcComplexity2 (  EncQueue &  my_buffer,
int  pnum
) 
 

void dirac::PictureCompressor::CodeMVData (  EncQueue &  my_buffer,
int  pnum,
PictureByteIO *  pic_byteio
) 
 

void dirac::PictureCompressor::CodeResidue (  EncQueue &  my_pbuffer,
int  pnum,
PictureByteIO *  pic_byteio
) 
 

Compresses a specified picture within a group of pictures.

Parameters:
my_pbuffer picture buffer in which the reference frames resides
pnum picture number to compress
pic_byteio compressed picture in Dirac bytestream format

void dirac::PictureCompressor::DoDWT (  EncQueue &  my_buffer,
int  pnum,
Direction  dirn
) 
 

float dirac::PictureCompressor::GetCompLambda (  const EncPicture &  my_picture,
const CompSort  csort
)  [private]
 

const MEData* dirac::PictureCompressor::GetMEData (   )  const
 

void dirac::PictureCompressor::InitCoeffData (  CoeffArray &  coeff_data,
const int  xl,
const int  yl
)  [private]
 

void dirac::PictureCompressor::IntraModeAnalyse (  EncQueue &  my_buffer,
int  pnum
) 
 

bool dirac::PictureCompressor::IsMEDataAvail (   )  const [inline]
 

bool dirac::PictureCompressor::IsSkipped (   )  [inline]
 

void dirac::PictureCompressor::ModeDecisionME (  EncQueue &  my_buffer,
int  pnum
) 
 

void dirac::PictureCompressor::MotionCompensate (  EncQueue &  my_buffer,
int  pnum,
AddOrSub  dirn
) 
 

void dirac::PictureCompressor::NormaliseComplexity (  EncQueue &  my_buffer,
int  pnum
) 
 

PictureCompressor& dirac::PictureCompressor::operator= (  const PictureCompressor &  rhs  )  [private]
 

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

void dirac::PictureCompressor::PixelME (  EncQueue &  my_buffer,
int  pnum
) 
 

void dirac::PictureCompressor::Prefilter (  EncQueue &  my_buffer,
int  pnum
) 
 

int dirac::PictureCompressor::SelectMultiQuants (  CoeffArray &  coeff_data,
SubbandList &  bands,
const int  band_num,
const float  lambda,
const PictureParams &  pp,
const CompSort  csort
)  [private]
 

void dirac::PictureCompressor::SelectQuantisers (  CoeffArray &  coeff_data,
SubbandList &  bands,
const float  lambda,
OneDArray< unsigned int > &  est_counts,
const CodeBlockMode  cb_mode,
const PictureParams &  pp,
const CompSort  csort
)  [private]
 

void dirac::PictureCompressor::SetupCodeBlocks (  SubbandList &  bands  )  [private]
 

void dirac::PictureCompressor::SubPixelME (  EncQueue &  my_buffer,
int  pnum
) 
 


Member Data Documentation

EncoderParams& dirac::PictureCompressor::m_encparams [private]
 

PredMode dirac::PictureCompressor::m_global_pred_mode [private]
 

bool dirac::PictureCompressor::m_is_a_cut [private]
 

MEData* dirac::PictureCompressor::m_me_data [private]
 

bool dirac::PictureCompressor::m_medata_avail [private]
 

MVPrecisionType dirac::PictureCompressor::m_orig_prec [private]
 

bool dirac::PictureCompressor::m_skipped [private]
 

bool dirac::PictureCompressor::m_use_block_mv [private]
 

bool dirac::PictureCompressor::m_use_global [private]
 


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.