JP3D data compression More...
#include <LDM/compressors/SoJp3dDataCompressor.h>
Public Member Functions | |
SoJp3dDataCompressor () | |
Constructor. | |
virtual | ~SoJp3dDataCompressor () |
Destructor. | |
virtual SbString | getCompressionFormatName () const |
Returns the name of the compression algorithm used by this class. | |
virtual bool | isLossless () |
Checks if the compression is lossless. | |
virtual size_t | compress (void *src, size_t srcLen, const TileInfo &tileInfo) |
Compresses the given buffer into the internal buffer. | |
virtual size_t | uncompress (void *dst, size_t dstLen, const TileInfo &tileInfo) |
Uncompresses data from the internal buffer to the given buffer. | |
Public Member Functions inherited from SoDataCompressor | |
SoDataCompressor () | |
Constructor. | |
virtual | ~SoDataCompressor () |
Destructor. | |
virtual void | setCompressionLevel (size_t level) |
Sets the compression level. | |
virtual void * | allocateCompressedBuffer (size_t size) |
Allocates the internal buffer to hold the compressed data. | |
virtual void * | getCompressedBuffer () |
Returns the compressed data. | |
virtual size_t | getCompressionLevel () |
Returns the compression level. | |
Public Member Functions inherited from SoTypedObject | |
virtual SoType | getTypeId () const =0 |
Returns the type identifier for a specific instance. | |
SbBool | isOfType (const SoType &type) const |
Returns TRUE if this object is of the type specified in type or is derived from that type. | |
template<typename TypedObjectClass > | |
SbBool | isOfType () const |
Returns TRUE if this object is of the type of class TypedObjectClass or is derived from that class. | |
Additional Inherited Members | |
Static Public Member Functions inherited from SoDataCompressor | |
static SoDataCompressor * | getAppropriateCompressor (const SbString &name) |
Create and return an instance of a compressor of the given type. | |
static SbStringList | getAvailableCompressors () |
Return a list of all available compressors. | |
static size_t | crc32 (const void *buf, size_t len) |
Utility function to get the CRC32 of a buffer. | |
Static Public Member Functions inherited from SoTypedObject | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
This class implements a wavelet compression scheme based on JP3D compression, an extension of the standard JPEG2000 algorithms specifically designed for volume data. It supports lossless and lossy compression. This is controlled by setCompressionLevel (see SoDataCompressor or SoConvertedParameters). A compression level of 0 specifies the lossless mode. Any other value specifies the target PSNR (Peak Signal to Noise Ratio).
Typical values for compression level (PSNR):
Limitations:
SoGzipDataCompressor, SoJpegDataCompressor, SoDataCompressor, SoConverterParameters
Definition at line 62 of file SoJp3dDataCompressor.h.
SoJp3dDataCompressor::SoJp3dDataCompressor | ( | ) |
Constructor.
|
virtual |
Destructor.
|
virtual |
Compresses the given buffer into the internal buffer.
src | a pointer to the data to compress. |
srcLen | the size of the source buffer in bytes. |
tileInfo | contains information about the tile being processed. |
Implements SoDataCompressor.
|
virtual |
Returns the name of the compression algorithm used by this class.
This is the name the user must pass to the "-c" option of the converter to use this compression ("jp3d" here).
Implements SoDataCompressor.
|
virtual |
Checks if the compression is lossless.
The lossless mode is active if the compression level is 0 (the default).
Implements SoDataCompressor.
|
virtual |
Uncompresses data from the internal buffer to the given buffer.
dst | a pointer to the destination buffer. |
dstLen | the size of the destination buffer. |
tileInfo | contains information about the tile being processed |
Implements SoDataCompressor.