#include <dwt.hpp>
Static Public Member Functions | |
static __forceinline void | set_zlib_compr_flag (int flag_val) |
Set Zlib compression flag. | |
static void | dwt_fwdlift_53_2D (float *array, int pitch) |
Do forward transform. | |
static void | dwt_fwdlift_53_2D (float *array, int pitch, int transform_levels) |
Do forward transform. | |
static __forceinline void | dwt_invlift_53_2D (float *array, int pitch, int transform_levels) |
Do inverse transform. | |
static void | ezw_scanorder_indices (void) |
Initialize a datastructure for the EZW tree. | |
static void | print_array (float *array) |
Debug function. | |
static void | ezw_encode (float *work_array, int w, int h, int passes, uchar_t *ext_compr_data_dom, uchar_t *ext_compr_data_sub) |
EZW encoding. | |
static __forceinline void | ezw_decode (float *work_array, int w, int h, int passes, uchar_t *ext_compr_data_dom, uchar_t *ext_compr_data_sub) |
EZW decoding. |
Handles the discrete wavelet transform and the EZW compression (Shapiro).
static void DWT::dwt_fwdlift_53_2D | ( | float * | array, | |
int | pitch, | |||
int | transform_levels | |||
) | [inline, static] |
Do forward transform.
Do a 2D forward discrete wavelet transform by doing two 1D forward dwts on the colums and the rows of the 2D input-data. Note: array must be nxn, where n is "power of 2"
array | Source-data and destination for final transform. | |
pitch | Bytes per "line". | |
transform_levels | Determines, "how many passes" to perform on the input-data. |
static void DWT::dwt_fwdlift_53_2D | ( | float * | array, | |
int | pitch | |||
) | [inline, static] |
Do forward transform.
Do a 2D forward discrete wavelet transform by doing two 1D forward dwts on the colums and the rows of the 2D input-data. Note: array must be nxn, where n is "power of 2"
array | Source-data and destination for final transform. | |
pitch | Bytes per "line". |
static __forceinline void DWT::dwt_invlift_53_2D | ( | float * | array, | |
int | pitch, | |||
int | transform_levels | |||
) | [inline, static] |
Do inverse transform.
Do a 2D inverse discrete wavelet transform by doing two 1D inverse dwts on the colums and the rows of the 2D input-data. Note: array must be nxn, where n is "power of 2"
array | Source-data and destination for final transform. | |
pitch | Bytes per "line". | |
transform_levels | Determines, "how many passes" to perform on the input-data. |
static __forceinline void DWT::ezw_decode | ( | float * | work_array, | |
int | w, | |||
int | h, | |||
int | passes, | |||
uchar_t * | ext_compr_data_dom, | |||
uchar_t * | ext_compr_data_sub | |||
) | [inline, static] |
EZW decoding.
work_array | The input array. | |
w | The array's width. | |
h | The array's height. | |
passes | How many EZW passes to use. | |
ext_compr_data_dom | The source of the symbols of the dominant pass. | |
ext_compr_data_sub | The source of the symbols of the subordinate pass. |
static void DWT::ezw_encode | ( | float * | work_array, | |
int | w, | |||
int | h, | |||
int | passes, | |||
uchar_t * | ext_compr_data_dom, | |||
uchar_t * | ext_compr_data_sub | |||
) | [inline, static] |
EZW encoding.
work_array | The input array. | |
w | The array's width. | |
h | The array's height. | |
passes | How many EZW passes to use. | |
ext_compr_data_dom | The destination for the symbols of the dominant pass. | |
ext_compr_data_sub | The destination for the symbols of the subordinate pass. |
static void DWT::ezw_scanorder_indices | ( | void | ) | [inline, static] |
Initialize a datastructure for the EZW tree.
This datastructure allows the traversal of the quadtree-like EZW tree.
static void DWT::print_array | ( | float * | array | ) | [inline, static] |
Debug function.
Prints the array (can be called either before or after the wavelet transform).
array | The array to print. |
static __forceinline void DWT::set_zlib_compr_flag | ( | int | flag_val | ) | [inline, static] |
Set Zlib compression flag.
This flag indicates, if the symbols from next transform are to be Zlib-compressed or not.
flag_val | The flag value (0 for no compression). |