41#ifndef _SEQ_COMPRESS_H_
42#define _SEQ_COMPRESS_H_
Definition of class SequenceHeaderByteIO.
Definition: accessunit_byteio.h:52
Class DiracByteStats - for collecting statistics on aspects of the Dirac byte-stream.
Definition: dirac_byte_stats.h:71
Represents a series of bytes in the Dirac bytestream specfication format.
Definition: dirac_byte_stream.h:61
A compressed picture in Dirac bytestream format.
Definition: picture_byteio.h:61
Parameters relating to the source material being encoded/decoded.
Definition: common.h:289
Parameters for initialising picture class objects.
Definition: common.h:533
A class for picture component data.
Definition: common.h:719
Parameters for overlapped block motion compensation.
Definition: common.h:818
Structure to hold motion parameters when motion comp is used.
Definition: common.h:968
Parameters for the encoding process.
Definition: common.h:1280
Picture input class.
Definition: pic_io.h:303
Definition: enc_picture.h:65
Holds pictures both for reference and to overcome reordering delay.
Definition: enc_queue.h:59
Compress a single image picture.
Definition: picture_compress.h:62
Class to monitor the quality of pictures and adjust coding parameters appropriately.
Definition: quality_monitor.h:49
A clas for allocation the bits to each and every types of frames in a GOP.
Definition: rate_control.h:92
Compresses a sequence of frames/fields from a stream.
Definition: seq_compress.h:73
DiracByteStats EndSequence()
int m_delay
A delay so that we don't display what we haven't coded.
Definition: seq_compress.h:241
PicturePredParams & m_predparams
The parameters used for ME/MC.
Definition: seq_compress.h:209
const EncPicture * GetPictureEncoded()
Return a pointer to the most recent picture encoded.
EncoderParams & m_encparams
The parameters used for encoding.
Definition: seq_compress.h:206
bool CanEncode()
Returns true if the encoder can encode a picture.
void SetMotionParameters()
Set up the motion block parameters.
virtual bool LoadNextFrame()=0
Load data.
void MakeSequenceReport()
Make a report to screen on the coding results for the whole sequence.
PictureCompressor m_pcoder
A class to hold the picture compressor object.
Definition: seq_compress.h:250
SequenceCompressor & operator=(const SequenceCompressor &rhs)
Assignment = is private and body-less.
OLBParams * m_basic_olb_params0
A class to hold the basic block parameters.
Definition: seq_compress.h:191
QualityMonitor m_qmonitor
A class for monitoring the quality of pictures and adjusting parameters appropriately.
Definition: seq_compress.h:244
OLBParams * m_intra_olbp
A class to hold block parameters to use when there are lots of intra blocks.
Definition: seq_compress.h:200
bool Finished()
Determine if compression is complete.
Definition: seq_compress.h:141
void SignalEOS()
Signal end of sequence.
Definition: seq_compress.h:144
PictureParams m_pparams
Generic picture parameters for initialising pictures.
Definition: seq_compress.h:215
virtual void CleanBuffers()
Remove unwanted pictures from picture buffers.
const EncPicture * CompressNextPicture()
Compress the next picture in sequence.
bool m_eos_signalled
Flag to check if End of Sequence has been signalled by the end user.
Definition: seq_compress.h:256
int m_L1_sep
The L1 separation currently in use.
Definition: seq_compress.h:212
virtual void UpdateCBRModel(EncPicture &my_picture, const PictureByteIO *picture_byteio)=0
Update the CBR model based on the data we've compressed.
int m_show_pnum
The number of the picture which should be output for concurrent display or storage.
Definition: seq_compress.h:232
int m_last_picture_read
The index, in display order, of the last picture read.
Definition: seq_compress.h:235
void UpdateIntraPicCBRModel(const PictureParams &, const bool is_a_cut)
Update the parameters to be used in advance of coding an intra frame.
RateController * m_ratecontrol
A class for monitoring and controlling bit rate.
Definition: seq_compress.h:247
SequenceCompressor(const SequenceCompressor &cpy)
Copy constructor is private and body-less.
bool m_all_done
Completion flag, returned via the Finished method.
Definition: seq_compress.h:180
const OLBParams * m_basic_olb_params2
A class to hold the basic block parameters.
Definition: seq_compress.h:197
virtual void SetPicTypeAndRefs(PictureParams &pparams)=0
Set up the appropriate prediction parameters for a picture.
StreamPicInput * m_pic_in
Pointer pointing at the picture input.
Definition: seq_compress.h:218
int m_current_code_pnum
The number of the current picture to be coded, in coded order.
Definition: seq_compress.h:229
EncQueue m_enc_pbuffer
A picture buffer used for local storage of pictures whilst pending re-ordering or being used for refe...
Definition: seq_compress.h:221
bool m_just_finished
Flag indicating whether we've just finished.
Definition: seq_compress.h:188
SourceParams & m_srcparams
The parameters of the input source.
Definition: seq_compress.h:203
int PTSOffset()
The delay required for correct timestamps.
Definition: seq_compress.h:147
virtual ~SequenceCompressor()
Destructor.
SequenceCompressor(StreamPicInput *pin, EncoderParams &encp, DiracByteStream &dirac_byte_stream)
Constructor.
OLBParams * m_basic_olb_params1
A class to hold the basic block parameters.
Definition: seq_compress.h:194
virtual int CodedToDisplay(const int pnum)=0
Uses the GOP parameters to convert picture numbers in coded order to display order.
DiracByteStream & m_dirac_byte_stream
Output destination for compressed data in bitstream format.
Definition: seq_compress.h:253
int m_current_display_pnum
The number of the current picture to be coded, in display order.
Definition: seq_compress.h:226
int m_gop_start_num
The picture number of the last GOP start.
Definition: seq_compress.h:238
Compresses a sequence of frames from a stream.
Definition: seq_compress.h:284
virtual int CodedToDisplay(const int pnum)
Uses the GOP parameters to convert picture numbers in coded order to display order.
virtual ~FrameSequenceCompressor()
Destructor.
Definition: seq_compress.h:304
virtual bool LoadNextFrame()
Load data.
FrameSequenceCompressor(StreamPicInput *pin, EncoderParams &encp, DiracByteStream &dirac_byte_stream)
Constructor.
virtual void SetPicTypeAndRefs(PictureParams &pparams)
Set up the appropriate prediction parameters for a picture.
virtual void UpdateCBRModel(EncPicture &my_picture, const PictureByteIO *picture_byteio)
Update the CBR model based on the data we've compressed.
Compresses a sequence of fields from a stream.
Definition: seq_compress.h:332
virtual void SetPicTypeAndRefs(PictureParams &pparams)
Set up the appropriate prediction parameters for a picture.
int m_field1_bytes
Definition: seq_compress.h:381
virtual int CodedToDisplay(const int pnum)
Uses the GOP parameters to convert picture numbers in coded order to display order.
virtual ~FieldSequenceCompressor()
Destructor.
void PreMotionEstmationFilter(PicArray &comp)
Filter fields.
int m_field2_bytes
Definition: seq_compress.h:383
virtual bool LoadNextFrame()
Load data.
virtual void UpdateCBRModel(EncPicture &my_picture, const PictureByteIO *picture_byteio)
Update the CBR model based on the data we've compressed.
FieldSequenceCompressor(StreamPicInput *pin, EncoderParams &encp, DiracByteStream &dirac_byte_stream)
Constructor.