|
libpgf
6.12.24
PGF - Progressive Graphics File
|
#include <Decoder.h>
Public Member Functions | |
| and levelLength at current stream position *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 |
| and levelLength at current stream position *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 the file position is still returned in userDataPos * | CDecoder (CPGFStream *stream, PGFPreHeader &preHeader, PGFHeader &header, PGFPostHeader &postHeader, UINT32 *&levelLength, UINT64 &userDataPos, bool useOMP, bool skipUserData) THROW_ |
| *Destructor * | ~CDecoder () |
| *Deccoding and dequantization of HL and LH subband *(interleaved) using partitioning scheme.*Partitioning scheme Return the length of all encoded headers in bytes *return The length of all encoded headers in bytes *UINT32 | GetEncodedHeaderLength () const |
| *Reset stream position to beginning of PGF pre header *void | SetStreamPosToStart () THROW_ |
| *Reset stream position to beginning of data block *void | SetStreamPosToData () THROW_ |
| *Skip a given number of bytes in the open stream *It might throw an IOException *void | Skip (UINT64 offset) THROW_ |
| *Dequantization of a single value at given position in subband *It might throw an IOException *param band A subband *param bandPos A valid position in subband band *param quantParam The quantization parameter *void | DequantizeValue (CSubband *band, UINT32 bandPos, int quantParam) THROW_ |
| *Copies data from the open stream to a target buffer *It might throw an IOException *param target The target buffer *param len The number of bytes to read *return The number of bytes copied to the target buffer *UINT32 | ReadEncodedData (UINT8 *target, UINT32 len) const THROW_ |
| *Reads stream and decodes tile buffer *It might throw an IOException *void | DecodeBuffer () THROW_ |
| *return Stream *CPGFStream * | GetStream () |
| *return True if decoded macro blocks are available for processing *bool | MacroBlocksAvailable () const |
Public Attributes | |
| * | Constructor: Read pre-header |
| header | |
| and levelLength at current stream position *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 |
| and levelLength at current stream position *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: The plane is partitioned in squares of side length LinBlockSize. * Read wavelet coefficients from the output buffer of a macro block. * It might throw an IOException. * @param band A subband * @param quantParam Dequantization value * @param width The width of the rectangle * @param height The height of the rectangle * @param startPos The relative subband position of the top left corner of the rectangular region * @param pitch The number of bytes in row of the subband */ void Partition(CSubband* band |
| *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_ |
Private Member Functions | |
| *PGF decoder macro block class *author C I Bauersachs *brief A macro block is a decoding unit of fixed | size (uncoded)*/class CMacroBlock |
| void | ReadMacroBlock (CMacroBlock *block) THROW_ |
| throws IOException | |
Private Attributes | |
| *PGF decoder macro block class *author C | Stamm |
| CPGFStream * | m_stream |
| input PGF stream | |
| UINT64 | m_startPos |
| stream position at the beginning of the PGF pre-header | |
| UINT64 | m_streamSizeEstimation |
| estimation of stream size | |
| UINT32 | m_encodedHeaderLength |
| stream offset from startPos to the beginning of the data part (highest level) | |
| CMacroBlock ** | m_macroBlocks |
| array of macroblocks | |
| int | m_currentBlockIndex |
| index of current macro block | |
| int | m_macroBlockLen |
| array length | |
| int | m_macroBlocksAvailable |
| number of decoded macro blocks (including currently used macro block) | |
| CMacroBlock * | m_currentBlock |
| current macro block (used by main thread) | |
| and levelLength at current stream position* 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 the file position is still returned in userDataPos* CDecoder::CDecoder | ( | CPGFStream * | stream, |
| PGFPreHeader & | preHeader, | ||
| PGFHeader & | header, | ||
| PGFPostHeader & | postHeader, | ||
| UINT32 *& | levelLength, | ||
| UINT64 & | userDataPos, | ||
| bool | useOMP, | ||
| bool | skipUserData | ||
| ) |
| CDecoder::~CDecoder | ( | ) |
Definition at line 216 of file Decoder.cpp.
| and levelLength at current stream position* 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 CDecoder::data | ( | metadata | ) |
| void CDecoder::DecodeBuffer | ( | ) |
Definition at line 479 of file Decoder.cpp.
| *Dequantization of a single value at given position in subband *If encoded data is then stores dequantized band value into *buffer m_value at position m_valuePos *Otherwise reads encoded data block and decodes it *It might throw an IOException *param band A subband *param bandPos A valid position in subband band *param quantParam The quantization parameter *void CDecoder::DequantizeValue | ( | CSubband * | band, |
| UINT32 | bandPos, | ||
| int | quantParam | ||
| ) |
Definition at line 447 of file Decoder.cpp.
|
inline |
Definition at line 136 of file Decoder.h.
|
inline |
|
inline |
Definition at line 178 of file Decoder.h.
|
private |
throws IOException
Definition at line 519 of file Decoder.cpp.
|
inline |
|
inline |
|
inlineprivate |
< block header
< output buffer of values with index m_valuePos
< input buffer for encoded bitstream
< current position in m_value
Definition at line 50 of file Decoder.h.
| *Skip a given number of bytes in the open stream *It might throw an IOException *void CDecoder::Skip | ( | UINT64 | offset | ) |
Definition at line 434 of file Decoder.cpp.
| and levelLength at current stream position* 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 CDecoder::data |
| * Unpartitions a rectangular region of a given subband* Partitioning int int int CDecoder::height |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| * Unpartitions a rectangular region of a given subband* Partitioning int CDecoder::quantParam |
| * Unpartitions a rectangular region of a given subband* Partitioning CDecoder::scheme |
|
private |
| * Unpartitions a rectangular region of a given subband* Partitioning int int int int CDecoder::startPos |
| * Unpartitions a rectangular region of a given subband* Partitioning int int int int int pitch CDecoder::THROW_ |
| and levelLength at current stream position* 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 CDecoder::true |
| * Unpartitions a rectangular region of a given subband* Partitioning int int CDecoder::width |