<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.10"/> <title>OpenJPEG: INVERT - Implementation of a matrix inversion</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">OpenJPEG  <span id="projectnumber">2.1.2</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.10 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">INVERT - Implementation of a matrix inversion</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a> Exported functions</h2></td></tr> <tr class="memitem:ga7a19282d629041177b0c0fdf8a039b08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___i_n_v_e_r_t.html#ga7a19282d629041177b0c0fdf8a039b08">opj_matrix_inversion_f</a> (<a class="el" href="openjpeg_8h.html#a62c71ae712322de0bef73cebae23fa04">OPJ_FLOAT32</a> *pSrcMatrix, <a class="el" href="openjpeg_8h.html#a62c71ae712322de0bef73cebae23fa04">OPJ_FLOAT32</a> *pDestMatrix, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> nb_compo)</td></tr> <tr class="memdesc:ga7a19282d629041177b0c0fdf8a039b08"><td class="mdescLeft"> </td><td class="mdescRight">Calculates a n x n double matrix inversion with a LUP method. <a href="#ga7a19282d629041177b0c0fdf8a039b08">More...</a><br /></td></tr> <tr class="separator:ga7a19282d629041177b0c0fdf8a039b08"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga7a19282d629041177b0c0fdf8a039b08"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> opj_matrix_inversion_f </td> <td>(</td> <td class="paramtype"><a class="el" href="openjpeg_8h.html#a62c71ae712322de0bef73cebae23fa04">OPJ_FLOAT32</a> * </td> <td class="paramname"><em>pSrcMatrix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="openjpeg_8h.html#a62c71ae712322de0bef73cebae23fa04">OPJ_FLOAT32</a> * </td> <td class="paramname"><em>pDestMatrix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> </td> <td class="paramname"><em>nb_compo</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Calculates a n x n double matrix inversion with a LUP method. </p> <p>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.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pSrcMatrix</td><td>the matrix to invert. </td></tr> <tr><td class="paramname">pDestMatrix</td><td>data to store the inverted matrix. </td></tr> <tr><td class="paramname">n</td><td>size of the matrix </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>OPJ_TRUE if the inversion is successful, OPJ_FALSE if the matrix is singular.</dd></dl> <p>Calculates a n x n double matrix inversion with a LUP method. </p> <p>References <a class="el" href="openjpeg_8h.html#ac672bfd7db39c609e828acb07a321964">OPJ_FALSE</a>, <a class="el" href="group___m_i_s_c.html#ga2bd00e2482ae36197631bde0665cfdfe">opj_free()</a>, <a class="el" href="invert_8c.html#a40666080ced941508395998c700a4b70">opj_lupDecompose()</a>, <a class="el" href="invert_8c.html#a88339411e582e3c36af4b808df8561e4">opj_lupInvert()</a>, <a class="el" href="group___m_i_s_c.html#ga49c70931cbed786f6eef5f095bcb2917">opj_malloc()</a>, and <a class="el" href="openjpeg_8h.html#a04830036d767cba56cbf5ae5bdc481d3">OPJ_TRUE</a>.</p> <p>Referenced by <a class="el" href="group___j2_k.html#ga4a6561d0899d91b38099da38814cbe86">opj_j2k_setup_encoder()</a>.</p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.10 </small></address> </body> </html>