# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1 2 3 4 5]

►C dirac::ArithCodecBase |
►C dirac::ArithCodec< MvData > |
C dirac::DCCodec | Codes and decodes a set of DC values
C dirac::PredModeCodec | Codes and decodes the prediction modes
C dirac::SplitModeCodec | Codes and decodes the split mode
C dirac::VectorElementCodec | Codes and decodes an array of motion vectors
►C dirac::ArithCodec< CoeffArray > |
►C dirac::GenericBandCodec< ArithCodec< CoeffArray > > |
►C dirac::GenericIntraDCBandCodec< ArithCodec< CoeffArray > > |
C dirac::IntraDCBandCodec | A class specially for coding the DC subband of Intra frames
C dirac::ArithCodec< T > | Abstract binary arithmetic coding class
►C dirac::ArithCodecToVLCAdapter |
►C dirac::GenericBandCodec< ArithCodecToVLCAdapter > |
►C dirac::GenericIntraDCBandCodec< ArithCodecToVLCAdapter > |
C dirac::IntraDCBandVLC | A class specially for coding the DC subband of Intra frames
►C dirac::BiBlockDiff | A virtual class for bi-directional differences
C dirac::BiBlockEighthPel | A class for computing a bidirection difference for eighth-pel vectors
C dirac::BiBlockHalfPel | A class for computing a bidirection difference for half-pel vectors
C dirac::BiBlockQuarterPel | A class for computing a bidirection difference for quarter-pel vectors
C dirac_vu::BitmapHeader |
►C dirac::BlockDiff | An abstract class for doing block difference calculations
►C dirac::BlockDiffUp | A virtual class for doing differences with sub-pixel vectors
C dirac::BlockDiffEighthPel | A class for doing differences with eighth-pixel accurate vectors
C dirac::BlockDiffHalfPel | A class for doing differences with half-pixel accurate vectors
C dirac::BlockDiffQuarterPel | A class for doing differences with quarter-pixel accurate vectors
C dirac::PelBlockDiff | A class for doing block differences to pixel accuracy, inherited from BlockDiff
C dirac::BlockDiffParams | A class encapsulating parameters for calculating a block difference value (a single instance of matching)
C dirac::BlockMatcher | Class to do block matching
►C dirac::ByteIO | Class ByteIO - top-level class for reading/writing bytes to a stream
C dirac::CodingParamsByteIO | Represents compressed sequence-parameter data used in an AccessUnit
C dirac::ComponentByteIO | Picture component in Dirac bytestream format
C dirac::DiracByteStream | Represents a series of bytes in the Dirac bytestream specfication format
C dirac::MvDataByteIO | Represents compressed sequence-parameter data used in an AccessUnit
C dirac::MvDataElementByteIO | Represents compressed sequence-parameter data used in an AccessUnit
C dirac::ParseParamsByteIO | Represents compressed parse-parameter data used in an AccessUnit
►C dirac::ParseUnitByteIO | Represents a collection of data in a Dirac bytestream that can be parsed as a self-contained unit
C dirac::EndOfSequenceByteIO | Signals the end of a sequence in a Dirac-formatted bitstream
C dirac::PictureByteIO | A compressed picture in Dirac bytestream format
C dirac::SequenceHeaderByteIO | A random access point within a Dirac bytestream
C dirac::SourceParamsByteIO | Represents compressed source-parameter data contained in a sequence header
C dirac::SubbandByteIO | Subband Dirac-bytestream input/output
C dirac::TransformByteIO | Represents compressed sequence-parameter data used in an AccessUnit
C dirac::CodeBlock | Class for encapsulating metadata concerning a block of coefficients in a subband
C dirac::CodeBlocks | Structure to hold code block sizes when spatial partitioning is used
►C dirac::CodecParams | Parameters common to coder and decoder operation
C dirac::DecoderParams | Parameters for the decoding process
C dirac::EncoderParams | Parameters for the encoding process
C dirac::CommandLine |
C dirac::CompCompressor | Compress a picture component
C dirac::CompDecompressor | Decompress a picture component
C dirac::Context |
C dirac::CostType | A structure for recording costs, particularly in quantisation
C dirac_clean_area_t |
C dirac_col_matrix_t |
C dirac_colour_spec_t |
C dirac_decoder_t |
C dirac_enc_data_t |
C dirac_enc_picstats_t |
C dirac_enc_seqstats_t |
C dirac_encoder_context_t |
C dirac_encoder_t |
C dirac_encparams_t |
C dirac_framebuf_t |
C dirac_instr_t |
C dirac_mv_cost_t |
C dirac_mv_t |
C dirac_parseparams_t |
C dirac_picparams_t |
C dirac_rational_t |
C dirac_signal_range_t |
C dirac_sourceparams_t |
C dirac::DiracByteStats | Class DiracByteStats - for collecting statistics on aspects of the Dirac byte-stream
C dirac::DiracException | DiracException is the class which should be used for all exceptions within Dirac
C dirac::DiracParser | Dirac Stream Parser Class
C dirac::DownConverter | A class for fast downconversion of picture data
►C dirac_instr::DrawOverlay | Base class for block overlay objects
C dirac_instr::DrawGMInliers |
►C dirac_instr::DrawMotionArrows | Class to carry out the overlay of motion vectors represented by arrows
C dirac_instr::DrawMotionColourArrows | Class to carry out overlay of motion vectors as coloured arrows
C dirac_instr::DrawMotionColour | Class to carry out overlay of motion vectors using colour
C dirac_instr::DrawPredMode | Class to carry out overlay of prediction mode
C dirac_instr::DrawSad | Class to carry out overlay of SAD block values
C dirac_instr::DrawSplitMode |
C dirac_instr::DrawPictureMotionParams | Class encapsulating parameters for drawing the picture
C dirac::EncQueue | Holds pictures both for reference and to overcome reordering delay
►C EntropyCodec |
►C dirac::GenericBandCodec< EntropyCodec > | A template class for coding and decoding wavelet subband data
C dirac::GenericIntraDCBandCodec< EntropyCodec > | A template class specially for coding the DC subband of Intra frames
C dirac::EntropyCorrector | A class used for correcting estimates of entropy
C dirac::FileStreamInput | Picture input class
C dirac::FileStreamOutput |
C dirac::FrameComplexity |
C dirac::IntraBlockDiff | A class for calculating the difference between a block and its DC value (average)
C me_data_entry | Structure to hold motion data in array
C dirac::MemoryStreamInput |
C dirac::MemoryStreamOutput |
C dirac::ModeDecider | Decides between superblock and block prediction modes
►C dirac::MotionCompensator | Abstract Motion compensator class
C dirac::MotionCompensator_EighthPixel | Eighth Pixel precision Motion compensator class
C dirac::MotionCompensator_HalfPixel | Half Pixel precision Motion compensator class
C dirac::MotionCompensator_Pixel | Pixel precision Motion compensator class
C dirac::MotionCompensator_QuarterPixel | Quarter Pixel precision Motion compensator class
C dirac::MotionVector< T > | Motion vector class - just a pair
C dirac::MotionVector< int > |
C dirac::MvCostData | Class for recording costs derived in motion estimation
►C dirac::MvData | Class for all the motion vector data
C dirac::MEData | Class for all the motion estimation data
C dirac::OLBParams | Parameters for overlapped block motion compensation
C dirac::OneDArray< T > | A template class for one-dimensional arrays
C dirac::OneDArray< dirac::BlockDiffUp * > |
C dirac::OneDArray< dirac::CodeBlocks > |
C dirac::OneDArray< dirac::CostType > |
C dirac::OneDArray< dirac::MEData * > |
C dirac::OneDArray< dirac::OLBParams > |
C dirac::OneDArray< dirac::OneDArray< float > * > |
C dirac::OneDArray< dirac::TwoDArray * > |
C dirac::OneDArray< dirac::TwoDArray< dirac::MvCostData > * > |
C dirac::OneDArray< dirac::TwoDArray< int > * > |
C dirac::OneDArray< dirac::TwoDArray< ValueType > * > |
C dirac::OneDArray< double > |
C dirac::OneDArray< float > |
C dirac::OneDArray< int > |
C dirac::OneDArray< long double > |
C dirac::OneDArray< me_data_entry > |
C dirac::OneDArray< MotionVector< int > > |
C dirac::CommandLine::option |
C dirac_instr::Overlay | Class managing instrumentation overlay
C dirac_instr::OverlayParams | Class holding instrumentation overlay information
C dirac_instr::OverlaySymbols |
C dirac::ParseParams | Parameters relating to the complexity of encoder/decoder
►C dirac::Picture | A class for encapsulating all the data relating to a picture
C dirac::EncPicture |
C dirac::PictureBuffer | Holds pictures both for reference and to overcome reordering delay
C dirac::PictureCompressor | Compress a single image picture
C dirac::PictureDecompressor | Compress a single image picture
C dirac::PictureParams | Parameters for initialising picture class objects
C dirac::PicturePredParams | Structure to hold motion parameters when motion comp is used
C dirac::PictureSort | Picture type Class
C dirac::PixelMatcher |
C dirac::PredictStep97< gain > | Class to do two-tap prediction lifting step for Daubechies (9,7)
C dirac::PredictStepFourTap< shift, tap1, tap2 > | Class to do symmetric four-tap prediction lifting step
C dirac::PredictStepShift< shift > | Class to do two-tap prediction lifting step
C ProcessSequence | Class to carry out instrumentation on sequence
C dirac::QualityMonitor | Class to monitor the quality of pictures and adjust coding parameters appropriately
C dirac::QuantChooser | Choose a quantiser
C dirac::QuantiserLists | Class for encapsulating quantiser data
C dirac::Range | Range type
C dirac::RateController | A clas for allocation the bits to each and every types of frames in a GOP
C dirac::Rational | Class defining a rational number
►C dirac::SequenceCompressor | Compresses a sequence of frames/fields from a stream
C dirac::FieldSequenceCompressor | Compresses a sequence of fields from a stream
C dirac::FrameSequenceCompressor | Compresses a sequence of frames from a stream
C dirac::SequenceDecompressor | Decompresses a sequence of pictures from a stream
C dirac::SourceParams | Parameters relating to the source material being encoded/decoded
►C std::streambuf |
C dirac::InputStreamBuffer | Input Stream Buffer Class
C dirac::MemoryStreamInput::InputMemoryBuffer | Class that defines the Input Stream Memory Buffer
C dirac::MemoryStreamOutput::OutputMemoryBuffer | Local memory buffer
►C dirac::StreamPicInput | Picture input class
C dirac::StreamFieldInput |
C dirac::StreamFrameInput |
►C dirac::StreamPicOutput | Class for outputting pictures
C dirac::StreamFieldOutput |
C dirac::StreamFrameOutput |
C dirac::Subband | Class encapsulating all the metadata relating to a wavelet subband
C dirac::SubbandList | A class encapulating all the subbands produced by a transform
C dirac::SubpelRefine | Takes pixel-accurate motion vectors and refines them to 1/8-pixel accuracy
C dirac::TwoDArray< T > | A template class for two-dimensional arrays
►C dirac::TwoDArray< CoeffType > |
C dirac::CoeffArray | A class for wavelet coefficient data
C dirac::TwoDArray< dirac::CodeBlock > |
C dirac::TwoDArray< dirac::MvCostData > |
C dirac::TwoDArray< float > |
C dirac::TwoDArray< int > |
C dirac::TwoDArray< MvCostData > |
C dirac::TwoDArray< PredMode > |
►C dirac::TwoDArray< ValueType > |
C dirac::PicArray | A class for picture component data
C dirac::UpConverter | Upconversion class
C dirac::UpdateStep97< gain > | Class to do two-tap update lifting step for Daubechies (9,7)
C dirac::UpdateStepFourTap< shift, tap1, tap2 > | Class to do symmetric four-tap update lifting step
C dirac::UpdateStepShift< shift > | Class to do two-tap updating lifting step
►C dirac::VHFilter | A virtual parent class to do vertical and horizontal splitting with wavelet filters
C dirac::VHFilterDAUB9_7 | Class to do Daubechies (9,7) filtering operations
C dirac::VHFilterDD13_7 | An extension of DD9_7, with a better low-pass filter but more computation
C dirac::VHFilterDD9_7 | A short filter that's actually close to Daubechies (9,7) but with just two lifting steps
C dirac::VHFilterHAAR0 | Class to do Haar wavelet filtering operations
C dirac::VHFilterHAAR1 | Class to do Haar wavelet filtering operations with a single shift per level
C dirac::VHFilterHAAR2 | Class to do Haar wavelet filtering operations with a double shift per level
C dirac::VHFilterLEGALL5_3 | Class to do (5,3) wavelet filtering operations
C dirac::WaveletTransform | A class to do wavelet transforms

© 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.