openjpeg/doxygen/opj__intmath_8h_source.html

92 lines
51 KiB
HTML
Raw Normal View History

2015-07-10 18:06:19 +02:00
<!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"/>
2020-12-28 22:12:25 +01:00
<meta name="generator" content="Doxygen 1.8.11"/>
2015-07-10 18:06:19 +02:00
<title>OpenJPEG: opj_intmath.h Source File</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;">
2016-09-29 22:38:29 +02:00
<td id="projectalign" style="padding-left: 0.5em;">
2015-07-10 18:06:19 +02:00
<div id="projectname">OpenJPEG
2020-12-28 22:12:25 +01:00
&#160;<span id="projectnumber">2.4.0</span>
2015-07-10 18:06:19 +02:00
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
2020-12-28 22:12:25 +01:00
<!-- Generated by Doxygen 1.8.11 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
2015-07-10 18:06:19 +02:00
<div id="nav-path" class="navpath">
<ul>
2020-12-28 22:12:25 +01:00
<li class="navelem"><a class="el" href="dir_43e0a1f539e00dcfa1a6bc4d4fee4fc2.html">home</a></li><li class="navelem"><a class="el" href="dir_cb9b2b419d92b64f7cee83d8faf7a4ab.html">even</a></li><li class="navelem"><a class="el" href="dir_f75d9a0165d6564a1e04793ef847d41d.html">openjpeg</a></li><li class="navelem"><a class="el" href="dir_5f588d7ea139c1aae751d03c13a16064.html">openjpeg</a></li><li class="navelem"><a class="el" href="dir_378f732e812ef6cbaaae22e96a4fa79f.html">src</a></li><li class="navelem"><a class="el" href="dir_19dcb5713315405a27e1bde75a489a4c.html">lib</a></li><li class="navelem"><a class="el" href="dir_54e5bc4f0640fea590afaf04f4d9c88d.html">openjp2</a></li> </ul>
2015-07-10 18:06:19 +02:00
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">opj_intmath.h</div> </div>
</div><!--header-->
<div class="contents">
2020-12-28 22:12:25 +01:00
<a href="opj__intmath_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * The copyright in this software is being made available under the 2-clauses</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * BSD License, included below. This software may be subject to other third</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * party and contributor rights, including patent rights, and no such rights</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * are granted under this license.</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * Copyright (c) 2002-2014, Professor Benoit Macq</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * Copyright (c) 2001-2003, David Janssens</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Copyright (c) 2002-2003, Yannick Verschueren</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * Copyright (c) 2003-2007, Francois-Olivier Devaux</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * Copyright (c) 2003-2014, Antonin Descampe</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * Copyright (c) 2005, Herve Drolon, FreeImage Team</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * All rights reserved.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * modification, are permitted provided that the following conditions</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * are met:</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * documentation and/or other materials provided with the distribution.</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE
<div class="ttc" id="index__manager_8c_html_ac1d9c713f42b405f9e353ec99b880755"><div class="ttname"><a href="index__manager_8c.html#ac1d9c713f42b405f9e353ec99b880755">min</a></div><div class="ttdeci">Byte4_t min(Byte4_t n1, Byte4_t n2)</div><div class="ttdef"><b>Definition:</b> index_manager.c:783</div></div>
2015-07-10 18:06:19 +02:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gaac315c40dca690742df538fcc21d4f91"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gaac315c40dca690742df538fcc21d4f91">opj_int_min</a></div><div class="ttdeci">static INLINE OPJ_INT32 opj_int_min(OPJ_INT32 a, OPJ_INT32 b)</div><div class="ttdoc">Get the minimum of two integers. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:56</div></div>
2020-12-28 22:12:25 +01:00
<div class="ttc" id="index__manager_8c_html_aecefdbf80129b12f2ef66ccfbedbb7fe"><div class="ttname"><a href="index__manager_8c.html#aecefdbf80129b12f2ef66ccfbedbb7fe">max</a></div><div class="ttdeci">Byte4_t max(Byte4_t n1, Byte4_t n2)</div><div class="ttdef"><b>Definition:</b> index_manager.c:774</div></div>
2017-10-05 00:57:21 +02:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gabdf6c78f5b60afd230901e5e0c57f491"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gabdf6c78f5b60afd230901e5e0c57f491">opj_int_floordivpow2</a></div><div class="ttdeci">static INLINE OPJ_INT32 opj_int_floordivpow2(OPJ_INT32 a, OPJ_INT32 b)</div><div class="ttdoc">Divide an integer by a power of 2 and round downwards. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:207</div></div>
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gae4b2e5a7c8b8f09faacc4a895f866ea1"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gae4b2e5a7c8b8f09faacc4a895f866ea1">opj_uint_ceildiv</a></div><div class="ttdeci">static INLINE OPJ_UINT32 opj_uint_ceildiv(OPJ_UINT32 a, OPJ_UINT32 b)</div><div class="ttdoc">Divide an integer and round upwards. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:170</div></div>
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_ga6881e82a881556059d14d265a8d0aa25"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#ga6881e82a881556059d14d265a8d0aa25">opj_int64_ceildivpow2</a></div><div class="ttdeci">static INLINE OPJ_INT32 opj_int64_ceildivpow2(OPJ_INT64 a, OPJ_INT32 b)</div><div class="ttdoc">Divide a 64bits integer by a power of 2 and round upwards. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:189</div></div>
2015-07-10 18:06:19 +02:00
<div class="ttc" id="openjpeg_8h_html_a3cec91ef9e73677f0dbd60d4e42401b9"><div class="ttname"><a href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a></div><div class="ttdeci">int32_t OPJ_INT32</div><div class="ttdef"><b>Definition:</b> openjpeg.h:125</div></div>
2017-10-05 00:57:21 +02:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gaaa1e441dec325d33ccd86aa7ca8ccfdc"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gaaa1e441dec325d33ccd86aa7ca8ccfdc">opj_int_ceildivpow2</a></div><div class="ttdeci">static INLINE OPJ_INT32 opj_int_ceildivpow2(OPJ_INT32 a, OPJ_INT32 b)</div><div class="ttdoc">Divide an integer by a power of 2 and round upwards. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:180</div></div>
2017-08-10 06:39:58 +02:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_ga06c1c4470f9765a3ed04963b0daa111a"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#ga06c1c4470f9765a3ed04963b0daa111a">opj_uint_min</a></div><div class="ttdeci">static INLINE OPJ_UINT32 opj_uint_min(OPJ_UINT32 a, OPJ_UINT32 b)</div><div class="ttdoc">Get the minimum of two integers. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:65</div></div>
2020-12-28 22:12:25 +01:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gaa6a55d57af96308459f6de414227ae40"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gaa6a55d57af96308459f6de414227ae40">opj_int_floorlog2</a></div><div class="ttdeci">static INLINE OPJ_INT32 opj_int_floorlog2(OPJ_INT32 a)</div><div class="ttdoc">Get logarithm of an integer and round downwards. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:225</div></div>
2015-07-10 18:06:19 +02:00
<div class="ttc" id="openjpeg_8h_html_ad915cf26c4c9cc10a75b2d9287dbbb5e"><div class="ttname"><a href="openjpeg_8h.html#ad915cf26c4c9cc10a75b2d9287dbbb5e">OPJ_UINT64</a></div><div class="ttdeci">uint64_t OPJ_UINT64</div><div class="ttdef"><b>Definition:</b> openjpeg.h:128</div></div>
<div class="ttc" id="openjpeg_8h_html_a2eb6f9e0395b47b8d5e3eeae4fe0c116"><div class="ttname"><a href="openjpeg_8h.html#a2eb6f9e0395b47b8d5e3eeae4fe0c116">INLINE</a></div><div class="ttdeci">#define INLINE</div><div class="ttdef"><b>Definition:</b> openjpeg.h:65</div></div>
2020-12-28 22:12:25 +01:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_ga91ef25eaa56320684de5d1e3a4097823"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#ga91ef25eaa56320684de5d1e3a4097823">opj_uint_floorlog2</a></div><div class="ttdeci">static INLINE OPJ_UINT32 opj_uint_floorlog2(OPJ_UINT32 a)</div><div class="ttdoc">Get logarithm of an integer and round downwards. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:237</div></div>
2017-08-10 06:39:58 +02:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_ga2f7d5c3934ee6be38763652b7f80ea6c"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#ga2f7d5c3934ee6be38763652b7f80ea6c">opj_int_max</a></div><div class="ttdeci">static INLINE OPJ_INT32 opj_int_max(OPJ_INT32 a, OPJ_INT32 b)</div><div class="ttdoc">Get the maximum of two integers. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:74</div></div>
2020-12-28 22:12:25 +01:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gaa2130d6482126a20e6680f82b254857b"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gaa2130d6482126a20e6680f82b254857b">opj_int_fix_mul</a></div><div class="ttdeci">static INLINE OPJ_INT32 opj_int_fix_mul(OPJ_INT32 a, OPJ_INT32 b)</div><div class="ttdoc">Multiply two fixed-precision rational numbers. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:252</div></div>
2017-10-05 00:57:21 +02:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gae592eb75f221decddec51834b6c4177d"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gae592eb75f221decddec51834b6c4177d">opj_uint_ceildivpow2</a></div><div class="ttdeci">static INLINE OPJ_UINT32 opj_uint_ceildivpow2(OPJ_UINT32 a, OPJ_UINT32 b)</div><div class="ttdoc">Divide an integer by a power of 2 and round upwards. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:198</div></div>
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_ga20a9a9e2aee9a99897131989b4a9e7e9"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#ga20a9a9e2aee9a99897131989b4a9e7e9">opj_int64_clamp</a></div><div class="ttdeci">static INLINE OPJ_INT64 opj_int64_clamp(OPJ_INT64 a, OPJ_INT64 min, OPJ_INT64 max)</div><div class="ttdoc">Clamp an integer inside an interval. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:137</div></div>
2017-08-10 06:39:58 +02:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_ga2c3eb35fddab83fef25256485b926fc0"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#ga2c3eb35fddab83fef25256485b926fc0">opj_uint_max</a></div><div class="ttdeci">static INLINE OPJ_UINT32 opj_uint_max(OPJ_UINT32 a, OPJ_UINT32 b)</div><div class="ttdoc">Get the maximum of two integers. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:83</div></div>
2017-10-05 00:57:21 +02:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gab00a7c3619b5af7595961047baff120e"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gab00a7c3619b5af7595961047baff120e">opj_int_ceildiv</a></div><div class="ttdeci">static INLINE OPJ_INT32 opj_int_ceildiv(OPJ_INT32 a, OPJ_INT32 b)</div><div class="ttdoc">Divide an integer and round upwards. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:160</div></div>
2017-08-10 06:39:58 +02:00
<div class="ttc" id="group___t1_html_ga46ab5a09928a8d3872a6128d5aa80ca1"><div class="ttname"><a href="group___t1.html#ga46ab5a09928a8d3872a6128d5aa80ca1">T1_NMSEDEC_FRACBITS</a></div><div class="ttdeci">#define T1_NMSEDEC_FRACBITS</div><div class="ttdef"><b>Definition:</b> t1.h:68</div></div>
2020-12-28 22:12:25 +01:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_ga6972ea9bd03fb83a3421e2578fa486f1"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#ga6972ea9bd03fb83a3421e2578fa486f1">opj_uint_floordivpow2</a></div><div class="ttdeci">static INLINE OPJ_UINT32 opj_uint_floordivpow2(OPJ_UINT32 a, OPJ_UINT32 b)</div><div class="ttdoc">Divide an integer by a power of 2 and round downwards. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:216</div></div>
2015-07-10 18:06:19 +02:00
<div class="ttc" id="openjpeg_8h_html_a4cb1e6e6b6ef2df499d5c02f7df54cbb"><div class="ttname"><a href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a></div><div class="ttdeci">uint32_t OPJ_UINT32</div><div class="ttdef"><b>Definition:</b> openjpeg.h:126</div></div>
<div class="ttc" id="openjpeg_8h_html_a871a81193cb4972db35948edd67360bd"><div class="ttname"><a href="openjpeg_8h.html#a871a81193cb4972db35948edd67360bd">OPJ_INT64</a></div><div class="ttdeci">int64_t OPJ_INT64</div><div class="ttdef"><b>Definition:</b> openjpeg.h:127</div></div>
2017-10-05 00:57:21 +02:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gacaef279a9031adbd9319990646328a01"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gacaef279a9031adbd9319990646328a01">opj_int_abs</a></div><div class="ttdeci">static INLINE OPJ_INT32 opj_int_abs(OPJ_INT32 a)</div><div class="ttdef"><b>Definition:</b> opj_intmath.h:152</div></div>
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gaefb4572107a9aea093be96d966869a0d"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gaefb4572107a9aea093be96d966869a0d">opj_int_clamp</a></div><div class="ttdeci">static INLINE OPJ_INT32 opj_int_clamp(OPJ_INT32 a, OPJ_INT32 min, OPJ_INT32 max)</div><div class="ttdoc">Clamp an integer inside an interval. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:116</div></div>
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gaef70413f6c794150eec1fc019b4de2d4"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gaef70413f6c794150eec1fc019b4de2d4">opj_uint_subs</a></div><div class="ttdeci">static INLINE OPJ_UINT32 opj_uint_subs(OPJ_UINT32 a, OPJ_UINT32 b)</div><div class="ttdoc">Get the saturated difference of two unsigned integers. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:102</div></div>
2017-08-10 06:39:58 +02:00
<div class="ttc" id="group___o_p_j___i_n_t_m_a_t_h_html_gab9aad885f5c9bc9e39420003b2b32fe5"><div class="ttname"><a href="group___o_p_j___i_n_t_m_a_t_h.html#gab9aad885f5c9bc9e39420003b2b32fe5">opj_uint_adds</a></div><div class="ttdeci">static INLINE OPJ_UINT32 opj_uint_adds(OPJ_UINT32 a, OPJ_UINT32 b)</div><div class="ttdoc">Get the saturated sum of two unsigned integers. </div><div class="ttdef"><b>Definition:</b> opj_intmath.h:92</div></div>
2015-07-10 18:06:19 +02:00
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
2020-12-28 22:12:25 +01:00
</a> 1.8.11
2015-07-10 18:06:19 +02:00
</small></address>
</body>
</html>