Created by the British Broadcasting Corporation.
Compress a single image picture. More...
#include <picture_compress.h>
Public Member Functions | |
| PictureCompressor (EncoderParams &encp) | |
| Constructor. More... | |
| ~PictureCompressor () | |
| Destructor. More... | |
| void | PixelME (EncQueue &my_buffer, int pnum) |
| Do pixel accurate motion estimate. More... | |
| void | CalcComplexity (EncQueue &my_buffer, int pnum, const OLBParams &olbparams) |
| Calculate the complexity of a picture. More... | |
| void | CalcComplexity2 (EncQueue &my_buffer, int pnum) |
| void | NormaliseComplexity (EncQueue &my_buffer, int pnum) |
| Normalise picture complexity with respect to others in the queue. More... | |
| void | SubPixelME (EncQueue &my_buffer, int pnum) |
| Do subpixel accurate motion vector refinement. More... | |
| void | ModeDecisionME (EncQueue &my_buffer, int pnum) |
| Do mode decision based on sub-pel vectors. More... | |
| void | IntraModeAnalyse (EncQueue &my_buffer, int pnum) |
| Detect cuts in the current picture. More... | |
| void | MotionCompensate (EncQueue &my_buffer, int pnum, AddOrSub dirn) |
| Does motion compensation on picture pnum (forward or backward) More... | |
| void | Prefilter (EncQueue &my_buffer, int pnum) |
| Prefilter if required. More... | |
| void | DoDWT (EncQueue &my_buffer, int pnum, Direction dirn) |
| Do the DWT on a given picture. More... | |
| void | CodeResidue (EncQueue &my_pbuffer, int pnum, PictureByteIO *pic_byteio) |
| Compress a specific picture within a group of pictures (GOP) More... | |
| void | CodeMVData (EncQueue &my_buffer, int pnum, PictureByteIO *pic_byteio) |
| Compresses the motion vector data. More... | |
| bool | IsSkipped () |
| Returns true if the picture has been skipped rather than coded normally. More... | |
| bool | IsMEDataAvail () const |
| Returns true if Motion estimation data is available. More... | |
| const MEData * | GetMEData () const |
| Returns the motion estimation data. More... | |
Private Member Functions | |
| PictureCompressor (const PictureCompressor &cpy) | |
| Copy constructor is private and body-less. More... | |
| PictureCompressor & | operator= (const PictureCompressor &rhs) |
| Assignment = is private and body-less. More... | |
| void | InitCoeffData (CoeffArray &coeff_data, const int xl, const int yl) |
| Initialise the coefficient data array for holding wavelet coefficients. More... | |
| float | GetCompLambda (const EncPicture &my_picture, const CompSort csort) |
| Returns the value lambda according to picture and component type. More... | |
| 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 | |
| EncoderParams & | m_encparams |
| bool | m_skipped |
| bool | m_use_global |
| bool | m_use_block_mv |
| PredMode | m_global_pred_mode |
| MEData * | m_me_data |
| bool | m_medata_avail |
| bool | m_is_a_cut |
| MVPrecisionType | m_orig_prec |
This class compresses a single picture at a time, using parameters supplied at its construction. PictureCompressor is used by SequenceCompressor.
| 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.
| encp | encoder parameters |
Referenced by IsMEDataAvail().
| dirac::PictureCompressor::~PictureCompressor | ( | ) |
|
private |
Copy constructor is private and body-less. This class should not be copied.
|
private |
Referenced by IsMEDataAvail().
| 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.
| my_pbuffer | picture buffer in which the reference frames resides |
| pnum | picture number to compress |
| pic_byteio | compressed picture in Dirac bytestream format |
|
private |
Referenced by IsMEDataAvail().
| const MEData* dirac::PictureCompressor::GetMEData | ( | ) | const |
Referenced by IsMEDataAvail().
|
private |
Referenced by IsMEDataAvail().
| void dirac::PictureCompressor::IntraModeAnalyse | ( | EncQueue & | my_buffer, |
| int | pnum | ||
| ) |
|
inline |
|
inline |
References m_skipped.
| void dirac::PictureCompressor::ModeDecisionME | ( | EncQueue & | my_buffer, |
| int | pnum | ||
| ) |
| void dirac::PictureCompressor::NormaliseComplexity | ( | EncQueue & | my_buffer, |
| int | pnum | ||
| ) |
|
private |
Assignment = is private and body-less. This class should not be assigned.
Referenced by IsMEDataAvail().
| void dirac::PictureCompressor::PixelME | ( | EncQueue & | my_buffer, |
| int | pnum | ||
| ) |
| void dirac::PictureCompressor::Prefilter | ( | EncQueue & | my_buffer, |
| int | pnum | ||
| ) |
|
private |
Referenced by IsMEDataAvail().
|
private |
Referenced by IsMEDataAvail().
|
private |
Referenced by IsMEDataAvail().
| void dirac::PictureCompressor::SubPixelME | ( | EncQueue & | my_buffer, |
| int | pnum | ||
| ) |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by IsMEDataAvail().
|
private |
|
private |
Referenced by IsSkipped().
|
private |
|
private |
© 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.