Public Member Functions | Private Member Functions | Private Attributes | List of all members
ArithmeticEncoder Class Reference

#include <arithmeticencoder.hpp>

Inheritance diagram for ArithmeticEncoder:
Inheritance graph
[legend]

Public Member Functions

 ArithmeticEncoder ()
 
EntropyModel * createBitModel ()
 
EntropyModel * createSymbolModel (U32 n)
 
void destroyBitModel (EntropyModel *model)
 
void destroySymbolModel (EntropyModel *model)
 
void done ()
 
void encodeBit (EntropyModel *model, U32 sym)
 
void encodeSymbol (EntropyModel *model, U32 sym)
 
BOOL init (ByteStreamOut *outstream)
 
void initBitModel (EntropyModel *model)
 
void initSymbolModel (EntropyModel *model, U32 *table=0)
 
void writeBit (U32 sym)
 
void writeBits (U32 bits, U32 sym)
 
void writeByte (U8 sym)
 
void writeDouble (F64 sym)
 
void writeFloat (F32 sym)
 
void writeInt (U32 sym)
 
void writeInt64 (U64 sym)
 
void writeShort (U16 sym)
 
 ~ArithmeticEncoder ()
 
- Public Member Functions inherited from EntropyEncoder
virtual ~EntropyEncoder ()
 

Private Member Functions

void manage_outbuffer ()
 
void propagate_carry ()
 
void renorm_enc_interval ()
 

Private Attributes

U32 base
 
U8endbuffer
 
U8endbyte
 
U32 length
 
U8outbuffer
 
U8outbyte
 
ByteStreamOutoutstream
 
U32 value
 

Detailed Description

Definition at line 39 of file arithmeticencoder.hpp.

Constructor & Destructor Documentation

◆ ArithmeticEncoder()

ArithmeticEncoder::ArithmeticEncoder ( )

Definition at line 81 of file arithmeticencoder.cpp.

◆ ~ArithmeticEncoder()

ArithmeticEncoder::~ArithmeticEncoder ( )

Definition at line 89 of file arithmeticencoder.cpp.

Member Function Documentation

◆ createBitModel()

EntropyModel * ArithmeticEncoder::createBitModel ( )
virtual

Implements EntropyEncoder.

Definition at line 139 of file arithmeticencoder.cpp.

◆ createSymbolModel()

EntropyModel * ArithmeticEncoder::createSymbolModel ( U32  n)
virtual

Implements EntropyEncoder.

Definition at line 157 of file arithmeticencoder.cpp.

◆ destroyBitModel()

void ArithmeticEncoder::destroyBitModel ( EntropyModel *  model)
virtual

Implements EntropyEncoder.

Definition at line 151 of file arithmeticencoder.cpp.

◆ destroySymbolModel()

void ArithmeticEncoder::destroySymbolModel ( EntropyModel *  model)
virtual

Implements EntropyEncoder.

Definition at line 169 of file arithmeticencoder.cpp.

◆ done()

void ArithmeticEncoder::done ( )
virtual

Implements EntropyEncoder.

Definition at line 105 of file arithmeticencoder.cpp.

◆ encodeBit()

void ArithmeticEncoder::encodeBit ( EntropyModel *  model,
U32  sym 
)
virtual

Implements EntropyEncoder.

Definition at line 175 of file arithmeticencoder.cpp.

◆ encodeSymbol()

void ArithmeticEncoder::encodeSymbol ( EntropyModel *  model,
U32  sym 
)
virtual

Implements EntropyEncoder.

Definition at line 197 of file arithmeticencoder.cpp.

◆ init()

BOOL ArithmeticEncoder::init ( ByteStreamOut outstream)
virtual

Implements EntropyEncoder.

Definition at line 94 of file arithmeticencoder.cpp.

◆ initBitModel()

void ArithmeticEncoder::initBitModel ( EntropyModel *  model)
virtual

Implements EntropyEncoder.

Definition at line 145 of file arithmeticencoder.cpp.

◆ initSymbolModel()

void ArithmeticEncoder::initSymbolModel ( EntropyModel *  model,
U32 table = 0 
)
virtual

Implements EntropyEncoder.

Definition at line 163 of file arithmeticencoder.cpp.

◆ manage_outbuffer()

void ArithmeticEncoder::manage_outbuffer ( )
inlineprivate

Definition at line 328 of file arithmeticencoder.cpp.

◆ propagate_carry()

void ArithmeticEncoder::propagate_carry ( )
inlineprivate

Definition at line 295 of file arithmeticencoder.cpp.

◆ renorm_enc_interval()

void ArithmeticEncoder::renorm_enc_interval ( )
inlineprivate

Definition at line 316 of file arithmeticencoder.cpp.

◆ writeBit()

void ArithmeticEncoder::writeBit ( U32  sym)
virtual

Implements EntropyEncoder.

Definition at line 222 of file arithmeticencoder.cpp.

◆ writeBits()

void ArithmeticEncoder::writeBits ( U32  bits,
U32  sym 
)
virtual

Implements EntropyEncoder.

Definition at line 233 of file arithmeticencoder.cpp.

◆ writeByte()

void ArithmeticEncoder::writeByte ( U8  sym)
virtual

Implements EntropyEncoder.

Definition at line 251 of file arithmeticencoder.cpp.

◆ writeDouble()

void ArithmeticEncoder::writeDouble ( F64  sym)
inlinevirtual

Implements EntropyEncoder.

Definition at line 288 of file arithmeticencoder.cpp.

◆ writeFloat()

void ArithmeticEncoder::writeFloat ( F32  sym)
inlinevirtual

Implements EntropyEncoder.

Definition at line 275 of file arithmeticencoder.cpp.

◆ writeInt()

void ArithmeticEncoder::writeInt ( U32  sym)
inlinevirtual

Implements EntropyEncoder.

Definition at line 269 of file arithmeticencoder.cpp.

◆ writeInt64()

void ArithmeticEncoder::writeInt64 ( U64  sym)
inlinevirtual

Implements EntropyEncoder.

Definition at line 282 of file arithmeticencoder.cpp.

◆ writeShort()

void ArithmeticEncoder::writeShort ( U16  sym)
virtual

Implements EntropyEncoder.

Definition at line 260 of file arithmeticencoder.cpp.

Member Data Documentation

◆ base

U32 ArithmeticEncoder::base
private

Definition at line 102 of file arithmeticencoder.hpp.

◆ endbuffer

U8* ArithmeticEncoder::endbuffer
private

Definition at line 99 of file arithmeticencoder.hpp.

◆ endbyte

U8* ArithmeticEncoder::endbyte
private

Definition at line 101 of file arithmeticencoder.hpp.

◆ length

U32 ArithmeticEncoder::length
private

Definition at line 102 of file arithmeticencoder.hpp.

◆ outbuffer

U8* ArithmeticEncoder::outbuffer
private

Definition at line 98 of file arithmeticencoder.hpp.

◆ outbyte

U8* ArithmeticEncoder::outbyte
private

Definition at line 100 of file arithmeticencoder.hpp.

◆ outstream

ByteStreamOut* ArithmeticEncoder::outstream
private

Definition at line 93 of file arithmeticencoder.hpp.

◆ value

U32 ArithmeticEncoder::value
private

Definition at line 102 of file arithmeticencoder.hpp.


The documentation for this class was generated from the following files:


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:26