ldas-tools-framecpp 3.0.4
|
Routines related to compression algorithems. More...
Namespaces | |
namespace | Differential |
Routines related to the differential compression algorithm. | |
namespace | GZip |
Routines related to the gzip compression algorith. | |
namespace | ZeroSuppress |
Routines related to the gzip compression algorith. | |
namespace | Zstd |
Routines related to the gzip compression algorith. |
Typedefs | |
typedef boost::shared_array< CHAR_U > | output_type |
typedef INT_2U | compression_base_type |
typedef LDASTools::AL::unordered_map< INT_4U, data_types_type > | data_type_mapping |
typedef LDASTools::AL::unordered_map< INT_4U, compress_type > | compress_type_mapping |
typedef LDASTools::AL::unordered_map< compress_type, INT_4U > | compress_type_reverse_mapping |
Functions | |
void | Compress (INT_4U &CompressionMode, INT_4U Level, const compress_type_mapping &CompressionMapping, const compress_type_reverse_mapping &CompressionReverseMapping, INT_4U DataType, const data_type_mapping &DataTypeMapping, const CHAR_U *Source, const INT_8U SourceLength, const INT_8U SourceByteLength, output_type &Dest, INT_8U &DestByteLength) |
compress data without altering the source | |
void | Expand (const bool NativeOrder, const INT_4U CompressionMode, const compress_type_mapping &CompressionMapping, const INT_4U DataType, const data_type_mapping &DataTypeMapping, const CHAR_U *Source, const INT_8U SourceLength, const INT_8U SourceByteLength, output_type &Dest, INT_8U &DataByteLength) |
uncompress data without altering the source |
Routines related to compression algorithems.
typedef LDASTools::AL::unordered_map< INT_4U, compress_type > FrameCPP::Compression::compress_type_mapping |
typedef LDASTools::AL::unordered_map< compress_type, INT_4U > FrameCPP::Compression::compress_type_reverse_mapping |
typedef INT_2U FrameCPP::Compression::compression_base_type |
typedef LDASTools::AL::unordered_map< INT_4U, data_types_type > FrameCPP::Compression::data_type_mapping |
typedef boost::shared_array< CHAR_U > FrameCPP::Compression::output_type |
Enumerated type for general compression modes.
Enumerator | |
---|---|
MODE_RAW | Uncompressed raw values. |
MODE_GZIP | Gzip of any data type. |
MODE_DIFF | |
MODE_DIFF_GZIP | Gzip of differential values for FR_VECT_C, FR_VECT_1U, FR_VECT_2S, FR_VECT_2U, FR_VECT_4S, and FR_VECT_4U. |
MODE_ZERO_SUPPRESS_SHORT | Zero suppression algorithm for FR_VECT_2S and FR_VECT_2U. |
MODE_ZERO_SUPPRESS_INT_FLOAT | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R. |
MODE_ZERO_SUPPRESS_WORD_4 | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R, and FR_VECT_8C. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_ZERO_SUPPRESS_WORD_8 | Zero suppression algorithm for FR_VECT_8S, FR_VECT_8U, FR_VECT_8R, and FR_VECT_16C. If used on data types FR_VECT_4U, FR_VECT_4S, FR_VECT_4R or FR_VECT_8C, then the mode is modified to MODE_ZERO_SUPPRESS_INT_FLOAT. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_DIFF_ZSTD | Zstd of differential values for FR_VECT_C, FR_VECT_1U, FR_VECT_2S, FR_VECT_2U, FR_VECT_4S, and FR_VECT_4U. |
MODE_ZERO_SUPPRESS | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R, and FR_VECT_8C. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_ZERO_SUPPRESS_2_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_4_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_4_8_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; for FR_VECT_8U, FR_VECT_8S, FR_VECT_8R, and FR_VECT_16C, compression mode MODE_ZERO_SUPPRESS_WORD_8 is used; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; All other data types are compressed using MODE_ZSTD. |
MODE_ZERO_SUPPRESS_2_4_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; All other data types are compressed using MODE_STD. |
MODE_ZERO_SUPPRESS_2_4_8_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; for FR_VECT_8U, FR_VECT_8S, FR_VECT_8R, and FR_VECT_16C, compression mode MODE_ZERO_SUPPRESS_WORD_8 is used; All other data types are compressed using MODE_GZIP. |
MODE_BEST_COMPRESSION | This compression mode tries to compress the data using all known compression modes and keeps the one with the highest compression ratio. |
MODE_RAW | Uncompressed raw values. |
MODE_GZIP | Gzip of any data type. |
MODE_DIFF | |
MODE_DIFF_GZIP | Gzip of differential values for FR_VECT_C, FR_VECT_1U, FR_VECT_2S, FR_VECT_2U, FR_VECT_4S, and FR_VECT_4U. |
MODE_ZERO_SUPPRESS_SHORT | Zero suppression algorithm for FR_VECT_2S and FR_VECT_2U. |
MODE_ZERO_SUPPRESS_INT_FLOAT | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R. |
MODE_ZERO_SUPPRESS_WORD_4 | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R, and FR_VECT_8C. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_ZERO_SUPPRESS_WORD_8 | Zero suppression algorithm for FR_VECT_8S, FR_VECT_8U, FR_VECT_8R, and FR_VECT_16C. If used on data types FR_VECT_4U, FR_VECT_4S, FR_VECT_4R or FR_VECT_8C, then the mode is modified to MODE_ZERO_SUPPRESS_INT_FLOAT. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_DIFF_ZSTD | Zstd of differential values for FR_VECT_C, FR_VECT_1U, FR_VECT_2S, FR_VECT_2U, FR_VECT_4S, and FR_VECT_4U. |
MODE_ZERO_SUPPRESS | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R, and FR_VECT_8C. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_ZERO_SUPPRESS_2_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_4_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_4_8_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; for FR_VECT_8U, FR_VECT_8S, FR_VECT_8R, and FR_VECT_16C, compression mode MODE_ZERO_SUPPRESS_WORD_8 is used; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; All other data types are compressed using MODE_ZSTD. |
MODE_ZERO_SUPPRESS_2_4_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; All other data types are compressed using MODE_STD. |
MODE_ZERO_SUPPRESS_2_4_8_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; for FR_VECT_8U, FR_VECT_8S, FR_VECT_8R, and FR_VECT_16C, compression mode MODE_ZERO_SUPPRESS_WORD_8 is used; All other data types are compressed using MODE_GZIP. |
MODE_BEST_COMPRESSION | This compression mode tries to compress the data using all known compression modes and keeps the one with the highest compression ratio. |
Enumerated type for general compression modes.
Enumerator | |
---|---|
MODE_RAW | Uncompressed raw values. |
MODE_GZIP | Gzip of any data type. |
MODE_DIFF | |
MODE_DIFF_GZIP | Gzip of differential values for FR_VECT_C, FR_VECT_1U, FR_VECT_2S, FR_VECT_2U, FR_VECT_4S, and FR_VECT_4U. |
MODE_ZERO_SUPPRESS_SHORT | Zero suppression algorithm for FR_VECT_2S and FR_VECT_2U. |
MODE_ZERO_SUPPRESS_INT_FLOAT | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R. |
MODE_ZERO_SUPPRESS_WORD_4 | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R, and FR_VECT_8C. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_ZERO_SUPPRESS_WORD_8 | Zero suppression algorithm for FR_VECT_8S, FR_VECT_8U, FR_VECT_8R, and FR_VECT_16C. If used on data types FR_VECT_4U, FR_VECT_4S, FR_VECT_4R or FR_VECT_8C, then the mode is modified to MODE_ZERO_SUPPRESS_INT_FLOAT. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_DIFF_ZSTD | Zstd of differential values for FR_VECT_C, FR_VECT_1U, FR_VECT_2S, FR_VECT_2U, FR_VECT_4S, and FR_VECT_4U. |
MODE_ZERO_SUPPRESS | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R, and FR_VECT_8C. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_ZERO_SUPPRESS_2_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_4_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_4_8_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; for FR_VECT_8U, FR_VECT_8S, FR_VECT_8R, and FR_VECT_16C, compression mode MODE_ZERO_SUPPRESS_WORD_8 is used; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; All other data types are compressed using MODE_ZSTD. |
MODE_ZERO_SUPPRESS_2_4_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; All other data types are compressed using MODE_STD. |
MODE_ZERO_SUPPRESS_2_4_8_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; for FR_VECT_8U, FR_VECT_8S, FR_VECT_8R, and FR_VECT_16C, compression mode MODE_ZERO_SUPPRESS_WORD_8 is used; All other data types are compressed using MODE_GZIP. |
MODE_BEST_COMPRESSION | This compression mode tries to compress the data using all known compression modes and keeps the one with the highest compression ratio. |
MODE_RAW | Uncompressed raw values. |
MODE_GZIP | Gzip of any data type. |
MODE_DIFF | |
MODE_DIFF_GZIP | Gzip of differential values for FR_VECT_C, FR_VECT_1U, FR_VECT_2S, FR_VECT_2U, FR_VECT_4S, and FR_VECT_4U. |
MODE_ZERO_SUPPRESS_SHORT | Zero suppression algorithm for FR_VECT_2S and FR_VECT_2U. |
MODE_ZERO_SUPPRESS_INT_FLOAT | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R. |
MODE_ZERO_SUPPRESS_WORD_4 | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R, and FR_VECT_8C. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_ZERO_SUPPRESS_WORD_8 | Zero suppression algorithm for FR_VECT_8S, FR_VECT_8U, FR_VECT_8R, and FR_VECT_16C. If used on data types FR_VECT_4U, FR_VECT_4S, FR_VECT_4R or FR_VECT_8C, then the mode is modified to MODE_ZERO_SUPPRESS_INT_FLOAT. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_DIFF_ZSTD | Zstd of differential values for FR_VECT_C, FR_VECT_1U, FR_VECT_2S, FR_VECT_2U, FR_VECT_4S, and FR_VECT_4U. |
MODE_ZERO_SUPPRESS | Zero suppression algorithm for FR_VECT_4S, FR_VECT_4U, FR_VECT_4R, and FR_VECT_8C. If used on data types FR_VECT_2U or FR_VECT_2S, then the mode is modified to MODE_ZERO_SUPPRESS_SHORT. |
MODE_ZERO_SUPPRESS_2_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_4_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_4_8_OTHERWISE_GZIP | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; for FR_VECT_8U, FR_VECT_8S, FR_VECT_8R, and FR_VECT_16C, compression mode MODE_ZERO_SUPPRESS_WORD_8 is used; All other data types are compressed using MODE_GZIP. |
MODE_ZERO_SUPPRESS_2_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; All other data types are compressed using MODE_ZSTD. |
MODE_ZERO_SUPPRESS_2_4_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; All other data types are compressed using MODE_STD. |
MODE_ZERO_SUPPRESS_2_4_8_OTHERWISE_ZSTD | This meta mode uses MODE_ZERO_SUPPRESS_SHORT for FR_VECT_2S and FR_VECT_2U; for FR_VECT_4U, FR_VECT_4S, FR_VECT_4R, and FR_VECT_8C, compression mode MODE_ZERO_SUPPRESS_INT_FLOAT is used; for FR_VECT_8U, FR_VECT_8S, FR_VECT_8R, and FR_VECT_16C, compression mode MODE_ZERO_SUPPRESS_WORD_8 is used; All other data types are compressed using MODE_GZIP. |
MODE_BEST_COMPRESSION | This compression mode tries to compress the data using all known compression modes and keeps the one with the highest compression ratio. |
Enumerated type for supported vector data types.
Enumerator | |
---|---|
FR_VECT_C | CHAR data type. |
FR_VECT_2S | INT_2S data type. |
FR_VECT_8R | REAL_8 data type. |
FR_VECT_4R | REAL_4 data type. |
FR_VECT_4S | INT_4S data type. |
FR_VECT_8S | INT_8S data type. |
FR_VECT_8C | COMPLEX_8 data type. |
FR_VECT_16C | COMPLEX_16 data type. |
FR_VECT_STRING | STRING data type. |
FR_VECT_2U | INT_2U data type. |
FR_VECT_4U | INT_4U data type. |
FR_VECT_8U | INT_8U data type. |
FR_VECT_1U | CHAR_U data type. |
FR_VECT_C | CHAR data type. |
FR_VECT_2S | INT_2S data type. |
FR_VECT_8R | REAL_8 data type. |
FR_VECT_4R | REAL_4 data type. |
FR_VECT_4S | INT_4S data type. |
FR_VECT_8S | INT_8S data type. |
FR_VECT_8C | COMPLEX_8 data type. |
FR_VECT_16C | COMPLEX_16 data type. |
FR_VECT_STRING | STRING data type. |
FR_VECT_2U | INT_2U data type. |
FR_VECT_4U | INT_4U data type. |
FR_VECT_8U | INT_8U data type. |
FR_VECT_1U | CHAR_U data type. |
Enumerated type for supported vector data types.
Enumerator | |
---|---|
FR_VECT_C | CHAR data type. |
FR_VECT_2S | INT_2S data type. |
FR_VECT_8R | REAL_8 data type. |
FR_VECT_4R | REAL_4 data type. |
FR_VECT_4S | INT_4S data type. |
FR_VECT_8S | INT_8S data type. |
FR_VECT_8C | COMPLEX_8 data type. |
FR_VECT_16C | COMPLEX_16 data type. |
FR_VECT_STRING | STRING data type. |
FR_VECT_2U | INT_2U data type. |
FR_VECT_4U | INT_4U data type. |
FR_VECT_8U | INT_8U data type. |
FR_VECT_1U | CHAR_U data type. |
FR_VECT_C | CHAR data type. |
FR_VECT_2S | INT_2S data type. |
FR_VECT_8R | REAL_8 data type. |
FR_VECT_4R | REAL_4 data type. |
FR_VECT_4S | INT_4S data type. |
FR_VECT_8S | INT_8S data type. |
FR_VECT_8C | COMPLEX_8 data type. |
FR_VECT_16C | COMPLEX_16 data type. |
FR_VECT_STRING | STRING data type. |
FR_VECT_2U | INT_2U data type. |
FR_VECT_4U | INT_4U data type. |
FR_VECT_8U | INT_8U data type. |
FR_VECT_1U | CHAR_U data type. |
void FrameCPP::Compression::Compress | ( | INT_4U & | CompressionMode, |
INT_4U | Level, | ||
const compress_type_mapping & | CompressionMapping, | ||
const compress_type_reverse_mapping & | CompressionReverseMapping, | ||
INT_4U | DataType, | ||
const data_type_mapping & | DataTypeMapping, | ||
const CHAR_U * | Source, | ||
const INT_8U | SourceLength, | ||
const INT_8U | SourceByteLength, | ||
output_type & | Dest, | ||
INT_8U & | DestByteLength ) |
compress data without altering the source
[in,out] | CompressionMode | On input, this variable represents the desired compression method to be used. Because some compression modes represent a set of compression methods, this value may be modified to signify the one actually choosen. |
[in] | Level | Some compression methods support the idea of levels. For these methods, it usually is a trade off between speed and size. The higher the level, the harder the algorithm tries to compress the data. |
[in] | CompressionMapping | Provides an interface from the frame spec to the generic compression routine about the compression being requested. |
[in] | CompressionReverseMapping | Provides mapping information about how to go from the generic compression modes to the frame specification compression modes. |
[in] | DataType | The data type of the source. |
[in] | DataTypeMapping | This is a table mapping the supported data types allowed by the user. Since these routines are general, they may be able to do more than what the caller is requesting. This table limits the allowed data types. |
[in] | Source | This is a buffer of data to be compressed. |
[in] | SourceLength | The number of data elements in the origional, uncompressed data array. |
[in] | SourceByteLength | The number of bytes used by Source. |
[out] | Dest | The buffer in compressed format. If the compression failed, then this will be a NULL pointer. If the compression succeeded, this will be a pointer allocated via new[] and is the responsibility of the caller to deallocate. |
[out] | DestByteLength | The number of bytes used by Dest. If the compression failed, then this will be zero. |
This will take on input buffer and generate a compressed version of the input buffer.
void FrameCPP::Compression::Expand | ( | const bool | NativeOrder, |
const INT_4U | CompressionMode, | ||
const compress_type_mapping & | CompressionMapping, | ||
const INT_4U | DataType, | ||
const data_type_mapping & | DataTypeMapping, | ||
const CHAR_U * | Source, | ||
const INT_8U | SourceLength, | ||
const INT_8U | SourceByteLength, | ||
output_type & | Dest, | ||
INT_8U & | DataByteLength ) |
uncompress data without altering the source
[in] | NativeOrder | Boolean describing if the data being uncompressed is of the same byte order as the host. |
[in] | CompressionMode | Version specific compression mode. |
[in] | CompressionMapping | Map from version specific compression modes to compression modes used by the general compression routines. |
[in] | DataType | Version specific data type. |
[in] | DataTypeMapping | Map from version specific data type to data types used by the general compression routines. |
[in] | Source | The compressed data stream. |
[in] | SourceLength | The number of data elements. |
[in] | SourceByteLength | The number of bytes |
[out] | Dest | New buffer containing the decompressed data. |
[out] | DataByteLength | The number of bytes allocated to Dest. |