|
libpgf
6.12.24
PGF - Progressive Graphics File
|
#include <Encoder.h>
Public Member Functions | |
| *Write pre post and levelLength *It might throw an IOException *param stream A PGF stream *param preHeader A already filled in PGF pre header *param header An already filled in PGF header *param postHeader[in] An already filled in PGF post | header (containing color table, user data,...)*@param userDataPos[out] File position of user data *@param useOMP If true |
| *Write pre post and levelLength *It might throw an IOException *param stream A PGF stream *param preHeader A already filled in PGF pre header *param header An already filled in PGF header *param postHeader[in] An already filled in PGF post then the encoder will use multi threading based on openMP * | CEncoder (CPGFStream *stream, PGFPreHeader preHeader, PGFHeader header, const PGFPostHeader &postHeader, UINT64 &userDataPos, bool useOMP) THROW_ |
| *Destructor * | ~CEncoder () |
| *Encoder favors speed over compression size *void | FavorSpeedOverSize () |
| *Pad buffer with zeros and encode buffer *It might throw an IOException *void | Flush () THROW_ |
| *Increase post header size and write new size into stream *param preHeader An already filled in PGF pre header *It might throw an IOException *void | UpdatePostHeaderSize (PGFPreHeader preHeader) THROW_ |
| *Create level length data structure and write a place holder into stream *It might throw an IOException *param levelLength A reference to an integer large enough to save the relative file positions of all PGF levels *return number of bytes written into stream *UINT32 | WriteLevelLength (UINT32 *&levelLength) THROW_ |
| *Write new levelLength into stream *It might throw an IOException *return Written image bytes *UINT32 | UpdateLevelLength () THROW_ |
Public Attributes | |
| *Write pre | header |
| *Write pre post | Header |
| *Create level length data structure and write a place holder into stream *It might throw an IOException *param levelLength A reference to an integer | array |
| *Partitions a rectangular region of a given subband *Partitioning | scheme: The plane is partitioned in squares of side length LinBlockSize. * Write wavelet coefficients from subband into the input buffer of a macro block. * It might throw an IOException. * @param band A subband * @param width The width of the rectangle * @param height The height of the rectangle * @param startPos The absolute 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 |
| *Partitions a rectangular region of a given subband *Partitioning int | width |
| *Partitions a rectangular region of a given subband *Partitioning int int | height |
| *Partitions a rectangular region of a given subband *Partitioning int int int | startPos |
| *Partitions a rectangular region of a given subband *Partitioning int int int int pitch | THROW_ |
Private Member Functions | |
| *PGF encoder macro block class *author C I Bauersachs *brief A macro block is an encoding unit of fixed | size (uncoded)*/class CMacroBlock |
Private Attributes | |
| *PGF encoder macro block class *author C | Stamm |
| * Write pre post and levelLength* It might throw an IOException* param stream A PGF stream* param preHeader A already filled in PGF pre header* param header An already filled in PGF header* param postHeader [in] An already filled in PGF post then the encoder will use multi threading based on openMP* CEncoder::CEncoder | ( | CPGFStream * | stream, |
| PGFPreHeader | preHeader, | ||
| PGFHeader | header, | ||
| const PGFPostHeader & | postHeader, | ||
| UINT64 & | userDataPos, | ||
| bool | useOMP | ||
| ) |
| CEncoder::~CEncoder | ( | ) |
Definition at line 146 of file Encoder.cpp.
|
inline |
| *Pad buffer with zeros and encode buffer *It might throw an IOException *void CEncoder::Flush | ( | ) |
Definition at line 305 of file Encoder.cpp.
| * Write pre post and levelLength* It might throw an IOException* param stream A PGF stream* param preHeader A already filled in PGF pre header* param header An already filled in PGF header* param postHeader [in] An already filled in PGF post CEncoder::header | ( | containing color | table, |
| user | data, | ||
| ... | |||
| ) |
|
inlineprivate |
< input buffer of values with index m_valuePos
< output buffer for encoded bitstream
< block header
< current buffer position
< maximum absolute coefficient in each buffer
< current position in encoded bitstream
< index of last encoded level: [0, nLevels); used because a level-end can occur before a buffer is full
Definition at line 50 of file Encoder.h.
| *Write new levelLength into stream *It might throw an IOException *return Written image bytes *UINT32 CEncoder::UpdateLevelLength | ( | ) |
Definition at line 197 of file Encoder.cpp.
| *Increase post header size and write new size into stream *param preHeader An already filled in PGF pre header *It might throw an IOException *void CEncoder::UpdatePostHeaderSize | ( | PGFPreHeader | preHeader | ) |
Definition at line 155 of file Encoder.cpp.
| *Create level length data structure and write a place holder into stream *It might throw an IOException *param levelLength A reference to an integer large enough to save the relative file positions of all PGF levels *return number of bytes written into stream *UINT32 CEncoder::WriteLevelLength | ( | UINT32 *& | levelLength | ) |
Definition at line 172 of file Encoder.cpp.
| * Create level length data structure and write a place holder into stream* It might throw an IOException* param levelLength A reference to an integer CEncoder::array |
| * Partitions a rectangular region of a given subband* Partitioning int int CEncoder::height |
| * Partitions a rectangular region of a given subband* Partitioning CEncoder::scheme |
|
private |
| * Partitions a rectangular region of a given subband* Partitioning int int int CEncoder::startPos |
| * Partitions a rectangular region of a given subband* Partitioning int int int int pitch CEncoder::THROW_ |
| * Partitions a rectangular region of a given subband* Partitioning int CEncoder::width |