Abstract binary arithmetic coding class.
More...
#include <arith_codec.h>
List of all members.
Public Member Functions
- ArithCodec (ByteIO *p_byteio, size_t number_of_contexts)
- Constructor for encoding.
- virtual ~ArithCodec ()
- Destructor.
- int Compress (T &in_data)
- Compresses the input and returns the number of bits written.
- void Decompress (T &out_data, const int num_bytes)
- Decompresses the bitstream and writes into the output.
Protected Member Functions
- virtual void DoWorkCode (T &in_data)=0
- Does the work of actually coding the data.
- virtual void DoWorkDecode (T &out_data)=0
- virtual decode-only functions ////////////////////////////
Detailed Description
This is an abtract binary arithmetic encoding class, used as the base for concrete classes that encode motion vectors and subband residues.
- Parameters:
-
T | a container (most probably, or array) type |
Constructor & Destructor Documentation
dirac::ArithCodec::ArithCodec |
( |
ByteIO * |
p_byteio, |
|
|
size_t |
number_of_contexts |
|
) |
| |
Creates an ArithCodec object to decode input based on a set of parameters.
- Parameters:
-
p_byteio | input/output for encoded bits |
number_of_contexts | the number of contexts used |
virtual dirac::ArithCodec::~ArithCodec |
( |
| ) |
[inline, virtual] |
Destructor is virtual as this class is abstract.
Member Function Documentation
int dirac::ArithCodec::Compress |
( |
T & |
in_data | ) |
|
Compress takes a type T object (a container or array) and compresses it using the abstract function DoWorkCode() which is overridden in subclasses. It returns the number of bits written.
- Parameters:
-
in_data | the input to be compressed. Non-const, since the compression may be lossy. |
void dirac::ArithCodec::Decompress |
( |
T & |
out_data, |
|
|
const int |
num_bytes |
|
) |
| |
Decompresses the bitstream, up to the number of bytes specified and writes into the output subclasses.
- Parameters:
-
out_data | the output into which the decompressed data is written. |
num_bytes | the number of bytes to be read from the bitstream. |
virtual void dirac::ArithCodec::DoWorkCode |
( |
T & |
in_data | ) |
[protected, pure virtual] |
virtual void dirac::ArithCodec::DoWorkDecode |
( |
T & |
out_data | ) |
[protected, pure virtual] |
The documentation for this class was generated from the following file: