Dirac - A Video Codec
Created by the British Broadcasting Corporation.
dirac::FrameCompressor Class Reference
Compress a single image frame.
More...
#include <frame_compress.h>
Collaboration diagram for dirac::FrameCompressor:
[legend]List of all members.Public Member Functions
Private Member Functions
- FrameCompressor (const FrameCompressor &cpy)
- Copy constructor is private and body-less.
- FrameCompressor & operator= (const FrameCompressor &rhs)
- Assignment = is private and body-less.
- 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 FrameParams &fparams, const CompSort csort)
- Returns the value lambda according to frame and component type.
- void SelectQuantisers (CoeffArray &coeff_data, SubbandList &bands, const float lambda, OneDArray< unsigned int > &est_counts, const CodeBlockMode cb_mode, const FrameSort fsort, const CompSort csort)
- int SelectMultiQuants (CoeffArray &coeff_data, SubbandList &bands, const int band_num, const float lambda, const FrameSort fsort, 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 frame at a time, using parameters supplied at its construction. FrameCompressor is used by SequenceCompressor.
Constructor & Destructor Documentation
|
Creates a FrameEncoder with specific set of parameters the control the compression process. It encodes motion data before encoding each component of the frame. - Parameters:
-
|
dirac::FrameCompressor::FrameCompressor |
( |
const FrameCompressor & |
cpy |
) |
[private] |
|
|
Copy constructor is private and body-less. This class should not be copied. |
Member Function Documentation
void dirac::FrameCompressor::AddSubAverage |
( |
CoeffArray & |
coeff_data, |
|
|
int |
xl, |
|
|
int |
yl, |
|
|
AddOrSub |
dirn |
|
) |
[private] |
|
void dirac::FrameCompressor::AnalyseMEData |
( |
const MEData & |
|
) |
[private] |
|
|
Compresses a specified frame within a group of pictures. - Parameters:
-
| my_fbuffer | picture buffer in which the reference frames resides |
| fnum | frame number to compress |
- Returns:
- Compressed frame in Dirac bytestream format
|
void dirac::FrameCompressor::CompressMVData |
( |
MvDataByteIO * |
mv_data |
) |
[private] |
|
float dirac::FrameCompressor::GetCompLambda |
( |
const FrameParams & |
fparams, |
|
|
const CompSort |
csort |
|
) |
[private] |
|
const MEData* dirac::FrameCompressor::GetMEData |
( |
|
) |
const |
|
bool dirac::FrameCompressor::IsMEDataAvail |
( |
|
) |
const [inline] |
|
bool dirac::FrameCompressor::IsSkipped |
( |
|
) |
[inline] |
|
bool dirac::FrameCompressor::MotionEstimate |
( |
const FrameBuffer & |
my_fbuffer, |
|
|
int |
fnum |
|
) |
|
|
|
Performs motion estimation for a frame and writes the data locally - Parameters:
-
| my_fbuffer | picture buffer of uncoded originals |
| fnum | frame number to compress |
- Returns:
- true if a cut is detected.
|
|
Assignment = is private and body-less. This class should not be assigned. |
void dirac::FrameCompressor::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.