Created by the British Broadcasting Corporation.
Codes and decodes an array of motion vectors. More...
#include <mv_codec.h>
Public Member Functions | |
| VectorElementCodec (ByteIO *p_byteio, int ref_id, MvElement horvert, size_t number_of_contexts) | |
| Constructor. More... | |
| void | InitContexts () |
| Initialises the contexts More... | |
Public Member Functions inherited from dirac::ArithCodec< MvData > | |
| ArithCodec (ByteIO *p_byteio, size_t number_of_contexts) | |
| Constructor for encoding. More... | |
| virtual | ~ArithCodec () |
| Destructor. More... | |
| int | Compress (MvData &in_data) |
| Compresses the input and returns the number of bits written. More... | |
| void | Decompress (MvData &out_data, const int num_bytes) |
| Decompresses the bitstream and writes into the output. More... | |
Public Member Functions inherited from dirac::ArithCodecBase | |
| ArithCodecBase (ByteIO *p_byteio, size_t number_of_contexts) | |
| Constructor. More... | |
| virtual | ~ArithCodecBase () |
| Destructor. More... | |
Private Member Functions | |
| VectorElementCodec (const VectorElementCodec &cpy) | |
| Private, bodyless copy constructor: class should not be copied. More... | |
| VectorElementCodec & | operator= (const VectorElementCodec &rhs) |
| Private, bodyless copy operator=: class should not be assigned. More... | |
| void | CodeVal (const MvData &in_data) |
| void | DecodeVal (MvData &out_data) |
| void | DoWorkCode (MvData &in_data) |
| Does the work of actually coding the data. More... | |
| void | DoWorkDecode (MvData &out_data) |
| virtual decode-only functions More... | |
| void | ResetAll () |
| int | Prediction (const MvArray &mvarray, const TwoDArray< PredMode > &preddata) const |
Private Attributes | |
| int | m_b_xp |
| int | m_b_yp |
| int | m_sb_xp |
| int | m_sb_yp |
| int | m_sb_tlb_x |
| int | m_sb_tlb_y |
| const int | m_ref |
| const MvElement | m_hv |
Additional Inherited Members | |
| virtual void | DoWorkCode (MvData &in_data)=0 |
| Does the work of actually coding the data. More... | |
| virtual void | DoWorkDecode (MvData &out_data)=0 |
| virtual decode-only functions More... | |
Protected Member Functions inherited from dirac::ArithCodecBase | |
| void | InitEncoder () |
| Initialises the Encoder. More... | |
| void | EncodeSymbol (const bool symbol, const int context_num) |
| encodes a symbol and writes to output More... | |
| void | EncodeUInt (const unsigned int value, const int bin1, const int max_bin) |
| void | EncodeSInt (const int value, const int bin1, const int max_bin) |
| void | FlushEncoder () |
| flushes the output of the encoder. More... | |
| int | ByteCount () const |
| void | InitDecoder (int num_bytes) |
| Initialise the Decoder. More... | |
| bool | DecodeSymbol (int context_num) |
| Decodes a symbol given a context number. More... | |
| unsigned int | DecodeUInt (const int bin1, const int max_bin) |
| int | DecodeSInt (const int bin1, const int max_bin) |
Protected Attributes inherited from dirac::ArithCodecBase | |
| std::vector< Context > | m_context_list |
| List of contexts. More... | |
Derived from the ArithCodec class, this codes and decodes a motion vector element (vertical or horizontal)
| dirac::VectorElementCodec::VectorElementCodec | ( | ByteIO * | p_byteio, |
| int | ref_id, | ||
| MvElement | horvert, | ||
| size_t | number_of_contexts | ||
| ) |
Creates a MvDataCodec object to encode MV data, based on parameters
| p_byteio | Input/output for the encoded bits |
| ref_id | The identity of the reference (1 or 2) |
| horvert | The identity of the vector element (horizontal or vertical) |
| number_of_contexts | the number of contexts used |
|
private |
|
private |
|
private |
|
privatevirtual |
Implements dirac::ArithCodec< MvData >.
|
privatevirtual |
Implements dirac::ArithCodec< MvData >.
| void dirac::VectorElementCodec::InitContexts | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
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.