Dirac - A Video Codec

Created by the British Broadcasting Corporation.


Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes

dirac::FieldSequenceCompressor Class Reference

Compresses a sequence of fields from a stream. More...

#include <seq_compress.h>

Inheritance diagram for dirac::FieldSequenceCompressor:
Inheritance graph
[legend]
Collaboration diagram for dirac::FieldSequenceCompressor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Protected Member Functions

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

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.

Parameters:
pinan input stream containing a sequence of frames
encpparameters for the encoding process
dirac_byte_streamOutput destination for compressed data
virtual dirac::FieldSequenceCompressor::~FieldSequenceCompressor ( ) [virtual]

Destructor. Must delete IO objects created by constructor.


Member Function Documentation

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.

Parameters:
pnumthe 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.

Returns:
true - if both fields load succeeded. false - otherwise

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]
virtual void dirac::FieldSequenceCompressor::UpdateCBRModel ( EncPicture my_picture,
const PictureByteIO picture_byteio 
) [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.