Dirac - A Video Codec

Created by the British Broadcasting Corporation.


Public Member Functions | Private Member Functions | Private Attributes

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:
encpencoder 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_pbufferpicture buffer in which the reference frames resides
pnumpicture number to compress
pic_byteiocompressed 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]

References m_medata_avail.

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

References m_skipped.

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

Referenced by IsMEDataAvail().

Referenced by IsSkipped().


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.