Created by the British Broadcasting Corporation.
Compresses a sequence of fields from a stream. More...
#include <seq_compress.h>
This class compresses a sequence of fields, field by field. It currently uses GOP parameters set in the encoder parameters in order to define the temporal prediction structure. A version to incorporate non-GOP structures is TBC.
dirac::FieldSequenceCompressor::FieldSequenceCompressor | ( | StreamPicInput * | pin, |
EncoderParams & | encp, | ||
DiracByteStream & | dirac_byte_stream | ||
) |
Creates a sequence compressor that compresses fields i.e. interlaced data, and prepares to begin compressing with the first field.
pin | an input stream containing a sequence of frames |
encp | parameters for the encoding process |
dirac_byte_stream | Output destination for compressed data |
virtual dirac::FieldSequenceCompressor::~FieldSequenceCompressor | ( | ) | [virtual] |
Destructor. Must delete IO objects created by constructor.
virtual int dirac::FieldSequenceCompressor::CodedToDisplay | ( | const int | pnum | ) | [protected, virtual] |
Uses the GOP parameters to convert picture numbers in coded order to display order. Pure virtual function. The child class will have to define it.
pnum | the picture number in coded order |
Implements dirac::SequenceCompressor.
virtual bool dirac::FieldSequenceCompressor::LoadNextFrame | ( | ) | [virtual] |
Load one frame i.e. two fields of data into the Sequence Compressor. Sets m_all_done to true if no more data is available to be loaded.
Implements dirac::SequenceCompressor.
void dirac::FieldSequenceCompressor::PreMotionEstmationFilter | ( | PicArray & | comp | ) | [private] |
Low pass filter the components in the fields used in Motion Estimation so that ME works better. Using a 1/4 1/2 1/4 filter
virtual void dirac::FieldSequenceCompressor::SetPicTypeAndRefs | ( | PictureParams & | pparams | ) | [virtual] |
Implements dirac::SequenceCompressor.
virtual void dirac::FieldSequenceCompressor::UpdateCBRModel | ( | EncPicture & | my_picture, |
const PictureByteIO * | picture_byteio | ||
) | [protected, virtual] |
Implements dirac::SequenceCompressor.
int dirac::FieldSequenceCompressor::m_field1_bytes [private] |
int dirac::FieldSequenceCompressor::m_field2_bytes [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.