Dirac - A Video Codec
Created by the British Broadcasting Corporation.
dirac::FieldSequenceCompressor Class Reference
Compresses a sequence of fields from a stream.
More...
#include <seq_compress.h>
Inheritance diagram for dirac::FieldSequenceCompressor:
[legend]Collaboration diagram for dirac::FieldSequenceCompressor:
[legend]List of all members.Public Member Functions
Protected Member Functions
- virtual const Frame & OriginalFrame (int frame_num)
- Return original un-encoded frame.
- virtual void CleanBuffers ()
- Remove unwanted frames from frame buffers.
- virtual int CodedToDisplay (const int pnum)
- Uses the GOP parameters to convert frame numbers in coded order to display order.
- virtual bool IsNewAccessUnit ()
- Return true if we need to start a new access unit. Purely virtual. The child class will have to define it.
- virtual void RateControlCompress (Frame &my_frame, bool is_a_cut)
- Compress the frame using constant bit rate coding. Purely virtual. The child class will have to define it.
Private Member Functions
Private Attributes
Detailed Description
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.
Constructor & Destructor Documentation
|
Creates a sequence compressor that compresses fields i.e. interlaced data, and prepares to begin compressing with the first field. - Parameters:
-
| pin | an input stream containing a sequence of frames |
| encp | parameters for the encoding process |
| dirac_byte_stream | Output destination for compressed data |
|
|
Destructor. Must delete IO objects created by constructor. |
Member Function Documentation
virtual void dirac::FieldSequenceCompressor::CleanBuffers |
( |
|
) |
[protected, virtual] |
|
virtual int dirac::FieldSequenceCompressor::CodedToDisplay |
( |
const int |
pnum |
) |
[protected, virtual] |
|
|
Uses the GOP parameters to convert frame numbers in coded order to display order. Pure virtual function. The child class will have to define it. - Parameters:
-
| pnum | the picture number in coded order |
Implements dirac::SequenceCompressor. |
virtual bool dirac::FieldSequenceCompressor::IsNewAccessUnit |
( |
|
) |
[protected, virtual] |
|
virtual bool dirac::FieldSequenceCompressor::LoadNextFrame |
( |
|
) |
[virtual] |
|
|
Load oen 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. - Returns:
- true - if both fields load succeeded. false - otherwise
Implements dirac::SequenceCompressor. |
virtual const Frame& dirac::FieldSequenceCompressor::OriginalFrame |
( |
int |
frame_num |
) |
[protected, virtual] |
|
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::RateControlCompress |
( |
Frame & |
my_frame, |
|
|
bool |
is_a_cut |
|
) |
[protected, virtual] |
|
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.