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">
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.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>OpenJPEG: mqc_inl.h File Reference</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="doxygen.css" rel="stylesheet" type="text/css" />
15 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
17 <table cellspacing="0" cellpadding="0">
19 <tr style="height: 56px;">
20 <td id="projectalign" style="padding-left: 0.5em;">
21 <div id="projectname">OpenJPEG
22  <span id="projectnumber">2.3.1</span>
29 <!-- end header part -->
30 <!-- Generated by Doxygen 1.8.13 -->
31 <script type="text/javascript" src="menudata.js"></script>
32 <script type="text/javascript" src="menu.js"></script>
33 <script type="text/javascript">
35 initMenu('',false,false,'search.php','Search');
38 <div id="main-nav"></div>
39 <div id="nav-path" class="navpath">
41 <li class="navelem"><a class="el" href="dir_d522931ffa1371640980b621734a4381.html">Users</a></li><li class="navelem"><a class="el" href="dir_694e20c96f4fc1be4aed4f026eadce94.html">antonin</a></li><li class="navelem"><a class="el" href="dir_3ca1ad36e65e03f9e8d67ddc2553765b.html">dev</a></li><li class="navelem"><a class="el" href="dir_181a881edfcb8646dab693a228fa6bde.html">opj</a></li><li class="navelem"><a class="el" href="dir_5064bb5511811c3176850b7e47443f14.html">github</a></li><li class="navelem"><a class="el" href="dir_0b20524d8f8835ca75acc430451c8412.html">openjpeg</a></li><li class="navelem"><a class="el" href="dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html">src</a></li><li class="navelem"><a class="el" href="dir_da83fe5fdfb6c4554d36abffc03790ad.html">lib</a></li><li class="navelem"><a class="el" href="dir_68013e83e260d17d49dee5e209315608.html">openjp2</a></li> </ul>
46 <a href="#define-members">Macros</a> |
47 <a href="#func-members">Functions</a> </div>
48 <div class="headertitle">
49 <div class="title">mqc_inl.h File Reference</div> </div>
51 <div class="contents">
53 <p><a href="mqc__inl_8h_source.html">Go to the source code of this file.</a></p>
54 <table class="memberdecls">
55 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
57 <tr class="memitem:a77750aa7d64cf6f783400c88435e99a8"><td class="memItemLeft" align="right" valign="top">#define </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>
58 <tr class="separator:a77750aa7d64cf6f783400c88435e99a8"><td class="memSeparator" colspan="2"> </td></tr>
59 <tr class="memitem:a0e2e2ac16b81932dd21a765c9acb71d5"><td class="memItemLeft" align="right" valign="top">#define </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>
60 <tr class="separator:a0e2e2ac16b81932dd21a765c9acb71d5"><td class="memSeparator" colspan="2"> </td></tr>
61 <tr class="memitem:ae5188ad6071ff78926872e908e66bf6f"><td class="memItemLeft" align="right" valign="top">#define </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>
62 <tr class="separator:ae5188ad6071ff78926872e908e66bf6f"><td class="memSeparator" colspan="2"> </td></tr>
63 <tr class="memitem:a26748854179015d73a35f07ed00b1f9d"><td class="memItemLeft" align="right" valign="top">#define </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>
64 <tr class="separator:a26748854179015d73a35f07ed00b1f9d"><td class="memSeparator" colspan="2"> </td></tr>
65 <tr class="memitem:a40c56ca9f2d05d6107741d6f701616cf"><td class="memItemLeft" align="right" valign="top">#define </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>
66 <tr class="separator:a40c56ca9f2d05d6107741d6f701616cf"><td class="memSeparator" colspan="2"> </td></tr>
67 <tr class="memitem:a43cb01b97e9202f752b48d69e1e0b57c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a43cb01b97e9202f752b48d69e1e0b57c">DOWNLOAD_MQC_VARIABLES</a>(mqc, curctx, c, a, ct)</td></tr>
68 <tr class="separator:a43cb01b97e9202f752b48d69e1e0b57c"><td class="memSeparator" colspan="2"> </td></tr>
69 <tr class="memitem:a60d2e92b6ebae432474ce7d62778a04b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a60d2e92b6ebae432474ce7d62778a04b">UPLOAD_MQC_VARIABLES</a>(mqc, curctx, c, a, ct)</td></tr>
70 <tr class="separator:a60d2e92b6ebae432474ce7d62778a04b"><td class="memSeparator" colspan="2"> </td></tr>
71 <tr class="memitem:a7364151e7c65e86436818cef3f7ad822"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a7364151e7c65e86436818cef3f7ad822">opj_mqc_renormd</a>(mqc)   <a class="el" href="mqc__inl_8h.html#a26748854179015d73a35f07ed00b1f9d">opj_mqc_renormd_macro</a>(mqc, mqc->a, mqc->c, mqc->ct)</td></tr>
72 <tr class="memdesc:a7364151e7c65e86436818cef3f7ad822"><td class="mdescLeft"> </td><td class="mdescRight">Renormalize mqc->a and mqc->c while decoding. <a href="#a7364151e7c65e86436818cef3f7ad822">More...</a><br /></td></tr>
73 <tr class="separator:a7364151e7c65e86436818cef3f7ad822"><td class="memSeparator" colspan="2"> </td></tr>
74 <tr class="memitem:a89ab47f40f5de66906de82d3e5bd724b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mqc__inl_8h.html#a89ab47f40f5de66906de82d3e5bd724b">opj_mqc_decode</a>(d, mqc)   <a class="el" href="mqc__inl_8h.html#a40c56ca9f2d05d6107741d6f701616cf">opj_mqc_decode_macro</a>(d, mqc, mqc->curctx, mqc->a, mqc->c, mqc->ct)</td></tr>
75 <tr class="memdesc:a89ab47f40f5de66906de82d3e5bd724b"><td class="mdescLeft"> </td><td class="mdescRight">Decode a symbol. <a href="#a89ab47f40f5de66906de82d3e5bd724b">More...</a><br /></td></tr>
76 <tr class="separator:a89ab47f40f5de66906de82d3e5bd724b"><td class="memSeparator" colspan="2"> </td></tr>
77 </table><table class="memberdecls">
78 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
79 Functions</h2></td></tr>
80 <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> </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>
81 <tr class="memdesc:ac95b072fbe38180fafa0c02051b12874"><td class="mdescLeft"> </td><td class="mdescRight">Decode a symbol using raw-decoder. <a href="#ac95b072fbe38180fafa0c02051b12874">More...</a><br /></td></tr>
82 <tr class="separator:ac95b072fbe38180fafa0c02051b12874"><td class="memSeparator" colspan="2"> </td></tr>
83 <tr class="memitem:af1feff8274fe5a9da129d93322fce03e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="openjpeg_8h.html#a2eb6f9e0395b47b8d5e3eeae4fe0c116">INLINE</a> void </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>
84 <tr class="memdesc:af1feff8274fe5a9da129d93322fce03e"><td class="mdescLeft"> </td><td class="mdescRight">Input a byte. <a href="#af1feff8274fe5a9da129d93322fce03e">More...</a><br /></td></tr>
85 <tr class="separator:af1feff8274fe5a9da129d93322fce03e"><td class="memSeparator" colspan="2"> </td></tr>
87 <h2 class="groupheader">Macro Definition Documentation</h2>
88 <a id="a43cb01b97e9202f752b48d69e1e0b57c"></a>
89 <h2 class="memtitle"><span class="permalink"><a href="#a43cb01b97e9202f752b48d69e1e0b57c">◆ </a></span>DOWNLOAD_MQC_VARIABLES</h2>
92 <div class="memproto">
93 <table class="memname">
95 <td class="memname">#define DOWNLOAD_MQC_VARIABLES</td>
97 <td class="paramtype"> </td>
98 <td class="paramname">mqc, </td>
101 <td class="paramkey"></td>
103 <td class="paramtype"> </td>
104 <td class="paramname">curctx, </td>
107 <td class="paramkey"></td>
109 <td class="paramtype"> </td>
110 <td class="paramname">c, </td>
113 <td class="paramkey"></td>
115 <td class="paramtype"> </td>
116 <td class="paramname">a, </td>
119 <td class="paramkey"></td>
121 <td class="paramtype"> </td>
122 <td class="paramname">ct </td>
130 </div><div class="memdoc">
131 <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->curctx; \</div><div class="line"> register <a class="code" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> c = mqc->c; \</div><div class="line"> register <a class="code" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> a = mqc->a; \</div><div class="line"> register <a class="code" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> ct = mqc->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>
132 <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>
133 </div><!-- fragment -->
136 <a id="ae5188ad6071ff78926872e908e66bf6f"></a>
137 <h2 class="memtitle"><span class="permalink"><a href="#ae5188ad6071ff78926872e908e66bf6f">◆ </a></span>opj_mqc_bytein_macro</h2>
139 <div class="memitem">
140 <div class="memproto">
141 <table class="memname">
143 <td class="memname">#define opj_mqc_bytein_macro</td>
145 <td class="paramtype"> </td>
146 <td class="paramname">mqc, </td>
149 <td class="paramkey"></td>
151 <td class="paramtype"> </td>
152 <td class="paramname">c, </td>
155 <td class="paramkey"></td>
157 <td class="paramtype"> </td>
158 <td class="paramname">ct </td>
166 </div><div class="memdoc">
167 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> OPJ_UINT32 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->bp + 1); \</div><div class="line"> if (*mqc->bp == 0xff) { \</div><div class="line"> if (l_c > 0x8f) { \</div><div class="line"> c += 0xff00; \</div><div class="line"> ct = 8; \</div><div class="line"> mqc->end_of_byte_stream_counter ++; \</div><div class="line"> } <span class="keywordflow">else</span> { \</div><div class="line"> mqc->bp++; \</div><div class="line"> c += l_c << 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->bp++; \</div><div class="line"> c += l_c << 8; \</div><div class="line"> ct = 8; \</div><div class="line"> } \</div><div class="line">}</div></div><!-- fragment -->
168 <p class="reference">Referenced by <a class="el" href="mqc__inl_8h.html#af1feff8274fe5a9da129d93322fce03e">opj_mqc_bytein()</a>.</p>
172 <a id="a89ab47f40f5de66906de82d3e5bd724b"></a>
173 <h2 class="memtitle"><span class="permalink"><a href="#a89ab47f40f5de66906de82d3e5bd724b">◆ </a></span>opj_mqc_decode</h2>
175 <div class="memitem">
176 <div class="memproto">
177 <table class="memname">
179 <td class="memname">#define opj_mqc_decode</td>
181 <td class="paramtype"> </td>
182 <td class="paramname">d, </td>
185 <td class="paramkey"></td>
187 <td class="paramtype"> </td>
188 <td class="paramname">mqc </td>
193 <td></td><td>   <a class="el" href="mqc__inl_8h.html#a40c56ca9f2d05d6107741d6f701616cf">opj_mqc_decode_macro</a>(d, mqc, mqc->curctx, mqc->a, mqc->c, mqc->ct)</td>
196 </div><div class="memdoc">
198 <p>Decode a symbol. </p>
199 <dl class="params"><dt>Parameters</dt><dd>
200 <table class="params">
201 <tr><td class="paramname">d</td><td>OPJ_UINT32 value where to store the decoded symbol </td></tr>
202 <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
206 <dl class="section return"><dt>Returns</dt><dd>Returns the decoded symbol (0 or 1) in d </dd></dl>
208 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a5b012076ab1c77674f5d0727bb78bf1d">opj_t1_dec_clnpass_check_segsym()</a>.</p>
212 <a id="a40c56ca9f2d05d6107741d6f701616cf"></a>
213 <h2 class="memtitle"><span class="permalink"><a href="#a40c56ca9f2d05d6107741d6f701616cf">◆ </a></span>opj_mqc_decode_macro</h2>
215 <div class="memitem">
216 <div class="memproto">
217 <table class="memname">
219 <td class="memname">#define opj_mqc_decode_macro</td>
221 <td class="paramtype"> </td>
222 <td class="paramname">d, </td>
225 <td class="paramkey"></td>
227 <td class="paramtype"> </td>
228 <td class="paramname">mqc, </td>
231 <td class="paramkey"></td>
233 <td class="paramtype"> </td>
234 <td class="paramname">curctx, </td>
237 <td class="paramkey"></td>
239 <td class="paramtype"> </td>
240 <td class="paramname">a, </td>
243 <td class="paramkey"></td>
245 <td class="paramtype"> </td>
246 <td class="paramname">c, </td>
249 <td class="paramkey"></td>
251 <td class="paramtype"> </td>
252 <td class="paramname">ct </td>
260 </div><div class="memdoc">
261 <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 "J.2 - Decoding an MPS or an LPS in the */</span> \</div><div class="line"> <span class="comment">/* software-conventions decoder" 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)->qeval; \</div><div class="line"> if ((c >> 16) < (*curctx)->qeval) { \</div><div class="line"> opj_mqc_lpsexchange_macro(d, curctx, a); \</div><div class="line"> opj_mqc_renormd_macro(mqc, a, c, ct); \</div><div class="line"> } <span class="keywordflow">else</span> { \</div><div class="line"> c -= (*curctx)->qeval << 16; \</div><div class="line"> if ((a & 0x8000) == 0) { \</div><div class="line"> opj_mqc_mpsexchange_macro(d, curctx, a); \</div><div class="line"> opj_mqc_renormd_macro(mqc, a, c, ct); \</div><div class="line"> } <span class="keywordflow">else</span> { \</div><div class="line"> d = (*curctx)->mps; \</div><div class="line"> } \</div><div class="line"> } \</div><div class="line">}</div></div><!-- fragment -->
264 <a id="a0e2e2ac16b81932dd21a765c9acb71d5"></a>
265 <h2 class="memtitle"><span class="permalink"><a href="#a0e2e2ac16b81932dd21a765c9acb71d5">◆ </a></span>opj_mqc_lpsexchange_macro</h2>
267 <div class="memitem">
268 <div class="memproto">
269 <table class="memname">
271 <td class="memname">#define opj_mqc_lpsexchange_macro</td>
273 <td class="paramtype"> </td>
274 <td class="paramname">d, </td>
277 <td class="paramkey"></td>
279 <td class="paramtype"> </td>
280 <td class="paramname">curctx, </td>
283 <td class="paramkey"></td>
285 <td class="paramtype"> </td>
286 <td class="paramname">a </td>
294 </div><div class="memdoc">
295 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> if (a < (*curctx)->qeval) { \</div><div class="line"> a = (*curctx)->qeval; \</div><div class="line"> d = (*curctx)->mps; \</div><div class="line"> *curctx = (*curctx)->nmps; \</div><div class="line"> } <span class="keywordflow">else</span> { \</div><div class="line"> a = (*curctx)->qeval; \</div><div class="line"> d = !((*curctx)->mps); \</div><div class="line"> *curctx = (*curctx)->nlps; \</div><div class="line"> } \</div><div class="line">}</div></div><!-- fragment -->
298 <a id="a77750aa7d64cf6f783400c88435e99a8"></a>
299 <h2 class="memtitle"><span class="permalink"><a href="#a77750aa7d64cf6f783400c88435e99a8">◆ </a></span>opj_mqc_mpsexchange_macro</h2>
301 <div class="memitem">
302 <div class="memproto">
303 <table class="memname">
305 <td class="memname">#define opj_mqc_mpsexchange_macro</td>
307 <td class="paramtype"> </td>
308 <td class="paramname">d, </td>
311 <td class="paramkey"></td>
313 <td class="paramtype"> </td>
314 <td class="paramname">curctx, </td>
317 <td class="paramkey"></td>
319 <td class="paramtype"> </td>
320 <td class="paramname">a </td>
328 </div><div class="memdoc">
329 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> if (a < (*curctx)->qeval) { \</div><div class="line"> d = !((*curctx)->mps); \</div><div class="line"> *curctx = (*curctx)->nlps; \</div><div class="line"> } <span class="keywordflow">else</span> { \</div><div class="line"> d = (*curctx)->mps; \</div><div class="line"> *curctx = (*curctx)->nmps; \</div><div class="line"> } \</div><div class="line">}</div></div><!-- fragment -->
332 <a id="a7364151e7c65e86436818cef3f7ad822"></a>
333 <h2 class="memtitle"><span class="permalink"><a href="#a7364151e7c65e86436818cef3f7ad822">◆ </a></span>opj_mqc_renormd</h2>
335 <div class="memitem">
336 <div class="memproto">
337 <table class="memname">
339 <td class="memname">#define opj_mqc_renormd</td>
341 <td class="paramtype"> </td>
342 <td class="paramname">mqc</td><td>)</td>
343 <td>   <a class="el" href="mqc__inl_8h.html#a26748854179015d73a35f07ed00b1f9d">opj_mqc_renormd_macro</a>(mqc, mqc->a, mqc->c, mqc->ct)</td>
346 </div><div class="memdoc">
348 <p>Renormalize mqc->a and mqc->c while decoding. </p>
349 <dl class="params"><dt>Parameters</dt><dd>
350 <table class="params">
351 <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
358 <a id="a26748854179015d73a35f07ed00b1f9d"></a>
359 <h2 class="memtitle"><span class="permalink"><a href="#a26748854179015d73a35f07ed00b1f9d">◆ </a></span>opj_mqc_renormd_macro</h2>
361 <div class="memitem">
362 <div class="memproto">
363 <table class="memname">
365 <td class="memname">#define opj_mqc_renormd_macro</td>
367 <td class="paramtype"> </td>
368 <td class="paramname">mqc, </td>
371 <td class="paramkey"></td>
373 <td class="paramtype"> </td>
374 <td class="paramname">a, </td>
377 <td class="paramkey"></td>
379 <td class="paramtype"> </td>
380 <td class="paramname">c, </td>
383 <td class="paramkey"></td>
385 <td class="paramtype"> </td>
386 <td class="paramname">ct </td>
394 </div><div class="memdoc">
395 <b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> do { \</div><div class="line"> if (ct == 0) { \</div><div class="line"> opj_mqc_bytein_macro(mqc, c, ct); \</div><div class="line"> } \</div><div class="line"> a <<= 1; \</div><div class="line"> c <<= 1; \</div><div class="line"> ct--; \</div><div class="line"> } <span class="keywordflow">while</span> (a < 0x8000); \</div><div class="line">}</div></div><!-- fragment -->
398 <a id="a60d2e92b6ebae432474ce7d62778a04b"></a>
399 <h2 class="memtitle"><span class="permalink"><a href="#a60d2e92b6ebae432474ce7d62778a04b">◆ </a></span>UPLOAD_MQC_VARIABLES</h2>
401 <div class="memitem">
402 <div class="memproto">
403 <table class="memname">
405 <td class="memname">#define UPLOAD_MQC_VARIABLES</td>
407 <td class="paramtype"> </td>
408 <td class="paramname">mqc, </td>
411 <td class="paramkey"></td>
413 <td class="paramtype"> </td>
414 <td class="paramname">curctx, </td>
417 <td class="paramkey"></td>
419 <td class="paramtype"> </td>
420 <td class="paramname">c, </td>
423 <td class="paramkey"></td>
425 <td class="paramtype"> </td>
426 <td class="paramname">a, </td>
429 <td class="paramkey"></td>
431 <td class="paramtype"> </td>
432 <td class="paramname">ct </td>
440 </div><div class="memdoc">
441 <b>Value:</b><div class="fragment"><div class="line">mqc->curctx = curctx; \</div><div class="line"> mqc->c = c; \</div><div class="line"> mqc->a = a; \</div><div class="line"> mqc->ct = ct;</div></div><!-- fragment -->
444 <h2 class="groupheader">Function Documentation</h2>
445 <a id="af1feff8274fe5a9da129d93322fce03e"></a>
446 <h2 class="memtitle"><span class="permalink"><a href="#af1feff8274fe5a9da129d93322fce03e">◆ </a></span>opj_mqc_bytein()</h2>
448 <div class="memitem">
449 <div class="memproto">
450 <table class="mlabels">
452 <td class="mlabels-left">
453 <table class="memname">
455 <td class="memname">static <a class="el" href="openjpeg_8h.html#a2eb6f9e0395b47b8d5e3eeae4fe0c116">INLINE</a> void opj_mqc_bytein </td>
457 <td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *const </td>
458 <td class="paramname"><em>mqc</em></td><td>)</td>
463 <td class="mlabels-right">
464 <span class="mlabels"><span class="mlabel">static</span></span> </td>
467 </div><div class="memdoc">
469 <p>Input a byte. </p>
470 <dl class="params"><dt>Parameters</dt><dd>
471 <table class="params">
472 <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
477 <p class="reference">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>
479 <p class="reference">Referenced by <a class="el" href="group___m_q_c.html#gaa0e4b75040d645307e25dd53528e8512">opj_mqc_init_dec()</a>.</p>
483 <a id="ac95b072fbe38180fafa0c02051b12874"></a>
484 <h2 class="memtitle"><span class="permalink"><a href="#ac95b072fbe38180fafa0c02051b12874">◆ </a></span>opj_mqc_raw_decode()</h2>
486 <div class="memitem">
487 <div class="memproto">
488 <table class="mlabels">
490 <td class="mlabels-left">
491 <table class="memname">
493 <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>
495 <td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> * </td>
496 <td class="paramname"><em>mqc</em></td><td>)</td>
501 <td class="mlabels-right">
502 <span class="mlabels"><span class="mlabel">static</span></span> </td>
505 </div><div class="memdoc">
507 <p>Decode a symbol using raw-decoder. </p>
508 <p>Cfr p.506 TAUBMAN </p><dl class="params"><dt>Parameters</dt><dd>
509 <table class="params">
510 <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
514 <dl class="section return"><dt>Returns</dt><dd>Returns the decoded symbol (0 or 1) </dd></dl>
516 <p class="reference">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>
518 <p class="reference">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>
522 </div><!-- contents -->
523 <!-- start footer part -->
524 <hr class="footer"/><address class="footer"><small>
525 Generated by  <a href="http://www.doxygen.org/index.html">
526 <img class="footer" src="doxygen.png" alt="doxygen"/>