libpgf  6.12.24
PGF - Progressive Graphics File
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Decoder.cpp File Reference
#include "Decoder.h"

Go to the source code of this file.

Macros

#define CodeBufferBitLen   (CodeBufferLen*WordWidth)
 max number of bits in m_codeBuffer
 
#define MaxCodeLen   ((1 << RLblockSizeLen) - 1)
 max length of RL encoded block
 

Functions

*Constructor *Read pre and
levelLength *It might throw an
IOException *param stream A
PGF stream *param preHeader[out]
A PGF pre header *param header[out]
A PGF header *param postHeader[out]
A PGF post header *param
levelLength The location of
the levelLength array The
array is allocated in this
method The caller has to
delete this array *param
userDataPos The stream
position of the user 
data (metadata)*@param useOMP If true
 
 for (int i=0;i< hh.quot;i++)
 

Variables

*file Decoder cpp *brief PGF
decoder class implementation
*author C 
Stamm
 
*Constructor *Read pre header
 
*Constructor *Read pre and
levelLength *It might throw an
IOException *param stream A
PGF stream *param preHeader[out]
A PGF pre header *param header[out]
A PGF header *param postHeader[out]
A PGF post header *param
levelLength The location of
the levelLength array The
array is allocated in this
method The caller has to
delete this array *param
userDataPos The stream
position of the user then the
decoder will use multi
threading based on openMP
*param skipUserData If 
true
 
*Constructor *Read pre and
levelLength *It might throw an
IOException *param stream A
PGF stream *param preHeader[out]
A PGF pre header *param header[out]
A PGF header *param postHeader[out]
A PGF post header *param
levelLength The location of
the levelLength array The
array is allocated in this
method The caller has to
delete this array *param
userDataPos The stream
position of the user then the
decoder will use multi
threading based on openMP
*param skipUserData If then
user data is not read In case
of available user 
data
 
*Unpartitions a rectangular
region of a given subband
*Partitioning 
scheme
 
*Unpartitions a rectangular
region of a given subband
*Partitioning int 
quantParam
 
*Unpartitions a rectangular
region of a given subband
*Partitioning int int 
width
 
*Unpartitions a rectangular
region of a given subband
*Partitioning int int int 
height
 
*Unpartitions a rectangular
region of a given subband
*Partitioning int int int int 
startPos
 
*Unpartitions a rectangular
region of a given subband
*Partitioning int int int int
int pitch 
THROW_
 
const div_t ww = div(width, LinBlockSize)
 
const div_t hh = div(height, LinBlockSize)
 
const int ws = pitch - LinBlockSize
 
const int wr = pitch - ww.rem
 
int pos = base2
 
int base = startPos
 
int base2 = base
 
*Dequantization of a single
value at given position in
subband *If encoded data is 
available
 

Macro Definition Documentation

#define CodeBufferBitLen   (CodeBufferLen*WordWidth)

max number of bits in m_codeBuffer

Definition at line 58 of file Decoder.cpp.

#define MaxCodeLen   ((1 << RLblockSizeLen) - 1)

max length of RL encoded block

Definition at line 59 of file Decoder.cpp.

Function Documentation

* Constructor* Read pre and levelLength* It might throw an IOException* param stream A PGF stream* param preHeader [out] A PGF pre header* param header [out] A PGF header* param postHeader [out] A PGF post header* param levelLength The location of the levelLength array The array is allocated in this method The caller has to delete this array* param userDataPos The stream position of the user data ( metadata  )
for ( )

Definition at line 261 of file Decoder.cpp.

{
// main width
for (int j=0; j < ww.quot; j++) {
for (int y=0; y < LinBlockSize; y++) {
for (int x=0; x < LinBlockSize; x++) {
DequantizeValue(band, pos, quantParam);
pos++;
}
pos += ws;
}
}
// rest of width
for (int y=0; y < LinBlockSize; y++) {
for (int x=0; x < ww.rem; x++) {
DequantizeValue(band, pos, quantParam);
pos++;
}
pos += wr;
base += pitch;
}
}

Variable Documentation

* Dequantization of a single value at given position in subband* If encoded data is available

Definition at line 440 of file Decoder.cpp.

int base = startPos

Definition at line 258 of file Decoder.cpp.

base2 = base

Definition at line 258 of file Decoder.cpp.

* Constructor* Read pre and levelLength* It might throw an IOException* param stream A PGF stream* param preHeader [out] A PGF pre header* param header [out] A PGF header* param postHeader [out] A PGF post header* param levelLength The location of the levelLength array The array is allocated in this method The caller has to delete this array* param userDataPos The stream position of the user then the decoder will use multi threading based on openMP* param skipUserData If then user data is not read In case of available user data

Definition at line 72 of file Decoder.cpp.

*Write pre header

Definition at line 63 of file Decoder.cpp.

* Unpartitions a rectangular region of a given subband* Partitioning int int int height

Definition at line 251 of file Decoder.cpp.

const div_t hh = div(height, LinBlockSize)

Definition at line 255 of file Decoder.cpp.

pos = base2

Definition at line 258 of file Decoder.cpp.

* Unpartitions a rectangular region of a given subband* Partitioning int quantParam

Definition at line 251 of file Decoder.cpp.

* Unpartitions a rectangular region of a given subband* Partitioning scheme

Definition at line 251 of file Decoder.cpp.

* file Decoder cpp* brief PGF decoder class implementation* author C Stamm

Definition at line 26 of file Decoder.cpp.

* Unpartitions a rectangular region of a given subband* Partitioning int int int int startPos

Definition at line 251 of file Decoder.cpp.

*Set PGF header and user data BYTE UINT8 UINT32 userDataLength THROW_
Initial value:
{
ASSERT(band)

Definition at line 251 of file Decoder.cpp.

* Constructor* Read pre and levelLength* It might throw an IOException* param stream A PGF stream* param preHeader [out] A PGF pre header* param header [out] A PGF header* param postHeader [out] A PGF post header* param levelLength The location of the levelLength array The array is allocated in this method The caller has to delete this array* param userDataPos The stream position of the user then the decoder will use multi threading based on openMP* param skipUserData If true

Definition at line 72 of file Decoder.cpp.

* Unpartitions a rectangular region of a given subband* Partitioning int int width

Definition at line 251 of file Decoder.cpp.

const int wr = pitch - ww.rem

Definition at line 257 of file Decoder.cpp.

const int ws = pitch - LinBlockSize

Definition at line 256 of file Decoder.cpp.

const div_t ww = div(width, LinBlockSize)

Definition at line 254 of file Decoder.cpp.