OpenJPEG 2.5.4
invert.c File Reference
#include "opj_includes.h"

Functions

static OPJ_BOOL opj_lupDecompose (OPJ_FLOAT32 *matrix, OPJ_UINT32 *permutations, OPJ_FLOAT32 *p_swap_area, OPJ_UINT32 nb_compo)
 LUP decomposition.
static void opj_lupSolve (OPJ_FLOAT32 *pResult, OPJ_FLOAT32 *pMatrix, OPJ_FLOAT32 *pVector, OPJ_UINT32 *pPermutations, OPJ_UINT32 nb_compo, OPJ_FLOAT32 *p_intermediate_data)
 LUP solving.
static void opj_lupInvert (OPJ_FLOAT32 *pSrcMatrix, OPJ_FLOAT32 *pDestMatrix, OPJ_UINT32 nb_compo, OPJ_UINT32 *pPermutations, OPJ_FLOAT32 *p_src_temp, OPJ_FLOAT32 *p_dest_temp, OPJ_FLOAT32 *p_swap_area)
 LUP inversion (call with the result of lupDecompose).
OPJ_BOOL opj_matrix_inversion_f (OPJ_FLOAT32 *pSrcMatrix, OPJ_FLOAT32 *pDestMatrix, OPJ_UINT32 nb_compo)
 Matrix inversion.

Function Documentation

◆ opj_lupDecompose()

OPJ_BOOL opj_lupDecompose ( OPJ_FLOAT32 * matrix,
OPJ_UINT32 * permutations,
OPJ_FLOAT32 * p_swap_area,
OPJ_UINT32 nb_compo )
static

LUP decomposition.

References OPJ_FALSE, and OPJ_TRUE.

Referenced by opj_matrix_inversion_f().

◆ opj_lupInvert()

void opj_lupInvert ( OPJ_FLOAT32 * pSrcMatrix,
OPJ_FLOAT32 * pDestMatrix,
OPJ_UINT32 nb_compo,
OPJ_UINT32 * pPermutations,
OPJ_FLOAT32 * p_src_temp,
OPJ_FLOAT32 * p_dest_temp,
OPJ_FLOAT32 * p_swap_area )
static

LUP inversion (call with the result of lupDecompose).

References opj_lupSolve().

Referenced by opj_matrix_inversion_f().

◆ opj_lupSolve()

void opj_lupSolve ( OPJ_FLOAT32 * pResult,
OPJ_FLOAT32 * pMatrix,
OPJ_FLOAT32 * pVector,
OPJ_UINT32 * pPermutations,
OPJ_UINT32 nb_compo,
OPJ_FLOAT32 * p_intermediate_data )
static

LUP solving.

Referenced by opj_lupInvert().

◆ opj_matrix_inversion_f()

OPJ_BOOL opj_matrix_inversion_f ( OPJ_FLOAT32 * pSrcMatrix,
OPJ_FLOAT32 * pDestMatrix,
OPJ_UINT32 nb_compo )

Matrix inversion.

Calculates a n x n double matrix inversion with a LUP method.

Matrix inversion.

Data is aligned, rows after rows (or columns after columns). The function does not take ownership of any memory block, data must be fred by the user.

Parameters
pSrcMatrixthe matrix to invert.
pDestMatrixdata to store the inverted matrix.
nb_composize of the matrix
Returns
OPJ_TRUE if the inversion is successful, OPJ_FALSE if the matrix is singular.

References OPJ_FALSE, opj_free(), opj_lupDecompose(), opj_lupInvert(), opj_malloc(), and OPJ_TRUE.

Referenced by opj_j2k_setup_encoder().