ldas-tools-framecpp
2.7.0
|
Routines related to compression algorithems. More...
Namespaces | |
Differential | |
Routines related to the differential compression algorithm. | |
GZip | |
Routines related to the gzip compression algorith. | |
ZeroSuppress | |
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 More... | |
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 More... | |
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.
Enumerated type for general compression modes.
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. |