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 |