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:
[legend]List of all members.Public Member Functions
Private Member Functions
- PictureCompressor (const PictureCompressor &cpy)
- Copy constructor is private and body-less.
- PictureCompressor & operator= (const PictureCompressor &rhs)
- Assignment = is private and body-less.
- void InitCoeffData (CoeffArray &coeff_data, const int xl, const int yl)
- Initialise the coefficient data array for holding wavelet coefficients.
- void AnalyseMEData (const MEData &)
- Analyses the ME data and returns true if a cut is detected, false otherwise.
- void CompressMVData (MvDataByteIO *mv_data)
- Compresses the motion vector data.
- float GetCompLambda (const PictureParams &fparams, const CompSort csort)
- Returns the value lambda according to picture and component type.
- void SelectQuantisers (CoeffArray &coeff_data, SubbandList &bands, const float lambda, OneDArray< unsigned int > &est_counts, const CodeBlockMode cb_mode, const PictureParams &pp, const CompSort csort)
- int SelectMultiQuants (CoeffArray &coeff_data, SubbandList &bands, const int band_num, const float lambda, const PictureParams &pp, const CompSort csort)
- void SetupCodeBlocks (SubbandList &bands)
- void AddSubAverage (CoeffArray &coeff_data, int xl, int yl, AddOrSub dirn)
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:
-
|
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::AnalyseMEData |
( |
const MEData & |
|
) |
[private] |
|
|
Compresses a specified picture within a group of pictures. - Parameters:
-
my_fbuffer | picture buffer in which the reference frames resides |
fnum | picture number to compress |
- Returns:
- Compressed picture in Dirac bytestream format
|
void dirac::PictureCompressor::CompressMVData |
( |
MvDataByteIO * |
mv_data |
) |
[private] |
|
float dirac::PictureCompressor::GetCompLambda |
( |
const PictureParams & |
fparams, |
|
|
const CompSort |
csort |
|
) |
[private] |
|
const MEData* dirac::PictureCompressor::GetMEData |
( |
|
) |
const |
|
void dirac::PictureCompressor::InitCoeffData |
( |
CoeffArray & |
coeff_data, |
|
|
const int |
xl, |
|
|
const int |
yl |
|
) |
[private] |
|
bool dirac::PictureCompressor::IsMEDataAvail |
( |
|
) |
const [inline] |
|
bool dirac::PictureCompressor::IsSkipped |
( |
|
) |
[inline] |
|
bool dirac::PictureCompressor::MotionEstimate |
( |
const PictureBuffer & |
my_fbuffer, |
|
|
int |
fnum |
|
) |
|
|
|
Performs motion estimation for a picture and writes the data locally - Parameters:
-
my_fbuffer | picture buffer of uncoded originals |
fnum | picture number to compress |
- Returns:
- true if a cut is detected.
|
|
Assignment = is private and body-less. This class should not be assigned. |
void dirac::PictureCompressor::SetupCodeBlocks |
( |
SubbandList & |
bands |
) |
[private] |
|
Member Data Documentation
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.