Create CNAME
[openjpeg.git] / doxygen / mqc_8h.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>OpenJPEG: mqc.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" />
13 </head>
14 <body>
15 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
16 <div id="titlearea">
17 <table cellspacing="0" cellpadding="0">
18  <tbody>
19  <tr style="height: 56px;">
20   <td id="projectalign" style="padding-left: 0.5em;">
21    <div id="projectname">OpenJPEG
22    &#160;<span id="projectnumber">2.5.0</span>
23    </div>
24   </td>
25  </tr>
26  </tbody>
27 </table>
28 </div>
29 <!-- end header part -->
30 <!-- Generated by Doxygen 1.8.17 -->
31 <script type="text/javascript" src="menudata.js"></script>
32 <script type="text/javascript" src="menu.js"></script>
33 <script type="text/javascript">
34 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
35 $(function() {
36   initMenu('',false,false,'search.php','Search');
37 });
38 /* @license-end */</script>
39 <div id="main-nav"></div>
40 <div id="nav-path" class="navpath">
41   <ul>
42 <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>
43 </div>
44 </div><!-- top -->
45 <div class="header">
46   <div class="summary">
47 <a href="#nested-classes">Data Structures</a> &#124;
48 <a href="#define-members">Macros</a> &#124;
49 <a href="#typedef-members">Typedefs</a>  </div>
50   <div class="headertitle">
51 <div class="title">mqc.h File Reference</div>  </div>
52 </div><!--header-->
53 <div class="contents">
54
55 <p>Implementation of an MQ-Coder (MQC)  
56 <a href="#details">More...</a></p>
57 <div class="textblock"><code>#include &quot;<a class="el" href="opj__common_8h_source.html">opj_common.h</a>&quot;</code><br />
58 <code>#include &quot;<a class="el" href="mqc__inl_8h_source.html">mqc_inl.h</a>&quot;</code><br />
59 </div>
60 <p><a href="mqc_8h_source.html">Go to the source code of this file.</a></p>
61 <table class="memberdecls">
62 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
63 Data Structures</h2></td></tr>
64 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopj__mqc__state.html">opj_mqc_state</a></td></tr>
65 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This struct defines the state of a context.  <a href="structopj__mqc__state.html#details">More...</a><br /></td></tr>
66 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
67 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structopj__mqc.html">opj_mqc</a></td></tr>
68 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">MQ coder.  <a href="structopj__mqc.html#details">More...</a><br /></td></tr>
69 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
70 </table><table class="memberdecls">
71 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
72 Macros</h2></td></tr>
73 <tr class="memitem:a2ea7971c7ed2c6e19bc3e9c3ba26b68f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a2ea7971c7ed2c6e19bc3e9c3ba26b68f">MQC_NUMCTXS</a>&#160;&#160;&#160;19</td></tr>
74 <tr class="separator:a2ea7971c7ed2c6e19bc3e9c3ba26b68f"><td class="memSeparator" colspan="2">&#160;</td></tr>
75 <tr class="memitem:af45d4e27106b58c5cc51bf4eaa2b3f4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#af45d4e27106b58c5cc51bf4eaa2b3f4f">BYPASS_CT_INIT</a>&#160;&#160;&#160;0xDEADBEEF</td></tr>
76 <tr class="separator:af45d4e27106b58c5cc51bf4eaa2b3f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
77 </table><table class="memberdecls">
78 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
79 Typedefs</h2></td></tr>
80 <tr class="memitem:a9825c307fa8289e5cb331dd7225c33c2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopj__mqc__state.html">opj_mqc_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a9825c307fa8289e5cb331dd7225c33c2">opj_mqc_state_t</a></td></tr>
81 <tr class="memdesc:a9825c307fa8289e5cb331dd7225c33c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This struct defines the state of a context.  <a href="mqc_8h.html#a9825c307fa8289e5cb331dd7225c33c2">More...</a><br /></td></tr>
82 <tr class="separator:a9825c307fa8289e5cb331dd7225c33c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
83 <tr class="memitem:a88db3570f4dea454a8a2251b174d5050"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopj__mqc.html">opj_mqc</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a></td></tr>
84 <tr class="memdesc:a88db3570f4dea454a8a2251b174d5050"><td class="mdescLeft">&#160;</td><td class="mdescRight">MQ coder.  <a href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">More...</a><br /></td></tr>
85 <tr class="separator:a88db3570f4dea454a8a2251b174d5050"><td class="memSeparator" colspan="2">&#160;</td></tr>
86 </table><table class="memberdecls">
87 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
88 Exported functions</h2></td></tr>
89 <tr class="memitem:a7315986b3a52b2e2287a49ab1780ae4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a7315986b3a52b2e2287a49ab1780ae4f">opj_mqc_setcurctx</a>(mqc,  ctxno)&#160;&#160;&#160;(mqc)-&gt;curctx = &amp;(mqc)-&gt;ctxs[(<a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>)(ctxno)]</td></tr>
90 <tr class="memdesc:a7315986b3a52b2e2287a49ab1780ae4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the current context used for coding/decoding.  <a href="mqc_8h.html#a7315986b3a52b2e2287a49ab1780ae4f">More...</a><br /></td></tr>
91 <tr class="separator:a7315986b3a52b2e2287a49ab1780ae4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
92 <tr class="memitem:ac9c6d11f48074e5064584d1e5d0dcd0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#ac9c6d11f48074e5064584d1e5d0dcd0f">opj_mqc_numbytes</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc)</td></tr>
93 <tr class="memdesc:ac9c6d11f48074e5064584d1e5d0dcd0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of bytes written/read since initialisation.  <a href="mqc_8h.html#ac9c6d11f48074e5064584d1e5d0dcd0f">More...</a><br /></td></tr>
94 <tr class="separator:ac9c6d11f48074e5064584d1e5d0dcd0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
95 <tr class="memitem:a9b1de23283892ba50029b75ab1b9a91a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a9b1de23283892ba50029b75ab1b9a91a">opj_mqc_resetstates</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc)</td></tr>
96 <tr class="memdesc:a9b1de23283892ba50029b75ab1b9a91a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the states of all the context of the coder/decoder (each context is set to a state where 0 and 1 are more or less equiprobable)  <a href="mqc_8h.html#a9b1de23283892ba50029b75ab1b9a91a">More...</a><br /></td></tr>
97 <tr class="separator:a9b1de23283892ba50029b75ab1b9a91a"><td class="memSeparator" colspan="2">&#160;</td></tr>
98 <tr class="memitem:a7260daca59a1e01f087a7806db045853"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a7260daca59a1e01f087a7806db045853">opj_mqc_setstate</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> ctxno, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> msb, <a class="el" href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a> prob)</td></tr>
99 <tr class="memdesc:a7260daca59a1e01f087a7806db045853"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the state of a particular context.  <a href="mqc_8h.html#a7260daca59a1e01f087a7806db045853">More...</a><br /></td></tr>
100 <tr class="separator:a7260daca59a1e01f087a7806db045853"><td class="memSeparator" colspan="2">&#160;</td></tr>
101 <tr class="memitem:ac1a06acd83ef63950db20f73251efab3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#ac1a06acd83ef63950db20f73251efab3">opj_mqc_init_enc</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *bp)</td></tr>
102 <tr class="memdesc:ac1a06acd83ef63950db20f73251efab3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the encoder.  <a href="mqc_8h.html#ac1a06acd83ef63950db20f73251efab3">More...</a><br /></td></tr>
103 <tr class="separator:ac1a06acd83ef63950db20f73251efab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
104 <tr class="memitem:a39b562515ebaa0a9707c51b6770ad7fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a39b562515ebaa0a9707c51b6770ad7fe">opj_mqc_flush</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc)</td></tr>
105 <tr class="memdesc:a39b562515ebaa0a9707c51b6770ad7fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush the encoder, so that all remaining data is written.  <a href="mqc_8h.html#a39b562515ebaa0a9707c51b6770ad7fe">More...</a><br /></td></tr>
106 <tr class="separator:a39b562515ebaa0a9707c51b6770ad7fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
107 <tr class="memitem:aba5f2d1b605d35e514aeb7a2827996b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#aba5f2d1b605d35e514aeb7a2827996b9">opj_mqc_bypass_init_enc</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc)</td></tr>
108 <tr class="memdesc:aba5f2d1b605d35e514aeb7a2827996b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">BYPASS mode switch, initialization operation.  <a href="mqc_8h.html#aba5f2d1b605d35e514aeb7a2827996b9">More...</a><br /></td></tr>
109 <tr class="separator:aba5f2d1b605d35e514aeb7a2827996b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
110 <tr class="memitem:a4a259d02eadde28d92edac74dbc40323"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a4a259d02eadde28d92edac74dbc40323">opj_mqc_bypass_get_extra_bytes</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> erterm)</td></tr>
111 <tr class="memdesc:a4a259d02eadde28d92edac74dbc40323"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return number of extra bytes to add to <a class="el" href="mqc_8h.html#ac9c6d11f48074e5064584d1e5d0dcd0f" title="Return the number of bytes written/read since initialisation.">opj_mqc_numbytes()</a> for theĀ² size of a non-terminating BYPASS pass.  <a href="mqc_8h.html#a4a259d02eadde28d92edac74dbc40323">More...</a><br /></td></tr>
112 <tr class="separator:a4a259d02eadde28d92edac74dbc40323"><td class="memSeparator" colspan="2">&#160;</td></tr>
113 <tr class="memitem:ad886df66150746e1a41d3e20037683fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#ad886df66150746e1a41d3e20037683fb">opj_mqc_bypass_enc</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> d)</td></tr>
114 <tr class="memdesc:ad886df66150746e1a41d3e20037683fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">BYPASS mode switch, coding operation.  <a href="mqc_8h.html#ad886df66150746e1a41d3e20037683fb">More...</a><br /></td></tr>
115 <tr class="separator:ad886df66150746e1a41d3e20037683fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
116 <tr class="memitem:a9eb31de8e3ede6acad7469f9ea0b0d1b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a9eb31de8e3ede6acad7469f9ea0b0d1b">opj_mqc_bypass_flush_enc</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> erterm)</td></tr>
117 <tr class="memdesc:a9eb31de8e3ede6acad7469f9ea0b0d1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">BYPASS mode switch, flush operation.  <a href="mqc_8h.html#a9eb31de8e3ede6acad7469f9ea0b0d1b">More...</a><br /></td></tr>
118 <tr class="separator:a9eb31de8e3ede6acad7469f9ea0b0d1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
119 <tr class="memitem:a858901a7f568a2845885e537aaeab825"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a858901a7f568a2845885e537aaeab825">opj_mqc_reset_enc</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc)</td></tr>
120 <tr class="memdesc:a858901a7f568a2845885e537aaeab825"><td class="mdescLeft">&#160;</td><td class="mdescRight">RESET mode switch.  <a href="mqc_8h.html#a858901a7f568a2845885e537aaeab825">More...</a><br /></td></tr>
121 <tr class="separator:a858901a7f568a2845885e537aaeab825"><td class="memSeparator" colspan="2">&#160;</td></tr>
122 <tr class="memitem:a178f2a2119c59ae30169835162bd73e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a178f2a2119c59ae30169835162bd73e7">opj_mqc_restart_init_enc</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc)</td></tr>
123 <tr class="memdesc:a178f2a2119c59ae30169835162bd73e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">RESTART mode switch (TERMALL) reinitialisation.  <a href="mqc_8h.html#a178f2a2119c59ae30169835162bd73e7">More...</a><br /></td></tr>
124 <tr class="separator:a178f2a2119c59ae30169835162bd73e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
125 <tr class="memitem:ae8351e8a317e68679bf5ce649e91f48d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#ae8351e8a317e68679bf5ce649e91f48d">opj_mqc_erterm_enc</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc)</td></tr>
126 <tr class="memdesc:ae8351e8a317e68679bf5ce649e91f48d"><td class="mdescLeft">&#160;</td><td class="mdescRight">ERTERM mode switch (PTERM)  <a href="mqc_8h.html#ae8351e8a317e68679bf5ce649e91f48d">More...</a><br /></td></tr>
127 <tr class="separator:ae8351e8a317e68679bf5ce649e91f48d"><td class="memSeparator" colspan="2">&#160;</td></tr>
128 <tr class="memitem:af6195cf3fe837a5acbaa721c3e453465"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#af6195cf3fe837a5acbaa721c3e453465">opj_mqc_segmark_enc</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc)</td></tr>
129 <tr class="memdesc:af6195cf3fe837a5acbaa721c3e453465"><td class="mdescLeft">&#160;</td><td class="mdescRight">SEGMARK mode switch (SEGSYM)  <a href="mqc_8h.html#af6195cf3fe837a5acbaa721c3e453465">More...</a><br /></td></tr>
130 <tr class="separator:af6195cf3fe837a5acbaa721c3e453465"><td class="memSeparator" colspan="2">&#160;</td></tr>
131 <tr class="memitem:aa0e4b75040d645307e25dd53528e8512"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#aa0e4b75040d645307e25dd53528e8512">opj_mqc_init_dec</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *bp, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> len, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> extra_writable_bytes)</td></tr>
132 <tr class="memdesc:aa0e4b75040d645307e25dd53528e8512"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the decoder for MQ decoding.  <a href="mqc_8h.html#aa0e4b75040d645307e25dd53528e8512">More...</a><br /></td></tr>
133 <tr class="separator:aa0e4b75040d645307e25dd53528e8512"><td class="memSeparator" colspan="2">&#160;</td></tr>
134 <tr class="memitem:a683734858d69085fd07394d1d3fae633"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a683734858d69085fd07394d1d3fae633">opj_mqc_raw_init_dec</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *bp, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> len, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> extra_writable_bytes)</td></tr>
135 <tr class="memdesc:a683734858d69085fd07394d1d3fae633"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the decoder for RAW decoding.  <a href="mqc_8h.html#a683734858d69085fd07394d1d3fae633">More...</a><br /></td></tr>
136 <tr class="separator:a683734858d69085fd07394d1d3fae633"><td class="memSeparator" colspan="2">&#160;</td></tr>
137 <tr class="memitem:a5bdec54dabf502c578e46d6b34ce8b93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mqc_8h.html#a5bdec54dabf502c578e46d6b34ce8b93">opq_mqc_finish_dec</a> (<a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *mqc)</td></tr>
138 <tr class="memdesc:a5bdec54dabf502c578e46d6b34ce8b93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate RAW/MQC decoding.  <a href="mqc_8h.html#a5bdec54dabf502c578e46d6b34ce8b93">More...</a><br /></td></tr>
139 <tr class="separator:a5bdec54dabf502c578e46d6b34ce8b93"><td class="memSeparator" colspan="2">&#160;</td></tr>
140 </table>
141 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
142 <div class="textblock"><p>Implementation of an MQ-Coder (MQC) </p>
143 <p>The functions in <a class="el" href="mqc_8c.html">MQC.C</a> have for goal to realize the MQ-coder operations. The functions in <a class="el" href="mqc_8c.html">MQC.C</a> are used by some function in <a class="el" href="t1_8c.html">T1.C</a>. </p>
144 </div><h2 class="groupheader">Macro Definition Documentation</h2>
145 <a id="af45d4e27106b58c5cc51bf4eaa2b3f4f"></a>
146 <h2 class="memtitle"><span class="permalink"><a href="#af45d4e27106b58c5cc51bf4eaa2b3f4f">&#9670;&nbsp;</a></span>BYPASS_CT_INIT</h2>
147
148 <div class="memitem">
149 <div class="memproto">
150       <table class="memname">
151         <tr>
152           <td class="memname">#define BYPASS_CT_INIT&#160;&#160;&#160;0xDEADBEEF</td>
153         </tr>
154       </table>
155 </div><div class="memdoc">
156
157 </div>
158 </div>
159 <a id="a2ea7971c7ed2c6e19bc3e9c3ba26b68f"></a>
160 <h2 class="memtitle"><span class="permalink"><a href="#a2ea7971c7ed2c6e19bc3e9c3ba26b68f">&#9670;&nbsp;</a></span>MQC_NUMCTXS</h2>
161
162 <div class="memitem">
163 <div class="memproto">
164       <table class="memname">
165         <tr>
166           <td class="memname">#define MQC_NUMCTXS&#160;&#160;&#160;19</td>
167         </tr>
168       </table>
169 </div><div class="memdoc">
170
171 </div>
172 </div>
173 <a id="a7315986b3a52b2e2287a49ab1780ae4f"></a>
174 <h2 class="memtitle"><span class="permalink"><a href="#a7315986b3a52b2e2287a49ab1780ae4f">&#9670;&nbsp;</a></span>opj_mqc_setcurctx</h2>
175
176 <div class="memitem">
177 <div class="memproto">
178       <table class="memname">
179         <tr>
180           <td class="memname">#define opj_mqc_setcurctx</td>
181           <td>(</td>
182           <td class="paramtype">&#160;</td>
183           <td class="paramname">mqc, </td>
184         </tr>
185         <tr>
186           <td class="paramkey"></td>
187           <td></td>
188           <td class="paramtype">&#160;</td>
189           <td class="paramname">ctxno&#160;</td>
190         </tr>
191         <tr>
192           <td></td>
193           <td>)</td>
194           <td></td><td>&#160;&#160;&#160;(mqc)-&gt;curctx = &amp;(mqc)-&gt;ctxs[(<a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>)(ctxno)]</td>
195         </tr>
196       </table>
197 </div><div class="memdoc">
198
199 <p>Set the current context used for coding/decoding. </p>
200 <dl class="params"><dt>Parameters</dt><dd>
201   <table class="params">
202     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
203     <tr><td class="paramname">ctxno</td><td>Number that identifies the context </td></tr>
204   </table>
205   </dd>
206 </dl>
207
208 </div>
209 </div>
210 <h2 class="groupheader">Typedef Documentation</h2>
211 <a id="a9825c307fa8289e5cb331dd7225c33c2"></a>
212 <h2 class="memtitle"><span class="permalink"><a href="#a9825c307fa8289e5cb331dd7225c33c2">&#9670;&nbsp;</a></span>opj_mqc_state_t</h2>
213
214 <div class="memitem">
215 <div class="memproto">
216       <table class="memname">
217         <tr>
218           <td class="memname">typedef struct <a class="el" href="structopj__mqc__state.html">opj_mqc_state</a> <a class="el" href="mqc_8h.html#a9825c307fa8289e5cb331dd7225c33c2">opj_mqc_state_t</a></td>
219         </tr>
220       </table>
221 </div><div class="memdoc">
222
223 <p>This struct defines the state of a context. </p>
224
225 </div>
226 </div>
227 <a id="a88db3570f4dea454a8a2251b174d5050"></a>
228 <h2 class="memtitle"><span class="permalink"><a href="#a88db3570f4dea454a8a2251b174d5050">&#9670;&nbsp;</a></span>opj_mqc_t</h2>
229
230 <div class="memitem">
231 <div class="memproto">
232       <table class="memname">
233         <tr>
234           <td class="memname">typedef struct <a class="el" href="structopj__mqc.html">opj_mqc</a> <a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a></td>
235         </tr>
236       </table>
237 </div><div class="memdoc">
238
239 <p>MQ coder. </p>
240
241 </div>
242 </div>
243 <h2 class="groupheader">Function Documentation</h2>
244 <a id="ad886df66150746e1a41d3e20037683fb"></a>
245 <h2 class="memtitle"><span class="permalink"><a href="#ad886df66150746e1a41d3e20037683fb">&#9670;&nbsp;</a></span>opj_mqc_bypass_enc()</h2>
246
247 <div class="memitem">
248 <div class="memproto">
249       <table class="memname">
250         <tr>
251           <td class="memname">void opj_mqc_bypass_enc </td>
252           <td>(</td>
253           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
254           <td class="paramname"><em>mqc</em>, </td>
255         </tr>
256         <tr>
257           <td class="paramkey"></td>
258           <td></td>
259           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
260           <td class="paramname"><em>d</em>&#160;</td>
261         </tr>
262         <tr>
263           <td></td>
264           <td>)</td>
265           <td></td><td></td>
266         </tr>
267       </table>
268 </div><div class="memdoc">
269
270 <p>BYPASS mode switch, coding operation. </p>
271 <p>JPEG 2000 p 505. </p><dl class="params"><dt>Parameters</dt><dd>
272   <table class="params">
273     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
274     <tr><td class="paramname">d</td><td>The symbol to be encoded (0 or 1) </td></tr>
275   </table>
276   </dd>
277 </dl>
278
279 <p class="reference">References <a class="el" href="structopj__mqc.html#a3db4ba6d16362a3bb01801c76f3dad63">opj_mqc::bp</a>, <a class="el" href="mqc_8h.html#af45d4e27106b58c5cc51bf4eaa2b3f4f">BYPASS_CT_INIT</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>
280
281 </div>
282 </div>
283 <a id="a9eb31de8e3ede6acad7469f9ea0b0d1b"></a>
284 <h2 class="memtitle"><span class="permalink"><a href="#a9eb31de8e3ede6acad7469f9ea0b0d1b">&#9670;&nbsp;</a></span>opj_mqc_bypass_flush_enc()</h2>
285
286 <div class="memitem">
287 <div class="memproto">
288       <table class="memname">
289         <tr>
290           <td class="memname">void opj_mqc_bypass_flush_enc </td>
291           <td>(</td>
292           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
293           <td class="paramname"><em>mqc</em>, </td>
294         </tr>
295         <tr>
296           <td class="paramkey"></td>
297           <td></td>
298           <td class="paramtype"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td>
299           <td class="paramname"><em>erterm</em>&#160;</td>
300         </tr>
301         <tr>
302           <td></td>
303           <td>)</td>
304           <td></td><td></td>
305         </tr>
306       </table>
307 </div><div class="memdoc">
308
309 <p>BYPASS mode switch, flush operation. </p>
310 <dl class="params"><dt>Parameters</dt><dd>
311   <table class="params">
312     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
313     <tr><td class="paramname">erterm</td><td>1 if ERTERM is enabled, 0 otherwise </td></tr>
314   </table>
315   </dd>
316 </dl>
317
318 <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>
319
320 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
321
322 </div>
323 </div>
324 <a id="a4a259d02eadde28d92edac74dbc40323"></a>
325 <h2 class="memtitle"><span class="permalink"><a href="#a4a259d02eadde28d92edac74dbc40323">&#9670;&nbsp;</a></span>opj_mqc_bypass_get_extra_bytes()</h2>
326
327 <div class="memitem">
328 <div class="memproto">
329       <table class="memname">
330         <tr>
331           <td class="memname"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> opj_mqc_bypass_get_extra_bytes </td>
332           <td>(</td>
333           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
334           <td class="paramname"><em>mqc</em>, </td>
335         </tr>
336         <tr>
337           <td class="paramkey"></td>
338           <td></td>
339           <td class="paramtype"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td>
340           <td class="paramname"><em>erterm</em>&#160;</td>
341         </tr>
342         <tr>
343           <td></td>
344           <td>)</td>
345           <td></td><td></td>
346         </tr>
347       </table>
348 </div><div class="memdoc">
349
350 <p>Return number of extra bytes to add to <a class="el" href="mqc_8h.html#ac9c6d11f48074e5064584d1e5d0dcd0f" title="Return the number of bytes written/read since initialisation.">opj_mqc_numbytes()</a> for theĀ² size of a non-terminating BYPASS pass. </p>
351 <dl class="params"><dt>Parameters</dt><dd>
352   <table class="params">
353     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
354     <tr><td class="paramname">erterm</td><td>1 if ERTERM is enabled, 0 otherwise </td></tr>
355   </table>
356   </dd>
357 </dl>
358
359 <p class="reference">References <a class="el" href="structopj__mqc.html#a3db4ba6d16362a3bb01801c76f3dad63">opj_mqc::bp</a>, and <a class="el" href="structopj__mqc.html#a800663d44b19c3469c242a35840dd9bf">opj_mqc::ct</a>.</p>
360
361 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
362
363 </div>
364 </div>
365 <a id="aba5f2d1b605d35e514aeb7a2827996b9"></a>
366 <h2 class="memtitle"><span class="permalink"><a href="#aba5f2d1b605d35e514aeb7a2827996b9">&#9670;&nbsp;</a></span>opj_mqc_bypass_init_enc()</h2>
367
368 <div class="memitem">
369 <div class="memproto">
370       <table class="memname">
371         <tr>
372           <td class="memname">void opj_mqc_bypass_init_enc </td>
373           <td>(</td>
374           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
375           <td class="paramname"><em>mqc</em></td><td>)</td>
376           <td></td>
377         </tr>
378       </table>
379 </div><div class="memdoc">
380
381 <p>BYPASS mode switch, initialization operation. </p>
382 <p>JPEG 2000 p 505. </p><dl class="params"><dt>Parameters</dt><dd>
383   <table class="params">
384     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
385   </table>
386   </dd>
387 </dl>
388
389 <p class="reference">References <a class="el" href="structopj__mqc.html#a3db4ba6d16362a3bb01801c76f3dad63">opj_mqc::bp</a>, <a class="el" href="mqc_8h.html#af45d4e27106b58c5cc51bf4eaa2b3f4f">BYPASS_CT_INIT</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>
390
391 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
392
393 </div>
394 </div>
395 <a id="ae8351e8a317e68679bf5ce649e91f48d"></a>
396 <h2 class="memtitle"><span class="permalink"><a href="#ae8351e8a317e68679bf5ce649e91f48d">&#9670;&nbsp;</a></span>opj_mqc_erterm_enc()</h2>
397
398 <div class="memitem">
399 <div class="memproto">
400       <table class="memname">
401         <tr>
402           <td class="memname">void opj_mqc_erterm_enc </td>
403           <td>(</td>
404           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
405           <td class="paramname"><em>mqc</em></td><td>)</td>
406           <td></td>
407         </tr>
408       </table>
409 </div><div class="memdoc">
410
411 <p>ERTERM mode switch (PTERM) </p>
412 <dl class="params"><dt>Parameters</dt><dd>
413   <table class="params">
414     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
415   </table>
416   </dd>
417 </dl>
418
419 <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>, <a class="el" href="structopj__mqc.html#a800663d44b19c3469c242a35840dd9bf">opj_mqc::ct</a>, and <a class="el" href="mqc_8c.html#a0c8f333dd527ed82faec6dfec5b1711b">opj_mqc_byteout()</a>.</p>
420
421 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
422
423 </div>
424 </div>
425 <a id="a39b562515ebaa0a9707c51b6770ad7fe"></a>
426 <h2 class="memtitle"><span class="permalink"><a href="#a39b562515ebaa0a9707c51b6770ad7fe">&#9670;&nbsp;</a></span>opj_mqc_flush()</h2>
427
428 <div class="memitem">
429 <div class="memproto">
430       <table class="memname">
431         <tr>
432           <td class="memname">void opj_mqc_flush </td>
433           <td>(</td>
434           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
435           <td class="paramname"><em>mqc</em></td><td>)</td>
436           <td></td>
437         </tr>
438       </table>
439 </div><div class="memdoc">
440
441 <p>Flush the encoder, so that all remaining data is written. </p>
442 <dl class="params"><dt>Parameters</dt><dd>
443   <table class="params">
444     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
445   </table>
446   </dd>
447 </dl>
448
449 <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>, <a class="el" href="structopj__mqc.html#a800663d44b19c3469c242a35840dd9bf">opj_mqc::ct</a>, <a class="el" href="mqc_8c.html#a0c8f333dd527ed82faec6dfec5b1711b">opj_mqc_byteout()</a>, and <a class="el" href="mqc_8c.html#a22d3ee14b5fa548d998bfcef2b34f344">opj_mqc_setbits()</a>.</p>
450
451 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
452
453 </div>
454 </div>
455 <a id="aa0e4b75040d645307e25dd53528e8512"></a>
456 <h2 class="memtitle"><span class="permalink"><a href="#aa0e4b75040d645307e25dd53528e8512">&#9670;&nbsp;</a></span>opj_mqc_init_dec()</h2>
457
458 <div class="memitem">
459 <div class="memproto">
460       <table class="memname">
461         <tr>
462           <td class="memname">void opj_mqc_init_dec </td>
463           <td>(</td>
464           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
465           <td class="paramname"><em>mqc</em>, </td>
466         </tr>
467         <tr>
468           <td class="paramkey"></td>
469           <td></td>
470           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *&#160;</td>
471           <td class="paramname"><em>bp</em>, </td>
472         </tr>
473         <tr>
474           <td class="paramkey"></td>
475           <td></td>
476           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
477           <td class="paramname"><em>len</em>, </td>
478         </tr>
479         <tr>
480           <td class="paramkey"></td>
481           <td></td>
482           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
483           <td class="paramname"><em>extra_writable_bytes</em>&#160;</td>
484         </tr>
485         <tr>
486           <td></td>
487           <td>)</td>
488           <td></td><td></td>
489         </tr>
490       </table>
491 </div><div class="memdoc">
492
493 <p>Initialize the decoder for MQ decoding. </p>
494 <p>opj_mqc_finish_dec() must be absolutely called after finishing the decoding passes, so as to restore the bytes temporarily overwritten.</p>
495 <dl class="params"><dt>Parameters</dt><dd>
496   <table class="params">
497     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
498     <tr><td class="paramname">bp</td><td>Pointer to the start of the buffer from which the bytes will be read Note that OPJ_COMMON_CBLK_DATA_EXTRA bytes at the end of the buffer will be temporarily overwritten with an artificial 0xFF 0xFF marker. (they will be backuped in the mqc structure to be restored later) So bp must be at least len + OPJ_COMMON_CBLK_DATA_EXTRA large, and writable. </td></tr>
499     <tr><td class="paramname">len</td><td>Length of the input buffer </td></tr>
500     <tr><td class="paramname">extra_writable_bytes</td><td>Indicate how many bytes after len are writable. This is to indicate your consent that bp must be large enough. </td></tr>
501   </table>
502   </dd>
503 </dl>
504
505 <p class="reference">References <a class="el" href="structopj__mqc.html#a26cf29944f5a74b2a0af55defaed5e5d">opj_mqc::a</a>, <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>, <a class="el" href="structopj__mqc.html#a49f134a3878811e59581b25fc829a069">opj_mqc::end_of_byte_stream_counter</a>, <a class="el" href="mqc__inl_8h.html#af1feff8274fe5a9da129d93322fce03e">opj_mqc_bytein()</a>, <a class="el" href="mqc_8c.html#a4f0a5a2ce3c6ff564f7dc9bdaae4f961">opj_mqc_init_dec_common()</a>, and <a class="el" href="mqc_8h.html#a7315986b3a52b2e2287a49ab1780ae4f">opj_mqc_setcurctx</a>.</p>
506
507 <p class="reference">Referenced by <a class="el" href="t1_8c.html#ab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>.</p>
508
509 </div>
510 </div>
511 <a id="ac1a06acd83ef63950db20f73251efab3"></a>
512 <h2 class="memtitle"><span class="permalink"><a href="#ac1a06acd83ef63950db20f73251efab3">&#9670;&nbsp;</a></span>opj_mqc_init_enc()</h2>
513
514 <div class="memitem">
515 <div class="memproto">
516       <table class="memname">
517         <tr>
518           <td class="memname">void opj_mqc_init_enc </td>
519           <td>(</td>
520           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
521           <td class="paramname"><em>mqc</em>, </td>
522         </tr>
523         <tr>
524           <td class="paramkey"></td>
525           <td></td>
526           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *&#160;</td>
527           <td class="paramname"><em>bp</em>&#160;</td>
528         </tr>
529         <tr>
530           <td></td>
531           <td>)</td>
532           <td></td><td></td>
533         </tr>
534       </table>
535 </div><div class="memdoc">
536
537 <p>Initialize the encoder. </p>
538 <dl class="params"><dt>Parameters</dt><dd>
539   <table class="params">
540     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
541     <tr><td class="paramname">bp</td><td>Pointer to the start of the buffer where the bytes will be written </td></tr>
542   </table>
543   </dd>
544 </dl>
545
546 <p class="reference">References <a class="el" href="structopj__mqc.html#a26cf29944f5a74b2a0af55defaed5e5d">opj_mqc::a</a>, <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>, <a class="el" href="structopj__mqc.html#a49f134a3878811e59581b25fc829a069">opj_mqc::end_of_byte_stream_counter</a>, <a class="el" href="mqc_8h.html#a7315986b3a52b2e2287a49ab1780ae4f">opj_mqc_setcurctx</a>, and <a class="el" href="structopj__mqc.html#ac6e2a167d3bdf52a3c7378cc62d3ff20">opj_mqc::start</a>.</p>
547
548 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
549
550 </div>
551 </div>
552 <a id="ac9c6d11f48074e5064584d1e5d0dcd0f"></a>
553 <h2 class="memtitle"><span class="permalink"><a href="#ac9c6d11f48074e5064584d1e5d0dcd0f">&#9670;&nbsp;</a></span>opj_mqc_numbytes()</h2>
554
555 <div class="memitem">
556 <div class="memproto">
557       <table class="memname">
558         <tr>
559           <td class="memname"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> opj_mqc_numbytes </td>
560           <td>(</td>
561           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
562           <td class="paramname"><em>mqc</em></td><td>)</td>
563           <td></td>
564         </tr>
565       </table>
566 </div><div class="memdoc">
567
568 <p>Return the number of bytes written/read since initialisation. </p>
569 <dl class="params"><dt>Parameters</dt><dd>
570   <table class="params">
571     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
572   </table>
573   </dd>
574 </dl>
575 <dl class="section return"><dt>Returns</dt><dd>Returns the number of bytes already encoded </dd></dl>
576
577 <p class="reference">References <a class="el" href="structopj__mqc.html#a3db4ba6d16362a3bb01801c76f3dad63">opj_mqc::bp</a>, and <a class="el" href="structopj__mqc.html#ac6e2a167d3bdf52a3c7378cc62d3ff20">opj_mqc::start</a>.</p>
578
579 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
580
581 </div>
582 </div>
583 <a id="a683734858d69085fd07394d1d3fae633"></a>
584 <h2 class="memtitle"><span class="permalink"><a href="#a683734858d69085fd07394d1d3fae633">&#9670;&nbsp;</a></span>opj_mqc_raw_init_dec()</h2>
585
586 <div class="memitem">
587 <div class="memproto">
588       <table class="memname">
589         <tr>
590           <td class="memname">void opj_mqc_raw_init_dec </td>
591           <td>(</td>
592           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
593           <td class="paramname"><em>mqc</em>, </td>
594         </tr>
595         <tr>
596           <td class="paramkey"></td>
597           <td></td>
598           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *&#160;</td>
599           <td class="paramname"><em>bp</em>, </td>
600         </tr>
601         <tr>
602           <td class="paramkey"></td>
603           <td></td>
604           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
605           <td class="paramname"><em>len</em>, </td>
606         </tr>
607         <tr>
608           <td class="paramkey"></td>
609           <td></td>
610           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
611           <td class="paramname"><em>extra_writable_bytes</em>&#160;</td>
612         </tr>
613         <tr>
614           <td></td>
615           <td>)</td>
616           <td></td><td></td>
617         </tr>
618       </table>
619 </div><div class="memdoc">
620
621 <p>Initialize the decoder for RAW decoding. </p>
622 <p>opj_mqc_finish_dec() must be absolutely called after finishing the decoding passes, so as to restore the bytes temporarily overwritten.</p>
623 <dl class="params"><dt>Parameters</dt><dd>
624   <table class="params">
625     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
626     <tr><td class="paramname">bp</td><td>Pointer to the start of the buffer from which the bytes will be read Note that OPJ_COMMON_CBLK_DATA_EXTRA bytes at the end of the buffer will be temporarily overwritten with an artificial 0xFF 0xFF marker. (they will be backuped in the mqc structure to be restored later) So bp must be at least len + OPJ_COMMON_CBLK_DATA_EXTRA large, and writable. </td></tr>
627     <tr><td class="paramname">len</td><td>Length of the input buffer </td></tr>
628     <tr><td class="paramname">extra_writable_bytes</td><td>Indicate how many bytes after len are writable. This is to indicate your consent that bp must be large enough. </td></tr>
629   </table>
630   </dd>
631 </dl>
632
633 <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_8c.html#a4f0a5a2ce3c6ff564f7dc9bdaae4f961">opj_mqc_init_dec_common()</a>.</p>
634
635 <p class="reference">Referenced by <a class="el" href="t1_8c.html#ab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>.</p>
636
637 </div>
638 </div>
639 <a id="a858901a7f568a2845885e537aaeab825"></a>
640 <h2 class="memtitle"><span class="permalink"><a href="#a858901a7f568a2845885e537aaeab825">&#9670;&nbsp;</a></span>opj_mqc_reset_enc()</h2>
641
642 <div class="memitem">
643 <div class="memproto">
644       <table class="memname">
645         <tr>
646           <td class="memname">void opj_mqc_reset_enc </td>
647           <td>(</td>
648           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
649           <td class="paramname"><em>mqc</em></td><td>)</td>
650           <td></td>
651         </tr>
652       </table>
653 </div><div class="memdoc">
654
655 <p>RESET mode switch. </p>
656 <dl class="params"><dt>Parameters</dt><dd>
657   <table class="params">
658     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
659   </table>
660   </dd>
661 </dl>
662
663 <p class="reference">References <a class="el" href="mqc_8c.html#a9b1de23283892ba50029b75ab1b9a91a">opj_mqc_resetstates()</a>, <a class="el" href="mqc_8c.html#a7260daca59a1e01f087a7806db045853">opj_mqc_setstate()</a>, <a class="el" href="t1_8h.html#a335ce360eba4cbd31b9e082535d02180">T1_CTXNO_AGG</a>, <a class="el" href="t1_8h.html#a27ee56916ef86bcbb5c07e55fb719b20">T1_CTXNO_UNI</a>, and <a class="el" href="t1_8h.html#a325280d653d545416723a91f0ebbf428">T1_CTXNO_ZC</a>.</p>
664
665 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
666
667 </div>
668 </div>
669 <a id="a9b1de23283892ba50029b75ab1b9a91a"></a>
670 <h2 class="memtitle"><span class="permalink"><a href="#a9b1de23283892ba50029b75ab1b9a91a">&#9670;&nbsp;</a></span>opj_mqc_resetstates()</h2>
671
672 <div class="memitem">
673 <div class="memproto">
674       <table class="memname">
675         <tr>
676           <td class="memname">void opj_mqc_resetstates </td>
677           <td>(</td>
678           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
679           <td class="paramname"><em>mqc</em></td><td>)</td>
680           <td></td>
681         </tr>
682       </table>
683 </div><div class="memdoc">
684
685 <p>Reset the states of all the context of the coder/decoder (each context is set to a state where 0 and 1 are more or less equiprobable) </p>
686 <dl class="params"><dt>Parameters</dt><dd>
687   <table class="params">
688     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
689   </table>
690   </dd>
691 </dl>
692
693 <p class="reference">References <a class="el" href="structopj__mqc.html#a2ecaf46cd4f26b606e95a3180e1e664f">opj_mqc::ctxs</a>, <a class="el" href="mqc_8h.html#a2ea7971c7ed2c6e19bc3e9c3ba26b68f">MQC_NUMCTXS</a>, and <a class="el" href="mqc_8c.html#a2c3c376c7ad5a8c6edd5c82891efd296">mqc_states</a>.</p>
694
695 <p class="reference">Referenced by <a class="el" href="mqc_8h.html#a858901a7f568a2845885e537aaeab825">opj_mqc_reset_enc()</a>, <a class="el" href="t1_8c.html#ab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>, and <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
696
697 </div>
698 </div>
699 <a id="a178f2a2119c59ae30169835162bd73e7"></a>
700 <h2 class="memtitle"><span class="permalink"><a href="#a178f2a2119c59ae30169835162bd73e7">&#9670;&nbsp;</a></span>opj_mqc_restart_init_enc()</h2>
701
702 <div class="memitem">
703 <div class="memproto">
704       <table class="memname">
705         <tr>
706           <td class="memname">void opj_mqc_restart_init_enc </td>
707           <td>(</td>
708           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
709           <td class="paramname"><em>mqc</em></td><td>)</td>
710           <td></td>
711         </tr>
712       </table>
713 </div><div class="memdoc">
714
715 <p>RESTART mode switch (TERMALL) reinitialisation. </p>
716 <dl class="params"><dt>Parameters</dt><dd>
717   <table class="params">
718     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
719   </table>
720   </dd>
721 </dl>
722
723 <p class="reference">References <a class="el" href="structopj__mqc.html#a26cf29944f5a74b2a0af55defaed5e5d">opj_mqc::a</a>, <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>
724
725 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
726
727 </div>
728 </div>
729 <a id="af6195cf3fe837a5acbaa721c3e453465"></a>
730 <h2 class="memtitle"><span class="permalink"><a href="#af6195cf3fe837a5acbaa721c3e453465">&#9670;&nbsp;</a></span>opj_mqc_segmark_enc()</h2>
731
732 <div class="memitem">
733 <div class="memproto">
734       <table class="memname">
735         <tr>
736           <td class="memname">void opj_mqc_segmark_enc </td>
737           <td>(</td>
738           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
739           <td class="paramname"><em>mqc</em></td><td>)</td>
740           <td></td>
741         </tr>
742       </table>
743 </div><div class="memdoc">
744
745 <p>SEGMARK mode switch (SEGSYM) </p>
746 <dl class="params"><dt>Parameters</dt><dd>
747   <table class="params">
748     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
749   </table>
750   </dd>
751 </dl>
752
753 <p class="reference">References <a class="el" href="mqc_8c.html#a6367db2a4c3eee85678978f60090363b">opj_mqc_encode()</a>, and <a class="el" href="mqc_8h.html#a7315986b3a52b2e2287a49ab1780ae4f">opj_mqc_setcurctx</a>.</p>
754
755 <p class="reference">Referenced by <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
756
757 </div>
758 </div>
759 <a id="a7260daca59a1e01f087a7806db045853"></a>
760 <h2 class="memtitle"><span class="permalink"><a href="#a7260daca59a1e01f087a7806db045853">&#9670;&nbsp;</a></span>opj_mqc_setstate()</h2>
761
762 <div class="memitem">
763 <div class="memproto">
764       <table class="memname">
765         <tr>
766           <td class="memname">void opj_mqc_setstate </td>
767           <td>(</td>
768           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
769           <td class="paramname"><em>mqc</em>, </td>
770         </tr>
771         <tr>
772           <td class="paramkey"></td>
773           <td></td>
774           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
775           <td class="paramname"><em>ctxno</em>, </td>
776         </tr>
777         <tr>
778           <td class="paramkey"></td>
779           <td></td>
780           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
781           <td class="paramname"><em>msb</em>, </td>
782         </tr>
783         <tr>
784           <td class="paramkey"></td>
785           <td></td>
786           <td class="paramtype"><a class="el" href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a>&#160;</td>
787           <td class="paramname"><em>prob</em>&#160;</td>
788         </tr>
789         <tr>
790           <td></td>
791           <td>)</td>
792           <td></td><td></td>
793         </tr>
794       </table>
795 </div><div class="memdoc">
796
797 <p>Set the state of a particular context. </p>
798 <dl class="params"><dt>Parameters</dt><dd>
799   <table class="params">
800     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
801     <tr><td class="paramname">ctxno</td><td>Number that identifies the context </td></tr>
802     <tr><td class="paramname">msb</td><td>The MSB of the new state of the context </td></tr>
803     <tr><td class="paramname">prob</td><td>Number that identifies the probability of the symbols for the new state of the context </td></tr>
804   </table>
805   </dd>
806 </dl>
807
808 <p class="reference">References <a class="el" href="structopj__mqc.html#a2ecaf46cd4f26b606e95a3180e1e664f">opj_mqc::ctxs</a>, and <a class="el" href="mqc_8c.html#a2c3c376c7ad5a8c6edd5c82891efd296">mqc_states</a>.</p>
809
810 <p class="reference">Referenced by <a class="el" href="mqc_8h.html#a858901a7f568a2845885e537aaeab825">opj_mqc_reset_enc()</a>, <a class="el" href="t1_8c.html#ab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>, and <a class="el" href="t1_8c.html#a0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
811
812 </div>
813 </div>
814 <a id="a5bdec54dabf502c578e46d6b34ce8b93"></a>
815 <h2 class="memtitle"><span class="permalink"><a href="#a5bdec54dabf502c578e46d6b34ce8b93">&#9670;&nbsp;</a></span>opq_mqc_finish_dec()</h2>
816
817 <div class="memitem">
818 <div class="memproto">
819       <table class="memname">
820         <tr>
821           <td class="memname">void opq_mqc_finish_dec </td>
822           <td>(</td>
823           <td class="paramtype"><a class="el" href="mqc_8h.html#a88db3570f4dea454a8a2251b174d5050">opj_mqc_t</a> *&#160;</td>
824           <td class="paramname"><em>mqc</em></td><td>)</td>
825           <td></td>
826         </tr>
827       </table>
828 </div><div class="memdoc">
829
830 <p>Terminate RAW/MQC decoding. </p>
831 <p>This restores the bytes temporarily overwritten by <a class="el" href="mqc_8h.html#aa0e4b75040d645307e25dd53528e8512" title="Initialize the decoder for MQ decoding.">opj_mqc_init_dec()</a>/ <a class="el" href="mqc_8h.html#a683734858d69085fd07394d1d3fae633" title="Initialize the decoder for RAW decoding.">opj_mqc_raw_init_dec()</a></p>
832 <dl class="params"><dt>Parameters</dt><dd>
833   <table class="params">
834     <tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
835   </table>
836   </dd>
837 </dl>
838
839 <p class="reference">References <a class="el" href="structopj__mqc.html#a464f7ff357673a604755c3bfd0b26a85">opj_mqc::backup</a>, <a class="el" href="structopj__mqc.html#a82b0225c0f832b4ff04bf5dc171ea164">opj_mqc::end</a>, and <a class="el" href="opj__common_8h.html#a7f1b41029a9c8a29b973c4200df596dd">OPJ_COMMON_CBLK_DATA_EXTRA</a>.</p>
840
841 <p class="reference">Referenced by <a class="el" href="t1_8c.html#ab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>.</p>
842
843 </div>
844 </div>
845 </div><!-- contents -->
846 <!-- start footer part -->
847 <hr class="footer"/><address class="footer"><small>
848 Generated by &#160;<a href="http://www.doxygen.org/index.html">
849 <img class="footer" src="doxygen.png" alt="doxygen"/>
850 </a> 1.8.17
851 </small></address>
852 </body>
853 </html>