Update ABI/API compatibility reports after commit 43b8ddc6af015715b2fbda2052a17b29d15...
[openjpeg.git] / doxygen / mqc__inl_8h.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.11"/>
7 <title>OpenJPEG: mqc_inl.h File Reference</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script>
10 <script type="text/javascript" src="dynsections.js"></script>
11 <link href="doxygen.css" rel="stylesheet" type="text/css" />
12 </head>
13 <body>
14 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
15 <div id="titlearea">
16 <table cellspacing="0" cellpadding="0">
17  <tbody>
18  <tr style="height: 56px;">
19   <td id="projectalign" style="padding-left: 0.5em;">
20    <div id="projectname">OpenJPEG
21    &#160;<span id="projectnumber">2.4.0</span>
22    </div>
23   </td>
24  </tr>
25  </tbody>
26 </table>
27 </div>
28 <!-- end header part -->
29 <!-- Generated by Doxygen 1.8.11 -->
30   <div id="navrow1" class="tabs">
31     <ul class="tablist">
32       <li><a href="index.html"><span>Main&#160;Page</span></a></li>
33       <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
34       <li><a href="modules.html"><span>Modules</span></a></li>
35       <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
36       <li class="current"><a href="files.html"><span>Files</span></a></li>
37     </ul>
38   </div>
39   <div id="navrow2" class="tabs2">
40     <ul class="tablist">
41       <li><a href="files.html"><span>File&#160;List</span></a></li>
42       <li><a href="globals.html"><span>Globals</span></a></li>
43     </ul>
44   </div>
45 <div id="nav-path" class="navpath">
46   <ul>
47 <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>
48 </div>
49 </div><!-- top -->
50 <div class="header">
51   <div class="summary">
52 <a href="#define-members">Macros</a> &#124;
53 <a href="#func-members">Functions</a>  </div>
54   <div class="headertitle">
55 <div class="title">mqc_inl.h File Reference</div>  </div>
56 </div><!--header-->
57 <div class="contents">
58
59 <p><a href="mqc__inl_8h_source.html">Go to the source code of this file.</a></p>
60 <table class="memberdecls">
61 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
62 Macros</h2></td></tr>
63 <tr class="memitem:a77750aa7d64cf6f783400c88435e99a8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a77750aa7d64cf6f783400c88435e99a8">opj_mqc_mpsexchange_macro</a>(d,  curctx,  a)</td></tr>
64 <tr class="separator:a77750aa7d64cf6f783400c88435e99a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
65 <tr class="memitem:a0e2e2ac16b81932dd21a765c9acb71d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a0e2e2ac16b81932dd21a765c9acb71d5">opj_mqc_lpsexchange_macro</a>(d,  curctx,  a)</td></tr>
66 <tr class="separator:a0e2e2ac16b81932dd21a765c9acb71d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
67 <tr class="memitem:ae5188ad6071ff78926872e908e66bf6f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#ae5188ad6071ff78926872e908e66bf6f">opj_mqc_bytein_macro</a>(mqc,  c,  ct)</td></tr>
68 <tr class="separator:ae5188ad6071ff78926872e908e66bf6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
69 <tr class="memitem:a26748854179015d73a35f07ed00b1f9d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a26748854179015d73a35f07ed00b1f9d">opj_mqc_renormd_macro</a>(mqc,  a,  c,  ct)</td></tr>
70 <tr class="separator:a26748854179015d73a35f07ed00b1f9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
71 <tr class="memitem:a40c56ca9f2d05d6107741d6f701616cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a40c56ca9f2d05d6107741d6f701616cf">opj_mqc_decode_macro</a>(d,  mqc,  curctx,  a,  c,  ct)</td></tr>
72 <tr class="separator:a40c56ca9f2d05d6107741d6f701616cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
73 <tr class="memitem:aaa7fd5399c753edfc3cf8d4ee3c5a16c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#aaa7fd5399c753edfc3cf8d4ee3c5a16c">DOWNLOAD_MQC_VARIABLES</a>(mqc,  curctx,  a,  c,  ct)</td></tr>
74 <tr class="separator:aaa7fd5399c753edfc3cf8d4ee3c5a16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
75 <tr class="memitem:a6d0d6c32ec7bb70eedefc7fc8c1bf3df"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a6d0d6c32ec7bb70eedefc7fc8c1bf3df">UPLOAD_MQC_VARIABLES</a>(mqc,  curctx,  a,  c,  ct)</td></tr>
76 <tr class="separator:a6d0d6c32ec7bb70eedefc7fc8c1bf3df"><td class="memSeparator" colspan="2">&#160;</td></tr>
77 <tr class="memitem:a7364151e7c65e86436818cef3f7ad822"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a7364151e7c65e86436818cef3f7ad822">opj_mqc_renormd</a>(mqc)&#160;&#160;&#160;<a class="el" href="mqc__inl_8h.html#a26748854179015d73a35f07ed00b1f9d">opj_mqc_renormd_macro</a>(mqc, mqc-&gt;a, mqc-&gt;c, mqc-&gt;ct)</td></tr>
78 <tr class="memdesc:a7364151e7c65e86436818cef3f7ad822"><td class="mdescLeft">&#160;</td><td class="mdescRight">Renormalize mqc-&gt;a and mqc-&gt;c while decoding.  <a href="#a7364151e7c65e86436818cef3f7ad822">More...</a><br /></td></tr>
79 <tr class="separator:a7364151e7c65e86436818cef3f7ad822"><td class="memSeparator" colspan="2">&#160;</td></tr>
80 <tr class="memitem:a89ab47f40f5de66906de82d3e5bd724b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a89ab47f40f5de66906de82d3e5bd724b">opj_mqc_decode</a>(d,  mqc)&#160;&#160;&#160;<a class="el" href="mqc__inl_8h.html#a40c56ca9f2d05d6107741d6f701616cf">opj_mqc_decode_macro</a>(d, mqc, mqc-&gt;curctx, mqc-&gt;a, mqc-&gt;c, mqc-&gt;ct)</td></tr>
81 <tr class="memdesc:a89ab47f40f5de66906de82d3e5bd724b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode a symbol.  <a href="#a89ab47f40f5de66906de82d3e5bd724b">More...</a><br /></td></tr>
82 <tr class="separator:a89ab47f40f5de66906de82d3e5bd724b"><td class="memSeparator" colspan="2">&#160;</td></tr>
83 <tr class="memitem:a2fba3969acc0cfbeac82390f5c4dd875"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a2fba3969acc0cfbeac82390f5c4dd875">opj_mqc_renorme_macro</a>(mqc,  a_,  c_,  ct_)</td></tr>
84 <tr class="memdesc:a2fba3969acc0cfbeac82390f5c4dd875"><td class="mdescLeft">&#160;</td><td class="mdescRight">Renormalize mqc-&gt;a and mqc-&gt;c while encoding, so that mqc-&gt;a stays between 0x8000 and 0x10000.  <a href="#a2fba3969acc0cfbeac82390f5c4dd875">More...</a><br /></td></tr>
85 <tr class="separator:a2fba3969acc0cfbeac82390f5c4dd875"><td class="memSeparator" colspan="2">&#160;</td></tr>
86 <tr class="memitem:ac6bb4b724da9bf77a3241ce9b5fdf1b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#ac6bb4b724da9bf77a3241ce9b5fdf1b7">opj_mqc_codemps_macro</a>(mqc,  curctx,  a,  c,  ct)</td></tr>
87 <tr class="separator:ac6bb4b724da9bf77a3241ce9b5fdf1b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
88 <tr class="memitem:a833694258cf5a2a12738f6d2d4a15107"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a833694258cf5a2a12738f6d2d4a15107">opj_mqc_codelps_macro</a>(mqc,  curctx,  a,  c,  ct)</td></tr>
89 <tr class="separator:a833694258cf5a2a12738f6d2d4a15107"><td class="memSeparator" colspan="2">&#160;</td></tr>
90 <tr class="memitem:a8cf12d318ac2c5190757020d569c0188"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a8cf12d318ac2c5190757020d569c0188">opj_mqc_encode_macro</a>(mqc,  curctx,  a,  c,  ct,  d)</td></tr>
91 <tr class="separator:a8cf12d318ac2c5190757020d569c0188"><td class="memSeparator" colspan="2">&#160;</td></tr>
92 <tr class="memitem:afd3b47c5ec0636042f036148283daaf0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#afd3b47c5ec0636042f036148283daaf0">opj_mqc_bypass_enc_macro</a>(mqc,  c,  ct,  d)</td></tr>
93 <tr class="separator:afd3b47c5ec0636042f036148283daaf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
94 </table><table class="memberdecls">
95 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
96 Functions</h2></td></tr>
97 <tr class="memitem:ac95b072fbe38180fafa0c02051b12874"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="openjpeg_8h.html#a2eb6f9e0395b47b8d5e3eeae4fe0c116">INLINE</a> <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#ac95b072fbe38180fafa0c02051b12874">opj_mqc_raw_decode</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
98 <tr class="memdesc:ac95b072fbe38180fafa0c02051b12874"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode a symbol using raw-decoder.  <a href="#ac95b072fbe38180fafa0c02051b12874">More...</a><br /></td></tr>
99 <tr class="separator:ac95b072fbe38180fafa0c02051b12874"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 <tr class="memitem:af1feff8274fe5a9da129d93322fce03e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="openjpeg_8h.html#a2eb6f9e0395b47b8d5e3eeae4fe0c116">INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#af1feff8274fe5a9da129d93322fce03e">opj_mqc_bytein</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *const mqc)</td></tr>
101 <tr class="memdesc:af1feff8274fe5a9da129d93322fce03e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input a byte.  <a href="#af1feff8274fe5a9da129d93322fce03e">More...</a><br /></td></tr>
102 <tr class="separator:af1feff8274fe5a9da129d93322fce03e"><td class="memSeparator" colspan="2">&#160;</td></tr>
103 <tr class="memitem:a0c8f333dd527ed82faec6dfec5b1711b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a0c8f333dd527ed82faec6dfec5b1711b">opj_mqc_byteout</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
104 <tr class="memdesc:a0c8f333dd527ed82faec6dfec5b1711b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output a byte, doing bit-stuffing if necessary.  <a href="#a0c8f333dd527ed82faec6dfec5b1711b">More...</a><br /></td></tr>
105 <tr class="separator:a0c8f333dd527ed82faec6dfec5b1711b"><td class="memSeparator" colspan="2">&#160;</td></tr>
106 </table>
107 <h2 class="groupheader">Macro Definition Documentation</h2>
108 <a class="anchor" id="aaa7fd5399c753edfc3cf8d4ee3c5a16c"></a>
109 <div class="memitem">
110 <div class="memproto">
111       <table class="memname">
112         <tr>
113           <td class="memname">#define DOWNLOAD_MQC_VARIABLES</td>
114           <td>(</td>
115           <td class="paramtype">&#160;</td>
116           <td class="paramname">mqc, </td>
117         </tr>
118         <tr>
119           <td class="paramkey"></td>
120           <td></td>
121           <td class="paramtype">&#160;</td>
122           <td class="paramname">curctx, </td>
123         </tr>
124         <tr>
125           <td class="paramkey"></td>
126           <td></td>
127           <td class="paramtype">&#160;</td>
128           <td class="paramname">a, </td>
129         </tr>
130         <tr>
131           <td class="paramkey"></td>
132           <td></td>
133           <td class="paramtype">&#160;</td>
134           <td class="paramname">c, </td>
135         </tr>
136         <tr>
137           <td class="paramkey"></td>
138           <td></td>
139           <td class="paramtype">&#160;</td>
140           <td class="paramname">ct&#160;</td>
141         </tr>
142         <tr>
143           <td></td>
144           <td>)</td>
145           <td></td><td></td>
146         </tr>
147       </table>
148 </div><div class="memdoc">
149 <b>Value:</b><div class="fragment"><div class="line"><span class="keyword">register</span> <span class="keyword">const</span> <a class="code" href="structopj__mqc__state.html">opj_mqc_state_t</a> **curctx = mqc-&gt;curctx; \</div><div class="line">        register <a class="code" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> c = mqc-&gt;c; \</div><div class="line">        register <a class="code" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> a = mqc-&gt;a; \</div><div class="line">        register <a class="code" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> ct = mqc-&gt;ct</div><div class="ttc" id="structopj__mqc__state_html"><div class="ttname"><a href="structopj__mqc__state.html">opj_mqc_state</a></div><div class="ttdoc">This struct defines the state of a context. </div><div class="ttdef"><b>Definition:</b> mqc.h:58</div></div>
150 <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>
151 </div><!-- fragment -->
152 <p>Referenced by <a class="el" href="group___t1.html#ga8494e1a811e935f0feae5776a9d628e1">opj_t1_enc_clnpass()</a>, <a class="el" href="group___t1.html#gaff8fb497bd8ef0f7f9dc9de53f962cc1">opj_t1_enc_refpass()</a>, and <a class="el" href="group___t1.html#ga4608fc74c44bd6ca766ea02a3d886948">opj_t1_enc_sigpass()</a>.</p>
153
154 </div>
155 </div>
156 <a class="anchor" id="afd3b47c5ec0636042f036148283daaf0"></a>
157 <div class="memitem">
158 <div class="memproto">
159       <table class="memname">
160         <tr>
161           <td class="memname">#define opj_mqc_bypass_enc_macro</td>
162           <td>(</td>
163           <td class="paramtype">&#160;</td>
164           <td class="paramname">mqc, </td>
165         </tr>
166         <tr>
167           <td class="paramkey"></td>
168           <td></td>
169           <td class="paramtype">&#160;</td>
170           <td class="paramname">c, </td>
171         </tr>
172         <tr>
173           <td class="paramkey"></td>
174           <td></td>
175           <td class="paramtype">&#160;</td>
176           <td class="paramname">ct, </td>
177         </tr>
178         <tr>
179           <td class="paramkey"></td>
180           <td></td>
181           <td class="paramtype">&#160;</td>
182           <td class="paramname">d&#160;</td>
183         </tr>
184         <tr>
185           <td></td>
186           <td>)</td>
187           <td></td><td></td>
188         </tr>
189       </table>
190 </div><div class="memdoc">
191 <b>Value:</b><div class="fragment"><div class="line">{\</div><div class="line">    if (ct == <a class="code" href="group___m_q_c.html#gaf45d4e27106b58c5cc51bf4eaa2b3f4f">BYPASS_CT_INIT</a>) {\</div><div class="line">        ct = 8;\</div><div class="line">    }\</div><div class="line">    ct--;\</div><div class="line">    c = c + ((d) &lt;&lt; ct);\</div><div class="line">    if (ct == 0) {\</div><div class="line">        *mqc-&gt;bp = (<a class="code" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a>)c;\</div><div class="line">        ct = 8;\</div><div class="line">        <span class="comment">/* If the previous byte was 0xff, make sure that the next msb is 0 */</span> \</div><div class="line">        if (*mqc-&gt;bp == 0xff) {\</div><div class="line">            ct = 7;\</div><div class="line">        }\</div><div class="line">        mqc-&gt;bp++;\</div><div class="line">        c = 0;\</div><div class="line">    }\</div><div class="line">}</div><div class="ttc" id="openjpeg_8h_html_a22de44e15bddae7edfacf4e9ac9bb199"><div class="ttname"><a href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a></div><div class="ttdeci">unsigned char OPJ_BYTE</div><div class="ttdef"><b>Definition:</b> openjpeg.h:117</div></div>
192 <div class="ttc" id="group___m_q_c_html_gaf45d4e27106b58c5cc51bf4eaa2b3f4f"><div class="ttname"><a href="group___m_q_c.html#gaf45d4e27106b58c5cc51bf4eaa2b3f4f">BYPASS_CT_INIT</a></div><div class="ttdeci">#define BYPASS_CT_INIT</div><div class="ttdef"><b>Definition:</b> mqc.h:99</div></div>
193 </div><!-- fragment -->
194 </div>
195 </div>
196 <a class="anchor" id="ae5188ad6071ff78926872e908e66bf6f"></a>
197 <div class="memitem">
198 <div class="memproto">
199       <table class="memname">
200         <tr>
201           <td class="memname">#define opj_mqc_bytein_macro</td>
202           <td>(</td>
203           <td class="paramtype">&#160;</td>
204           <td class="paramname">mqc, </td>
205         </tr>
206         <tr>
207           <td class="paramkey"></td>
208           <td></td>
209           <td class="paramtype">&#160;</td>
210           <td class="paramname">c, </td>
211         </tr>
212         <tr>
213           <td class="paramkey"></td>
214           <td></td>
215           <td class="paramtype">&#160;</td>
216           <td class="paramname">ct&#160;</td>
217         </tr>
218         <tr>
219           <td></td>
220           <td>)</td>
221           <td></td><td></td>
222         </tr>
223       </table>
224 </div><div class="memdoc">
225 <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">\</a></div><div class="line"><a class="code" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">        OPJ_UINT32</a> l_c;  \</div><div class="line">        <span class="comment">/* Given opj_mqc_init_dec() we know that at some point we will */</span> \</div><div class="line">        <span class="comment">/* have a 0xFF 0xFF artificial marker */</span> \</div><div class="line">        l_c = *(mqc-&gt;bp + 1); \</div><div class="line">        if (*mqc-&gt;bp == 0xff) { \</div><div class="line">            if (l_c &gt; 0x8f) { \</div><div class="line">                c += 0xff00; \</div><div class="line">                ct = 8; \</div><div class="line">                mqc-&gt;end_of_byte_stream_counter ++; \</div><div class="line">            } <span class="keywordflow">else</span> { \</div><div class="line">                mqc-&gt;bp++; \</div><div class="line">                c += l_c &lt;&lt; 9; \</div><div class="line">                ct = 7; \</div><div class="line">            } \</div><div class="line">        } <span class="keywordflow">else</span> { \</div><div class="line">            mqc-&gt;bp++; \</div><div class="line">            c += l_c &lt;&lt; 8; \</div><div class="line">            ct = 8; \</div><div class="line">        } \</div><div class="line">}</div><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>
226 </div><!-- fragment -->
227 <p>Referenced by <a class="el" href="mqc__inl_8h.html#af1feff8274fe5a9da129d93322fce03e">opj_mqc_bytein()</a>.</p>
228
229 </div>
230 </div>
231 <a class="anchor" id="a833694258cf5a2a12738f6d2d4a15107"></a>
232 <div class="memitem">
233 <div class="memproto">
234       <table class="memname">
235         <tr>
236           <td class="memname">#define opj_mqc_codelps_macro</td>
237           <td>(</td>
238           <td class="paramtype">&#160;</td>
239           <td class="paramname">mqc, </td>
240         </tr>
241         <tr>
242           <td class="paramkey"></td>
243           <td></td>
244           <td class="paramtype">&#160;</td>
245           <td class="paramname">curctx, </td>
246         </tr>
247         <tr>
248           <td class="paramkey"></td>
249           <td></td>
250           <td class="paramtype">&#160;</td>
251           <td class="paramname">a, </td>
252         </tr>
253         <tr>
254           <td class="paramkey"></td>
255           <td></td>
256           <td class="paramtype">&#160;</td>
257           <td class="paramname">c, </td>
258         </tr>
259         <tr>
260           <td class="paramkey"></td>
261           <td></td>
262           <td class="paramtype">&#160;</td>
263           <td class="paramname">ct&#160;</td>
264         </tr>
265         <tr>
266           <td></td>
267           <td>)</td>
268           <td></td><td></td>
269         </tr>
270       </table>
271 </div><div class="memdoc">
272 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line">    a -= (*curctx)-&gt;qeval; \</div><div class="line">    if (a &lt; (*curctx)-&gt;qeval) { \</div><div class="line">        c += (*curctx)-&gt;qeval; \</div><div class="line">    } <span class="keywordflow">else</span> { \</div><div class="line">        a = (*curctx)-&gt;qeval; \</div><div class="line">    } \</div><div class="line">    *curctx = (*curctx)-&gt;nlps; <a class="code" href="mqc__inl_8h.html#a2fba3969acc0cfbeac82390f5c4dd875">\</a></div><div class="line"><a class="code" href="mqc__inl_8h.html#a2fba3969acc0cfbeac82390f5c4dd875">    opj_mqc_renorme_macro</a>(mqc, a, c, ct); \</div><div class="line">}</div><div class="ttc" id="mqc__inl_8h_html_a2fba3969acc0cfbeac82390f5c4dd875"><div class="ttname"><a href="mqc__inl_8h.html#a2fba3969acc0cfbeac82390f5c4dd875">opj_mqc_renorme_macro</a></div><div class="ttdeci">#define opj_mqc_renorme_macro(mqc, a_, c_, ct_)</div><div class="ttdoc">Renormalize mqc-&gt;a and mqc-&gt;c while encoding, so that mqc-&gt;a stays between 0x8000 and 0x10000...</div><div class="ttdef"><b>Definition:</b> mqc_inl.h:210</div></div>
273 </div><!-- fragment -->
274 <p>Referenced by <a class="el" href="mqc_8c.html#ada0d3e133f41e9ae4011cf4023756c4e">opj_mqc_codelps()</a>.</p>
275
276 </div>
277 </div>
278 <a class="anchor" id="ac6bb4b724da9bf77a3241ce9b5fdf1b7"></a>
279 <div class="memitem">
280 <div class="memproto">
281       <table class="memname">
282         <tr>
283           <td class="memname">#define opj_mqc_codemps_macro</td>
284           <td>(</td>
285           <td class="paramtype">&#160;</td>
286           <td class="paramname">mqc, </td>
287         </tr>
288         <tr>
289           <td class="paramkey"></td>
290           <td></td>
291           <td class="paramtype">&#160;</td>
292           <td class="paramname">curctx, </td>
293         </tr>
294         <tr>
295           <td class="paramkey"></td>
296           <td></td>
297           <td class="paramtype">&#160;</td>
298           <td class="paramname">a, </td>
299         </tr>
300         <tr>
301           <td class="paramkey"></td>
302           <td></td>
303           <td class="paramtype">&#160;</td>
304           <td class="paramname">c, </td>
305         </tr>
306         <tr>
307           <td class="paramkey"></td>
308           <td></td>
309           <td class="paramtype">&#160;</td>
310           <td class="paramname">ct&#160;</td>
311         </tr>
312         <tr>
313           <td></td>
314           <td>)</td>
315           <td></td><td></td>
316         </tr>
317       </table>
318 </div><div class="memdoc">
319 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line">    a -= (*curctx)-&gt;qeval; \</div><div class="line">    if ((a &amp; 0x8000) == 0) { \</div><div class="line">        if (a &lt; (*curctx)-&gt;qeval) { \</div><div class="line">            a = (*curctx)-&gt;qeval; \</div><div class="line">        } <span class="keywordflow">else</span> { \</div><div class="line">            c += (*curctx)-&gt;qeval; \</div><div class="line">        } \</div><div class="line">        *curctx = (*curctx)-&gt;nmps; <a class="code" href="mqc__inl_8h.html#a2fba3969acc0cfbeac82390f5c4dd875">\</a></div><div class="line"><a class="code" href="mqc__inl_8h.html#a2fba3969acc0cfbeac82390f5c4dd875">        opj_mqc_renorme_macro</a>(mqc, a, c, ct); \</div><div class="line">    } <span class="keywordflow">else</span> { \</div><div class="line">        c += (*curctx)-&gt;qeval; \</div><div class="line">    } \</div><div class="line">}</div><div class="ttc" id="mqc__inl_8h_html_a2fba3969acc0cfbeac82390f5c4dd875"><div class="ttname"><a href="mqc__inl_8h.html#a2fba3969acc0cfbeac82390f5c4dd875">opj_mqc_renorme_macro</a></div><div class="ttdeci">#define opj_mqc_renorme_macro(mqc, a_, c_, ct_)</div><div class="ttdoc">Renormalize mqc-&gt;a and mqc-&gt;c while encoding, so that mqc-&gt;a stays between 0x8000 and 0x10000...</div><div class="ttdef"><b>Definition:</b> mqc_inl.h:210</div></div>
320 </div><!-- fragment -->
321 <p>Referenced by <a class="el" href="mqc_8c.html#aad5ddb4b3dbb39df1fc60702c163397a">opj_mqc_codemps()</a>.</p>
322
323 </div>
324 </div>
325 <a class="anchor" id="a89ab47f40f5de66906de82d3e5bd724b"></a>
326 <div class="memitem">
327 <div class="memproto">
328       <table class="memname">
329         <tr>
330           <td class="memname">#define opj_mqc_decode</td>
331           <td>(</td>
332           <td class="paramtype">&#160;</td>
333           <td class="paramname">d, </td>
334         </tr>
335         <tr>
336           <td class="paramkey"></td>
337           <td></td>
338           <td class="paramtype">&#160;</td>
339           <td class="paramname">mqc&#160;</td>
340         </tr>
341         <tr>
342           <td></td>
343           <td>)</td>
344           <td></td><td>&#160;&#160;&#160;<a class="el" href="mqc__inl_8h.html#a40c56ca9f2d05d6107741d6f701616cf">opj_mqc_decode_macro</a>(d, mqc, mqc-&gt;curctx, mqc-&gt;a, mqc-&gt;c, mqc-&gt;ct)</td>
345         </tr>
346       </table>
347 </div><div class="memdoc">
348
349 <p>Decode a symbol. </p>
350 <dl class="params"><dt>Parameters</dt><dd>
351   <table class="params">
352     <tr><td class="paramname">d</td><td>OPJ_UINT32 value where to store the decoded symbol </td></tr>
353     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
354   </table>
355   </dd>
356 </dl>
357 <dl class="section return"><dt>Returns</dt><dd>Returns the decoded symbol (0 or 1) in d </dd></dl>
358
359 <p>Referenced by <a class="el" href="t1_8c.html#a5b012076ab1c77674f5d0727bb78bf1d">opj_t1_dec_clnpass_check_segsym()</a>.</p>
360
361 </div>
362 </div>
363 <a class="anchor" id="a40c56ca9f2d05d6107741d6f701616cf"></a>
364 <div class="memitem">
365 <div class="memproto">
366       <table class="memname">
367         <tr>
368           <td class="memname">#define opj_mqc_decode_macro</td>
369           <td>(</td>
370           <td class="paramtype">&#160;</td>
371           <td class="paramname">d, </td>
372         </tr>
373         <tr>
374           <td class="paramkey"></td>
375           <td></td>
376           <td class="paramtype">&#160;</td>
377           <td class="paramname">mqc, </td>
378         </tr>
379         <tr>
380           <td class="paramkey"></td>
381           <td></td>
382           <td class="paramtype">&#160;</td>
383           <td class="paramname">curctx, </td>
384         </tr>
385         <tr>
386           <td class="paramkey"></td>
387           <td></td>
388           <td class="paramtype">&#160;</td>
389           <td class="paramname">a, </td>
390         </tr>
391         <tr>
392           <td class="paramkey"></td>
393           <td></td>
394           <td class="paramtype">&#160;</td>
395           <td class="paramname">c, </td>
396         </tr>
397         <tr>
398           <td class="paramkey"></td>
399           <td></td>
400           <td class="paramtype">&#160;</td>
401           <td class="paramname">ct&#160;</td>
402         </tr>
403         <tr>
404           <td></td>
405           <td>)</td>
406           <td></td><td></td>
407         </tr>
408       </table>
409 </div><div class="memdoc">
410 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line">    <span class="comment">/* Implements ISO 15444-1 C.3.2 Decoding a decision (DECODE) */</span> \</div><div class="line">    <span class="comment">/* Note: alternate &quot;J.2 - Decoding an MPS or an LPS in the */</span> \</div><div class="line">    <span class="comment">/* software-conventions decoder&quot; has been tried, but does not bring any */</span> \</div><div class="line">    <span class="comment">/* improvement. See https://github.com/uclouvain/openjpeg/issues/921 */</span> \</div><div class="line">    a -= (*curctx)-&gt;qeval;  \</div><div class="line">    if ((c &gt;&gt; 16) &lt; (*curctx)-&gt;qeval) {  <a class="code" href="mqc__inl_8h.html#a0e2e2ac16b81932dd21a765c9acb71d5">\</a></div><div class="line"><a class="code" href="mqc__inl_8h.html#a0e2e2ac16b81932dd21a765c9acb71d5">        opj_mqc_lpsexchange_macro</a>(d, curctx, a);  <a class="code" href="mqc__inl_8h.html#a26748854179015d73a35f07ed00b1f9d">\</a></div><div class="line"><a class="code" href="mqc__inl_8h.html#a26748854179015d73a35f07ed00b1f9d">        opj_mqc_renormd_macro</a>(mqc, a, c, ct);  \</div><div class="line">    } <span class="keywordflow">else</span> {  \</div><div class="line">        c -= (*curctx)-&gt;qeval &lt;&lt; 16;  \</div><div class="line">        if ((a &amp; 0x8000) == 0) { <a class="code" href="mqc__inl_8h.html#a77750aa7d64cf6f783400c88435e99a8">\</a></div><div class="line"><a class="code" href="mqc__inl_8h.html#a77750aa7d64cf6f783400c88435e99a8">            opj_mqc_mpsexchange_macro</a>(d, curctx, a); <a class="code" href="mqc__inl_8h.html#a26748854179015d73a35f07ed00b1f9d">\</a></div><div class="line"><a class="code" href="mqc__inl_8h.html#a26748854179015d73a35f07ed00b1f9d">            opj_mqc_renormd_macro</a>(mqc, a, c, ct); \</div><div class="line">        } <span class="keywordflow">else</span> { \</div><div class="line">            d = (*curctx)-&gt;mps; \</div><div class="line">        } \</div><div class="line">    } \</div><div class="line">}</div><div class="ttc" id="mqc__inl_8h_html_a26748854179015d73a35f07ed00b1f9d"><div class="ttname"><a href="mqc__inl_8h.html#a26748854179015d73a35f07ed00b1f9d">opj_mqc_renormd_macro</a></div><div class="ttdeci">#define opj_mqc_renormd_macro(mqc, a, c, ct)</div><div class="ttdef"><b>Definition:</b> mqc_inl.h:126</div></div>
411 <div class="ttc" id="mqc__inl_8h_html_a0e2e2ac16b81932dd21a765c9acb71d5"><div class="ttname"><a href="mqc__inl_8h.html#a0e2e2ac16b81932dd21a765c9acb71d5">opj_mqc_lpsexchange_macro</a></div><div class="ttdeci">#define opj_mqc_lpsexchange_macro(d, curctx, a)</div><div class="ttdef"><b>Definition:</b> mqc_inl.h:55</div></div>
412 <div class="ttc" id="mqc__inl_8h_html_a77750aa7d64cf6f783400c88435e99a8"><div class="ttname"><a href="mqc__inl_8h.html#a77750aa7d64cf6f783400c88435e99a8">opj_mqc_mpsexchange_macro</a></div><div class="ttdeci">#define opj_mqc_mpsexchange_macro(d, curctx, a)</div><div class="ttdef"><b>Definition:</b> mqc_inl.h:43</div></div>
413 </div><!-- fragment -->
414 </div>
415 </div>
416 <a class="anchor" id="a8cf12d318ac2c5190757020d569c0188"></a>
417 <div class="memitem">
418 <div class="memproto">
419       <table class="memname">
420         <tr>
421           <td class="memname">#define opj_mqc_encode_macro</td>
422           <td>(</td>
423           <td class="paramtype">&#160;</td>
424           <td class="paramname">mqc, </td>
425         </tr>
426         <tr>
427           <td class="paramkey"></td>
428           <td></td>
429           <td class="paramtype">&#160;</td>
430           <td class="paramname">curctx, </td>
431         </tr>
432         <tr>
433           <td class="paramkey"></td>
434           <td></td>
435           <td class="paramtype">&#160;</td>
436           <td class="paramname">a, </td>
437         </tr>
438         <tr>
439           <td class="paramkey"></td>
440           <td></td>
441           <td class="paramtype">&#160;</td>
442           <td class="paramname">c, </td>
443         </tr>
444         <tr>
445           <td class="paramkey"></td>
446           <td></td>
447           <td class="paramtype">&#160;</td>
448           <td class="paramname">ct, </td>
449         </tr>
450         <tr>
451           <td class="paramkey"></td>
452           <td></td>
453           <td class="paramtype">&#160;</td>
454           <td class="paramname">d&#160;</td>
455         </tr>
456         <tr>
457           <td></td>
458           <td>)</td>
459           <td></td><td></td>
460         </tr>
461       </table>
462 </div><div class="memdoc">
463 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line">    if ((*curctx)-&gt;mps == (d)) { <a class="code" href="mqc__inl_8h.html#ac6bb4b724da9bf77a3241ce9b5fdf1b7">\</a></div><div class="line"><a class="code" href="mqc__inl_8h.html#ac6bb4b724da9bf77a3241ce9b5fdf1b7">        opj_mqc_codemps_macro</a>(mqc, curctx, a, c, ct); \</div><div class="line">    } <span class="keywordflow">else</span> { <a class="code" href="mqc__inl_8h.html#a833694258cf5a2a12738f6d2d4a15107">\</a></div><div class="line"><a class="code" href="mqc__inl_8h.html#a833694258cf5a2a12738f6d2d4a15107">        opj_mqc_codelps_macro</a>(mqc, curctx, a, c, ct); \</div><div class="line">    } \</div><div class="line">}</div><div class="ttc" id="mqc__inl_8h_html_ac6bb4b724da9bf77a3241ce9b5fdf1b7"><div class="ttname"><a href="mqc__inl_8h.html#ac6bb4b724da9bf77a3241ce9b5fdf1b7">opj_mqc_codemps_macro</a></div><div class="ttdeci">#define opj_mqc_codemps_macro(mqc, curctx, a, c, ct)</div><div class="ttdef"><b>Definition:</b> mqc_inl.h:225</div></div>
464 <div class="ttc" id="mqc__inl_8h_html_a833694258cf5a2a12738f6d2d4a15107"><div class="ttname"><a href="mqc__inl_8h.html#a833694258cf5a2a12738f6d2d4a15107">opj_mqc_codelps_macro</a></div><div class="ttdeci">#define opj_mqc_codelps_macro(mqc, curctx, a, c, ct)</div><div class="ttdef"><b>Definition:</b> mqc_inl.h:241</div></div>
465 </div><!-- fragment -->
466 <p>Referenced by <a class="el" href="group___t1.html#ga8494e1a811e935f0feae5776a9d628e1">opj_t1_enc_clnpass()</a>.</p>
467
468 </div>
469 </div>
470 <a class="anchor" id="a0e2e2ac16b81932dd21a765c9acb71d5"></a>
471 <div class="memitem">
472 <div class="memproto">
473       <table class="memname">
474         <tr>
475           <td class="memname">#define opj_mqc_lpsexchange_macro</td>
476           <td>(</td>
477           <td class="paramtype">&#160;</td>
478           <td class="paramname">d, </td>
479         </tr>
480         <tr>
481           <td class="paramkey"></td>
482           <td></td>
483           <td class="paramtype">&#160;</td>
484           <td class="paramname">curctx, </td>
485         </tr>
486         <tr>
487           <td class="paramkey"></td>
488           <td></td>
489           <td class="paramtype">&#160;</td>
490           <td class="paramname">a&#160;</td>
491         </tr>
492         <tr>
493           <td></td>
494           <td>)</td>
495           <td></td><td></td>
496         </tr>
497       </table>
498 </div><div class="memdoc">
499 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line">    if (a &lt; (*curctx)-&gt;qeval) { \</div><div class="line">        a = (*curctx)-&gt;qeval; \</div><div class="line">        d = (*curctx)-&gt;mps; \</div><div class="line">        *curctx = (*curctx)-&gt;nmps; \</div><div class="line">    } <span class="keywordflow">else</span> { \</div><div class="line">        a = (*curctx)-&gt;qeval; \</div><div class="line">        d = !((*curctx)-&gt;mps); \</div><div class="line">        *curctx = (*curctx)-&gt;nlps; \</div><div class="line">    } \</div><div class="line">}</div></div><!-- fragment -->
500 </div>
501 </div>
502 <a class="anchor" id="a77750aa7d64cf6f783400c88435e99a8"></a>
503 <div class="memitem">
504 <div class="memproto">
505       <table class="memname">
506         <tr>
507           <td class="memname">#define opj_mqc_mpsexchange_macro</td>
508           <td>(</td>
509           <td class="paramtype">&#160;</td>
510           <td class="paramname">d, </td>
511         </tr>
512         <tr>
513           <td class="paramkey"></td>
514           <td></td>
515           <td class="paramtype">&#160;</td>
516           <td class="paramname">curctx, </td>
517         </tr>
518         <tr>
519           <td class="paramkey"></td>
520           <td></td>
521           <td class="paramtype">&#160;</td>
522           <td class="paramname">a&#160;</td>
523         </tr>
524         <tr>
525           <td></td>
526           <td>)</td>
527           <td></td><td></td>
528         </tr>
529       </table>
530 </div><div class="memdoc">
531 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line">    if (a &lt; (*curctx)-&gt;qeval) { \</div><div class="line">        d = !((*curctx)-&gt;mps); \</div><div class="line">        *curctx = (*curctx)-&gt;nlps; \</div><div class="line">    } <span class="keywordflow">else</span> { \</div><div class="line">        d = (*curctx)-&gt;mps; \</div><div class="line">        *curctx = (*curctx)-&gt;nmps; \</div><div class="line">    } \</div><div class="line">}</div></div><!-- fragment -->
532 </div>
533 </div>
534 <a class="anchor" id="a7364151e7c65e86436818cef3f7ad822"></a>
535 <div class="memitem">
536 <div class="memproto">
537       <table class="memname">
538         <tr>
539           <td class="memname">#define opj_mqc_renormd</td>
540           <td>(</td>
541           <td class="paramtype">&#160;</td>
542           <td class="paramname">mqc</td><td>)</td>
543           <td>&#160;&#160;&#160;<a class="el" href="mqc__inl_8h.html#a26748854179015d73a35f07ed00b1f9d">opj_mqc_renormd_macro</a>(mqc, mqc-&gt;a, mqc-&gt;c, mqc-&gt;ct)</td>
544         </tr>
545       </table>
546 </div><div class="memdoc">
547
548 <p>Renormalize mqc-&gt;a and mqc-&gt;c while decoding. </p>
549 <dl class="params"><dt>Parameters</dt><dd>
550   <table class="params">
551     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
552   </table>
553   </dd>
554 </dl>
555
556 </div>
557 </div>
558 <a class="anchor" id="a26748854179015d73a35f07ed00b1f9d"></a>
559 <div class="memitem">
560 <div class="memproto">
561       <table class="memname">
562         <tr>
563           <td class="memname">#define opj_mqc_renormd_macro</td>
564           <td>(</td>
565           <td class="paramtype">&#160;</td>
566           <td class="paramname">mqc, </td>
567         </tr>
568         <tr>
569           <td class="paramkey"></td>
570           <td></td>
571           <td class="paramtype">&#160;</td>
572           <td class="paramname">a, </td>
573         </tr>
574         <tr>
575           <td class="paramkey"></td>
576           <td></td>
577           <td class="paramtype">&#160;</td>
578           <td class="paramname">c, </td>
579         </tr>
580         <tr>
581           <td class="paramkey"></td>
582           <td></td>
583           <td class="paramtype">&#160;</td>
584           <td class="paramname">ct&#160;</td>
585         </tr>
586         <tr>
587           <td></td>
588           <td>)</td>
589           <td></td><td></td>
590         </tr>
591       </table>
592 </div><div class="memdoc">
593 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line">    do { \</div><div class="line">        if (ct == 0) { <a class="code" href="mqc__inl_8h.html#ae5188ad6071ff78926872e908e66bf6f">\</a></div><div class="line"><a class="code" href="mqc__inl_8h.html#ae5188ad6071ff78926872e908e66bf6f">            opj_mqc_bytein_macro</a>(mqc, c, ct); \</div><div class="line">        } \</div><div class="line">        a &lt;&lt;= 1; \</div><div class="line">        c &lt;&lt;= 1; \</div><div class="line">        ct--; \</div><div class="line">    } <span class="keywordflow">while</span> (a &lt; 0x8000); \</div><div class="line">}</div><div class="ttc" id="mqc__inl_8h_html_ae5188ad6071ff78926872e908e66bf6f"><div class="ttname"><a href="mqc__inl_8h.html#ae5188ad6071ff78926872e908e66bf6f">opj_mqc_bytein_macro</a></div><div class="ttdeci">#define opj_mqc_bytein_macro(mqc, c, ct)</div><div class="ttdef"><b>Definition:</b> mqc_inl.h:102</div></div>
594 </div><!-- fragment -->
595 </div>
596 </div>
597 <a class="anchor" id="a2fba3969acc0cfbeac82390f5c4dd875"></a>
598 <div class="memitem">
599 <div class="memproto">
600       <table class="memname">
601         <tr>
602           <td class="memname">#define opj_mqc_renorme_macro</td>
603           <td>(</td>
604           <td class="paramtype">&#160;</td>
605           <td class="paramname">mqc, </td>
606         </tr>
607         <tr>
608           <td class="paramkey"></td>
609           <td></td>
610           <td class="paramtype">&#160;</td>
611           <td class="paramname">a_, </td>
612         </tr>
613         <tr>
614           <td class="paramkey"></td>
615           <td></td>
616           <td class="paramtype">&#160;</td>
617           <td class="paramname">c_, </td>
618         </tr>
619         <tr>
620           <td class="paramkey"></td>
621           <td></td>
622           <td class="paramtype">&#160;</td>
623           <td class="paramname">ct_&#160;</td>
624         </tr>
625         <tr>
626           <td></td>
627           <td>)</td>
628           <td></td><td></td>
629         </tr>
630       </table>
631 </div><div class="memdoc">
632 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line">    do { \</div><div class="line">        a_ &lt;&lt;= 1; \</div><div class="line">        c_ &lt;&lt;= 1; \</div><div class="line">        ct_--; \</div><div class="line">        if (ct_ == 0) { \</div><div class="line">            mqc-&gt;c = c_; <a class="code" href="mqc__inl_8h.html#a0c8f333dd527ed82faec6dfec5b1711b">\</a></div><div class="line"><a class="code" href="mqc__inl_8h.html#a0c8f333dd527ed82faec6dfec5b1711b">            opj_mqc_byteout</a>(mqc); \</div><div class="line">            c_ = mqc-&gt;c; \</div><div class="line">            ct_ = mqc-&gt;ct; \</div><div class="line">        } \</div><div class="line">    } <span class="keywordflow">while</span>( (a_ &amp; 0x8000) == 0); \</div><div class="line">}</div><div class="ttc" id="mqc__inl_8h_html_a0c8f333dd527ed82faec6dfec5b1711b"><div class="ttname"><a href="mqc__inl_8h.html#a0c8f333dd527ed82faec6dfec5b1711b">opj_mqc_byteout</a></div><div class="ttdeci">void opj_mqc_byteout(opj_mqc_t *mqc)</div><div class="ttdoc">Output a byte, doing bit-stuffing if necessary. </div><div class="ttdef"><b>Definition:</b> mqc.c:492</div></div>
633 </div><!-- fragment -->
634 <p>Renormalize mqc-&gt;a and mqc-&gt;c while encoding, so that mqc-&gt;a stays between 0x8000 and 0x10000. </p>
635 <dl class="params"><dt>Parameters</dt><dd>
636   <table class="params">
637     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
638     <tr><td class="paramname">a_</td><td>value of mqc-&gt;a </td></tr>
639     <tr><td class="paramname">c_</td><td>value of mqc-&gt;c_ </td></tr>
640     <tr><td class="paramname">ct_</td><td>value of mqc-&gt;ct_ </td></tr>
641   </table>
642   </dd>
643 </dl>
644
645 <p>Referenced by <a class="el" href="mqc_8c.html#a0cc80a2b2d042ee956b24a0c4437de46">opj_mqc_renorme()</a>.</p>
646
647 </div>
648 </div>
649 <a class="anchor" id="a6d0d6c32ec7bb70eedefc7fc8c1bf3df"></a>
650 <div class="memitem">
651 <div class="memproto">
652       <table class="memname">
653         <tr>
654           <td class="memname">#define UPLOAD_MQC_VARIABLES</td>
655           <td>(</td>
656           <td class="paramtype">&#160;</td>
657           <td class="paramname">mqc, </td>
658         </tr>
659         <tr>
660           <td class="paramkey"></td>
661           <td></td>
662           <td class="paramtype">&#160;</td>
663           <td class="paramname">curctx, </td>
664         </tr>
665         <tr>
666           <td class="paramkey"></td>
667           <td></td>
668           <td class="paramtype">&#160;</td>
669           <td class="paramname">a, </td>
670         </tr>
671         <tr>
672           <td class="paramkey"></td>
673           <td></td>
674           <td class="paramtype">&#160;</td>
675           <td class="paramname">c, </td>
676         </tr>
677         <tr>
678           <td class="paramkey"></td>
679           <td></td>
680           <td class="paramtype">&#160;</td>
681           <td class="paramname">ct&#160;</td>
682         </tr>
683         <tr>
684           <td></td>
685           <td>)</td>
686           <td></td><td></td>
687         </tr>
688       </table>
689 </div><div class="memdoc">
690 <b>Value:</b><div class="fragment"><div class="line">mqc-&gt;curctx = curctx; \</div><div class="line">        mqc-&gt;c = c; \</div><div class="line">        mqc-&gt;a = a; \</div><div class="line">        mqc-&gt;ct = ct;</div></div><!-- fragment -->
691 <p>Referenced by <a class="el" href="group___t1.html#ga8494e1a811e935f0feae5776a9d628e1">opj_t1_enc_clnpass()</a>, <a class="el" href="group___t1.html#gaff8fb497bd8ef0f7f9dc9de53f962cc1">opj_t1_enc_refpass()</a>, and <a class="el" href="group___t1.html#ga4608fc74c44bd6ca766ea02a3d886948">opj_t1_enc_sigpass()</a>.</p>
692
693 </div>
694 </div>
695 <h2 class="groupheader">Function Documentation</h2>
696 <a class="anchor" id="af1feff8274fe5a9da129d93322fce03e"></a>
697 <div class="memitem">
698 <div class="memproto">
699 <table class="mlabels">
700   <tr>
701   <td class="mlabels-left">
702       <table class="memname">
703         <tr>
704           <td class="memname">static <a class="el" href="openjpeg_8h.html#a2eb6f9e0395b47b8d5e3eeae4fe0c116">INLINE</a> void opj_mqc_bytein </td>
705           <td>(</td>
706           <td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *const&#160;</td>
707           <td class="paramname"><em>mqc</em></td><td>)</td>
708           <td></td>
709         </tr>
710       </table>
711   </td>
712   <td class="mlabels-right">
713 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
714   </tr>
715 </table>
716 </div><div class="memdoc">
717
718 <p>Input a byte. </p>
719 <dl class="params"><dt>Parameters</dt><dd>
720   <table class="params">
721     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
722   </table>
723   </dd>
724 </dl>
725
726 <p>References <a class="el" href="structopj__mqc.html#a4cde92619ccfc00fcaf4e8f168eccb96">opj_mqc::c</a>, <a class="el" href="structopj__mqc.html#a800663d44b19c3469c242a35840dd9bf">opj_mqc::ct</a>, and <a class="el" href="mqc__inl_8h.html#ae5188ad6071ff78926872e908e66bf6f">opj_mqc_bytein_macro</a>.</p>
727
728 <p>Referenced by <a class="el" href="group___m_q_c.html#gaa0e4b75040d645307e25dd53528e8512">opj_mqc_init_dec()</a>.</p>
729
730 </div>
731 </div>
732 <a class="anchor" id="a0c8f333dd527ed82faec6dfec5b1711b"></a>
733 <div class="memitem">
734 <div class="memproto">
735       <table class="memname">
736         <tr>
737           <td class="memname">void opj_mqc_byteout </td>
738           <td>(</td>
739           <td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
740           <td class="paramname"><em>mqc</em></td><td>)</td>
741           <td></td>
742         </tr>
743       </table>
744 </div><div class="memdoc">
745
746 <p>Output a byte, doing bit-stuffing if necessary. </p>
747 <p>After a 0xff byte, the next byte must be smaller than 0x90. </p><dl class="params"><dt>Parameters</dt><dd>
748   <table class="params">
749     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
750   </table>
751   </dd>
752 </dl>
753
754 <p>References <a class="el" href="structopj__mqc.html#a3db4ba6d16362a3bb01801c76f3dad63">opj_mqc::bp</a>, <a class="el" href="structopj__mqc.html#a4cde92619ccfc00fcaf4e8f168eccb96">opj_mqc::c</a>, <a class="el" href="structopj__mqc.html#a800663d44b19c3469c242a35840dd9bf">opj_mqc::ct</a>, and <a class="el" href="structopj__mqc.html#ac6e2a167d3bdf52a3c7378cc62d3ff20">opj_mqc::start</a>.</p>
755
756 <p>Referenced by <a class="el" href="group___m_q_c.html#gae8351e8a317e68679bf5ce649e91f48d">opj_mqc_erterm_enc()</a>, <a class="el" href="group___m_q_c.html#ga39b562515ebaa0a9707c51b6770ad7fe">opj_mqc_flush()</a>, and <a class="el" href="group___m_q_c.html#ga858901a7f568a2845885e537aaeab825">opj_mqc_reset_enc()</a>.</p>
757
758 </div>
759 </div>
760 <a class="anchor" id="ac95b072fbe38180fafa0c02051b12874"></a>
761 <div class="memitem">
762 <div class="memproto">
763 <table class="mlabels">
764   <tr>
765   <td class="mlabels-left">
766       <table class="memname">
767         <tr>
768           <td class="memname">static <a class="el" href="openjpeg_8h.html#a2eb6f9e0395b47b8d5e3eeae4fe0c116">INLINE</a> <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> opj_mqc_raw_decode </td>
769           <td>(</td>
770           <td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
771           <td class="paramname"><em>mqc</em></td><td>)</td>
772           <td></td>
773         </tr>
774       </table>
775   </td>
776   <td class="mlabels-right">
777 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
778   </tr>
779 </table>
780 </div><div class="memdoc">
781
782 <p>Decode a symbol using raw-decoder. </p>
783 <p>Cfr p.506 TAUBMAN </p><dl class="params"><dt>Parameters</dt><dd>
784   <table class="params">
785     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
786   </table>
787   </dd>
788 </dl>
789 <dl class="section return"><dt>Returns</dt><dd>Returns the decoded symbol (0 or 1) </dd></dl>
790
791 <p>References <a class="el" href="structopj__mqc.html#a3db4ba6d16362a3bb01801c76f3dad63">opj_mqc::bp</a>, <a class="el" href="structopj__mqc.html#a4cde92619ccfc00fcaf4e8f168eccb96">opj_mqc::c</a>, and <a class="el" href="structopj__mqc.html#a800663d44b19c3469c242a35840dd9bf">opj_mqc::ct</a>.</p>
792
793 <p>Referenced by <a class="el" href="group___t1.html#gab0a7bec44865423db1e55dd10e6b51fe">opj_t1_dec_refpass_step_raw()</a>, and <a class="el" href="group___t1.html#ga637be949c4d76c22bcf308c3454efd93">opj_t1_dec_sigpass_step_raw()</a>.</p>
794
795 </div>
796 </div>
797 </div><!-- contents -->
798 <!-- start footer part -->
799 <hr class="footer"/><address class="footer"><small>
800 Generated by &#160;<a href="http://www.doxygen.org/index.html">
801 <img class="footer" src="doxygen.png" alt="doxygen"/>
802 </a> 1.8.11
803 </small></address>
804 </body>
805 </html>