xrif
A fast lossless compression system
|
Modules | |
Fine-grained Initialization, Setup, and Allocation | |
Functions | |
xrif_error_t | xrif_new (xrif_t *handle_ptr) |
Allocate a handle and initialize it. More... | |
xrif_error_t | xrif_set_size (xrif_t handle, xrif_dimension_t w, xrif_dimension_t h, xrif_dimension_t d, xrif_dimension_t f, xrif_typecode_t c) |
Set the basic parameters of an xrif handle. More... | |
xrif_error_t | xrif_configure (xrif_t handle, int difference_method, int reorder_method, int compress_method) |
Configure the difference, reorder, and compression methods. More... | |
xrif_error_t | xrif_allocate (xrif_t handle) |
Allocate all memory buffers according to the configuration specified in the handle. More... | |
xrif_error_t | xrif_reset (xrif_t handle) |
Reset a handle, restoring it to the initialized state. De-allocates owned pointers and re-initializes. More... | |
xrif_error_t | xrif_delete (xrif_t handle) |
Deallocate a handle, including any memory that it owns. More... | |
xrif_error_t xrif_allocate | ( | xrif_t | handle | ) |
Allocate all memory buffers according to the configuration specified in the handle.
You must call xrif_set_size and xrif_configure prior to calling this function.
handle
is a null pointer malloc
[in,out] | handle | [in/out] the xrif object to be allocated |
Definition at line 199 of file xrif.c.
References xrif_handle::compress_on_raw, xrif_handle::data_size, xrif_handle::depth, xrif_handle::frames, xrif_handle::height, xrif_handle::width, xrif_allocate_compressed(), xrif_allocate_raw(), xrif_allocate_reordered(), XRIF_ERROR_NOT_SETUP, XRIF_ERROR_NULLPTR, XRIF_ERROR_PRINT, and XRIF_NOERROR.
xrif_error_t xrif_configure | ( | xrif_t | handle, |
int | difference_method, | ||
int | reorder_method, | ||
int | compress_method | ||
) |
Configure the difference, reorder, and compression methods.
Sets the difference_method, reorder_method, and compress_method members of handle.
handle
is a NULL pointer difference_method
, reorder_method
, or compress_method
is not a valid method. Will set that method its default. [in,out] | handle | [in/out] the xrif handle to be configured |
[in] | difference_method | [in] the new reorder method |
[in] | reorder_method | [in] the new reorder method |
[in] | compress_method | [in] the new compress method |
Definition at line 172 of file xrif.c.
References XRIF_ERROR_NULLPTR, XRIF_ERROR_PRINT, XRIF_NOERROR, xrif_set_compress_method(), xrif_set_difference_method(), and xrif_set_reorder_method().
xrif_error_t xrif_delete | ( | xrif_t | handle | ) |
Deallocate a handle, including any memory that it owns.
[in] | handle | [in] an xrif handle which has been initialized with xrif_new |
Definition at line 277 of file xrif.c.
References XRIF_ERROR_NULLPTR, XRIF_ERROR_PRINT, and xrif_reset().
xrif_error_t xrif_new | ( | xrif_t * | handle_ptr | ) |
Allocate a handle and initialize it.
The argument is a pointer to xrif_t, making it the address of an xrif_handle
pointer.
[out] | handle_ptr | [out] a pointer to an xrif handle. |
Definition at line 107 of file xrif.c.
References XRIF_ERROR_MALLOC, XRIF_ERROR_NULLPTR, XRIF_ERROR_PRINT, and xrif_initialize_handle().
Referenced by START_TEST().
xrif_error_t xrif_reset | ( | xrif_t | handle | ) |
Reset a handle, restoring it to the initialized state. De-allocates owned pointers and re-initializes.
Free()s the raw and reordered buffers (if owned by this handle) and calls xrif_initialize_handle(). All defaults will be set.
handle
is a null pointer [in,out] | handle | [in/out] the xrif handle |
Definition at line 243 of file xrif.c.
References xrif_handle::compressed_buffer, xrif_handle::own_compressed, xrif_handle::own_raw, xrif_handle::own_reordered, xrif_handle::raw_buffer, xrif_handle::reordered_buffer, XRIF_ERROR_NULLPTR, XRIF_ERROR_PRINT, xrif_initialize_handle(), and XRIF_NOERROR.
Referenced by xrif_delete().
xrif_error_t xrif_set_size | ( | xrif_t | handle, |
xrif_dimension_t | w, | ||
xrif_dimension_t | h, | ||
xrif_dimension_t | d, | ||
xrif_dimension_t | f, | ||
xrif_typecode_t | c | ||
) |
Set the basic parameters of an xrif handle.
After setting these parameters, a call to one of the allocate or set functions will succceed.
handle
is a NULL pointer w
, h
, d
, or f
are 0. c
specifies an invalid type code [in,out] | handle | [in/out] the xrif handle to be set up |
[in] | w | [in] the width of a single frame of data, in pixels |
[in] | h | [in] the height of a single frame of data, in pixels |
[in] | d | [in] the depth of a single frame of data, in pixels |
[in] | f | [in] the number of frames of data, each frame having w X h x d pixels |
[in] | c | [in] the code specifying the data type |
Definition at line 128 of file xrif.c.
References xrif_handle::data_size, xrif_handle::depth, xrif_handle::frames, xrif_handle::height, xrif_handle::raw_size, xrif_handle::type_code, xrif_handle::width, XRIF_ERROR_INVALID_SIZE, XRIF_ERROR_INVALID_TYPE, XRIF_ERROR_NULLPTR, XRIF_ERROR_PRINT, XRIF_NOERROR, and xrif_typesize().