openjpeg/doxygen/group___m_q_c.html

846 lines
52 KiB
HTML
Raw Normal View History

2015-07-10 18:06:19 +02:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
2020-12-28 22:12:25 +01:00
<meta name="generator" content="Doxygen 1.8.11"/>
2015-07-10 18:06:19 +02:00
<title>OpenJPEG: MQC - Implementation of an MQ-Coder</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
2016-09-29 22:38:29 +02:00
<td id="projectalign" style="padding-left: 0.5em;">
2015-07-10 18:06:19 +02:00
<div id="projectname">OpenJPEG
2020-12-28 22:12:25 +01:00
&#160;<span id="projectnumber">2.4.0</span>
2015-07-10 18:06:19 +02:00
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
2020-12-28 22:12:25 +01:00
<!-- Generated by Doxygen 1.8.11 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
2015-07-10 18:06:19 +02:00
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
<div class="title">MQC - Implementation of an MQ-Coder</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<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>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">MQ coder. <a href="structopj__mqc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga2ea7971c7ed2c6e19bc3e9c3ba26b68f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga2ea7971c7ed2c6e19bc3e9c3ba26b68f">MQC_NUMCTXS</a>&#160;&#160;&#160;19</td></tr>
<tr class="separator:ga2ea7971c7ed2c6e19bc3e9c3ba26b68f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2020-12-28 22:12:25 +01:00
<tr class="memitem:gaf45d4e27106b58c5cc51bf4eaa2b3f4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#gaf45d4e27106b58c5cc51bf4eaa2b3f4f">BYPASS_CT_INIT</a>&#160;&#160;&#160;0xDEADBEEF</td></tr>
<tr class="separator:gaf45d4e27106b58c5cc51bf4eaa2b3f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2015-07-10 18:06:19 +02:00
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga1f60c8d5f193846052cfa42f09290759"><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="group___m_q_c.html#ga1f60c8d5f193846052cfa42f09290759">opj_mqc_state_t</a></td></tr>
<tr class="memdesc:ga1f60c8d5f193846052cfa42f09290759"><td class="mdescLeft">&#160;</td><td class="mdescRight">This struct defines the state of a context. <a href="#ga1f60c8d5f193846052cfa42f09290759">More...</a><br /></td></tr>
<tr class="separator:ga1f60c8d5f193846052cfa42f09290759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49560555308b38694eddc876275ed4bc"><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="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a></td></tr>
<tr class="memdesc:ga49560555308b38694eddc876275ed4bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">MQ coder. <a href="#ga49560555308b38694eddc876275ed4bc">More...</a><br /></td></tr>
<tr class="separator:ga49560555308b38694eddc876275ed4bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Local static functions</h2></td></tr>
2016-09-29 22:38:29 +02:00
<tr class="memitem:ga22d3ee14b5fa548d998bfcef2b34f344"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga22d3ee14b5fa548d998bfcef2b34f344">opj_mqc_setbits</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
<tr class="memdesc:ga22d3ee14b5fa548d998bfcef2b34f344"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill mqc-&gt;c with 1's for flushing. <a href="#ga22d3ee14b5fa548d998bfcef2b34f344">More...</a><br /></td></tr>
<tr class="separator:ga22d3ee14b5fa548d998bfcef2b34f344"><td class="memSeparator" colspan="2">&#160;</td></tr>
2015-07-10 18:06:19 +02:00
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Exported functions</h2></td></tr>
<tr class="memitem:gac9c6d11f48074e5064584d1e5d0dcd0f"><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="group___m_q_c.html#gac9c6d11f48074e5064584d1e5d0dcd0f">opj_mqc_numbytes</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
<tr class="memdesc:gac9c6d11f48074e5064584d1e5d0dcd0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of bytes written/read since initialisation. <a href="#gac9c6d11f48074e5064584d1e5d0dcd0f">More...</a><br /></td></tr>
<tr class="separator:gac9c6d11f48074e5064584d1e5d0dcd0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b1de23283892ba50029b75ab1b9a91a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga9b1de23283892ba50029b75ab1b9a91a">opj_mqc_resetstates</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
<tr class="memdesc:ga9b1de23283892ba50029b75ab1b9a91a"><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="#ga9b1de23283892ba50029b75ab1b9a91a">More...</a><br /></td></tr>
<tr class="separator:ga9b1de23283892ba50029b75ab1b9a91a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7260daca59a1e01f087a7806db045853"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga7260daca59a1e01f087a7806db045853">opj_mqc_setstate</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">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>
<tr class="memdesc:ga7260daca59a1e01f087a7806db045853"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the state of a particular context. <a href="#ga7260daca59a1e01f087a7806db045853">More...</a><br /></td></tr>
<tr class="separator:ga7260daca59a1e01f087a7806db045853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1a06acd83ef63950db20f73251efab3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#gac1a06acd83ef63950db20f73251efab3">opj_mqc_init_enc</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *bp)</td></tr>
<tr class="memdesc:gac1a06acd83ef63950db20f73251efab3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the encoder. <a href="#gac1a06acd83ef63950db20f73251efab3">More...</a><br /></td></tr>
<tr class="separator:gac1a06acd83ef63950db20f73251efab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39b562515ebaa0a9707c51b6770ad7fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga39b562515ebaa0a9707c51b6770ad7fe">opj_mqc_flush</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
<tr class="memdesc:ga39b562515ebaa0a9707c51b6770ad7fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush the encoder, so that all remaining data is written. <a href="#ga39b562515ebaa0a9707c51b6770ad7fe">More...</a><br /></td></tr>
<tr class="separator:ga39b562515ebaa0a9707c51b6770ad7fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba5f2d1b605d35e514aeb7a2827996b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#gaba5f2d1b605d35e514aeb7a2827996b9">opj_mqc_bypass_init_enc</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
<tr class="memdesc:gaba5f2d1b605d35e514aeb7a2827996b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">BYPASS mode switch, initialization operation. <a href="#gaba5f2d1b605d35e514aeb7a2827996b9">More...</a><br /></td></tr>
<tr class="separator:gaba5f2d1b605d35e514aeb7a2827996b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
2017-08-10 06:39:58 +02:00
<tr class="memitem:ga4a259d02eadde28d92edac74dbc40323"><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="group___m_q_c.html#ga4a259d02eadde28d92edac74dbc40323">opj_mqc_bypass_get_extra_bytes</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> erterm)</td></tr>
<tr class="memdesc:ga4a259d02eadde28d92edac74dbc40323"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return number of extra bytes to add to <a class="el" href="group___m_q_c.html#gac9c6d11f48074e5064584d1e5d0dcd0f" 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="#ga4a259d02eadde28d92edac74dbc40323">More...</a><br /></td></tr>
<tr class="separator:ga4a259d02eadde28d92edac74dbc40323"><td class="memSeparator" colspan="2">&#160;</td></tr>
2015-07-10 18:06:19 +02:00
<tr class="memitem:gad886df66150746e1a41d3e20037683fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#gad886df66150746e1a41d3e20037683fb">opj_mqc_bypass_enc</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> d)</td></tr>
<tr class="memdesc:gad886df66150746e1a41d3e20037683fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">BYPASS mode switch, coding operation. <a href="#gad886df66150746e1a41d3e20037683fb">More...</a><br /></td></tr>
<tr class="separator:gad886df66150746e1a41d3e20037683fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
2017-08-10 06:39:58 +02:00
<tr class="memitem:ga9eb31de8e3ede6acad7469f9ea0b0d1b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga9eb31de8e3ede6acad7469f9ea0b0d1b">opj_mqc_bypass_flush_enc</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc, <a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> erterm)</td></tr>
<tr class="memdesc:ga9eb31de8e3ede6acad7469f9ea0b0d1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">BYPASS mode switch, flush operation. <a href="#ga9eb31de8e3ede6acad7469f9ea0b0d1b">More...</a><br /></td></tr>
<tr class="separator:ga9eb31de8e3ede6acad7469f9ea0b0d1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
2015-07-10 18:06:19 +02:00
<tr class="memitem:ga858901a7f568a2845885e537aaeab825"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga858901a7f568a2845885e537aaeab825">opj_mqc_reset_enc</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
<tr class="memdesc:ga858901a7f568a2845885e537aaeab825"><td class="mdescLeft">&#160;</td><td class="mdescRight">RESET mode switch. <a href="#ga858901a7f568a2845885e537aaeab825">More...</a><br /></td></tr>
<tr class="separator:ga858901a7f568a2845885e537aaeab825"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga178f2a2119c59ae30169835162bd73e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga178f2a2119c59ae30169835162bd73e7">opj_mqc_restart_init_enc</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
<tr class="memdesc:ga178f2a2119c59ae30169835162bd73e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">RESTART mode switch (TERMALL) reinitialisation. <a href="#ga178f2a2119c59ae30169835162bd73e7">More...</a><br /></td></tr>
<tr class="separator:ga178f2a2119c59ae30169835162bd73e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae8351e8a317e68679bf5ce649e91f48d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#gae8351e8a317e68679bf5ce649e91f48d">opj_mqc_erterm_enc</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
<tr class="memdesc:gae8351e8a317e68679bf5ce649e91f48d"><td class="mdescLeft">&#160;</td><td class="mdescRight">ERTERM mode switch (PTERM) <a href="#gae8351e8a317e68679bf5ce649e91f48d">More...</a><br /></td></tr>
<tr class="separator:gae8351e8a317e68679bf5ce649e91f48d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6195cf3fe837a5acbaa721c3e453465"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#gaf6195cf3fe837a5acbaa721c3e453465">opj_mqc_segmark_enc</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
<tr class="memdesc:gaf6195cf3fe837a5acbaa721c3e453465"><td class="mdescLeft">&#160;</td><td class="mdescRight">SEGMARK mode switch (SEGSYM) <a href="#gaf6195cf3fe837a5acbaa721c3e453465">More...</a><br /></td></tr>
<tr class="separator:gaf6195cf3fe837a5acbaa721c3e453465"><td class="memSeparator" colspan="2">&#160;</td></tr>
2017-08-10 06:39:58 +02:00
<tr class="memitem:gaa0e4b75040d645307e25dd53528e8512"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#gaa0e4b75040d645307e25dd53528e8512">opj_mqc_init_dec</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">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>
<tr class="memdesc:gaa0e4b75040d645307e25dd53528e8512"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the decoder for MQ decoding. <a href="#gaa0e4b75040d645307e25dd53528e8512">More...</a><br /></td></tr>
<tr class="separator:gaa0e4b75040d645307e25dd53528e8512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga683734858d69085fd07394d1d3fae633"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga683734858d69085fd07394d1d3fae633">opj_mqc_raw_init_dec</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">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>
<tr class="memdesc:ga683734858d69085fd07394d1d3fae633"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the decoder for RAW decoding. <a href="#ga683734858d69085fd07394d1d3fae633">More...</a><br /></td></tr>
<tr class="separator:ga683734858d69085fd07394d1d3fae633"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5bdec54dabf502c578e46d6b34ce8b93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga5bdec54dabf502c578e46d6b34ce8b93">opq_mqc_finish_dec</a> (<a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *mqc)</td></tr>
<tr class="memdesc:ga5bdec54dabf502c578e46d6b34ce8b93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate RAW/MQC decoding. <a href="#ga5bdec54dabf502c578e46d6b34ce8b93">More...</a><br /></td></tr>
<tr class="separator:ga5bdec54dabf502c578e46d6b34ce8b93"><td class="memSeparator" colspan="2">&#160;</td></tr>
2019-04-02 16:25:55 +02:00
<tr class="memitem:ga7315986b3a52b2e2287a49ab1780ae4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_q_c.html#ga7315986b3a52b2e2287a49ab1780ae4f">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>
<tr class="memdesc:ga7315986b3a52b2e2287a49ab1780ae4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the current context used for coding/decoding. <a href="#ga7315986b3a52b2e2287a49ab1780ae4f">More...</a><br /></td></tr>
<tr class="separator:ga7315986b3a52b2e2287a49ab1780ae4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
2015-07-10 18:06:19 +02:00
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="gaf45d4e27106b58c5cc51bf4eaa2b3f4f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BYPASS_CT_INIT&#160;&#160;&#160;0xDEADBEEF</td>
</tr>
</table>
</div><div class="memdoc">
2019-04-02 16:25:55 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___m_q_c.html#gad886df66150746e1a41d3e20037683fb">opj_mqc_bypass_enc()</a>, and <a class="el" href="group___m_q_c.html#gaba5f2d1b605d35e514aeb7a2827996b9">opj_mqc_bypass_init_enc()</a>.</p>
</div>
</div>
<a class="anchor" id="ga2ea7971c7ed2c6e19bc3e9c3ba26b68f"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MQC_NUMCTXS&#160;&#160;&#160;19</td>
</tr>
</table>
</div><div class="memdoc">
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___m_q_c.html#ga9b1de23283892ba50029b75ab1b9a91a">opj_mqc_resetstates()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga7315986b3a52b2e2287a49ab1780ae4f"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define opj_mqc_setcurctx</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">mqc, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">ctxno&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<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>
</tr>
</table>
</div><div class="memdoc">
<p>Set the current context used for coding/decoding. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
<tr><td class="paramname">ctxno</td><td>Number that identifies the context </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___m_q_c.html#gaa0e4b75040d645307e25dd53528e8512">opj_mqc_init_dec()</a>, <a class="el" href="group___m_q_c.html#gac1a06acd83ef63950db20f73251efab3">opj_mqc_init_enc()</a>, <a class="el" href="group___m_q_c.html#gaf6195cf3fe837a5acbaa721c3e453465">opj_mqc_segmark_enc()</a>, and <a class="el" href="t1_8c.html#a5b012076ab1c77674f5d0727bb78bf1d">opj_t1_dec_clnpass_check_segsym()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga1f60c8d5f193846052cfa42f09290759"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structopj__mqc__state.html">opj_mqc_state</a> <a class="el" href="group___m_q_c.html#ga1f60c8d5f193846052cfa42f09290759">opj_mqc_state_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This struct defines the state of a context. </p>
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga49560555308b38694eddc876275ed4bc"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structopj__mqc.html">opj_mqc</a> <a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>MQ coder. </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="gad886df66150746e1a41d3e20037683fb"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void opj_mqc_bypass_enc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>BYPASS mode switch, coding operation. </p>
2017-08-10 06:39:58 +02:00
<p>JPEG 2000 p 505. </p><dl class="params"><dt>Parameters</dt><dd>
2015-07-10 18:06:19 +02:00
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
<tr><td class="paramname">d</td><td>The symbol to be encoded (0 or 1) </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>References <a class="el" href="structopj__mqc.html#a3db4ba6d16362a3bb01801c76f3dad63">opj_mqc::bp</a>, <a class="el" href="group___m_q_c.html#gaf45d4e27106b58c5cc51bf4eaa2b3f4f">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>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga9eb31de8e3ede6acad7469f9ea0b0d1b"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2017-08-10 06:39:58 +02:00
<td class="memname">void opj_mqc_bypass_flush_enc </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
2017-08-10 06:39:58 +02:00
<td class="paramname"><em>mqc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td>
<td class="paramname"><em>erterm</em>&#160;</td>
</tr>
<tr>
2015-07-10 18:06:19 +02:00
<td></td>
2017-08-10 06:39:58 +02:00
<td>)</td>
<td></td><td></td>
2015-07-10 18:06:19 +02:00
</tr>
</table>
</div><div class="memdoc">
<p>BYPASS mode switch, flush operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
2017-08-10 06:39:58 +02:00
<tr><td class="paramname">erterm</td><td>1 if ERTERM is enabled, 0 otherwise </td></tr>
2015-07-10 18:06:19 +02:00
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<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>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2017-08-10 06:39:58 +02:00
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga4a259d02eadde28d92edac74dbc40323"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2017-08-10 06:39:58 +02:00
<td class="memname"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> opj_mqc_bypass_get_extra_bytes </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
2017-08-10 06:39:58 +02:00
<td class="paramname"><em>mqc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
2015-07-10 18:06:19 +02:00
<td></td>
2017-08-10 06:39:58 +02:00
<td class="paramtype"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td>
<td class="paramname"><em>erterm</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
2015-07-10 18:06:19 +02:00
</tr>
</table>
</div><div class="memdoc">
2017-08-10 06:39:58 +02:00
<p>Return number of extra bytes to add to <a class="el" href="group___m_q_c.html#gac9c6d11f48074e5064584d1e5d0dcd0f" title="Return the number of bytes written/read since initialisation. ">opj_mqc_numbytes()</a> for the² size of a non-terminating BYPASS pass. </p>
2015-07-10 18:06:19 +02:00
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
2017-08-10 06:39:58 +02:00
<tr><td class="paramname">erterm</td><td>1 if ERTERM is enabled, 0 otherwise </td></tr>
2015-07-10 18:06:19 +02:00
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>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>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="gaba5f2d1b605d35e514aeb7a2827996b9"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2017-08-10 06:39:58 +02:00
<td class="memname">void opj_mqc_bypass_init_enc </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
2017-08-10 06:39:58 +02:00
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
2015-07-10 18:06:19 +02:00
<td class="paramname"><em>mqc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
2017-08-10 06:39:58 +02:00
<p>BYPASS mode switch, initialization operation. </p>
<p>JPEG 2000 p 505. </p><dl class="params"><dt>Parameters</dt><dd>
2015-07-10 18:06:19 +02:00
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>References <a class="el" href="structopj__mqc.html#a3db4ba6d16362a3bb01801c76f3dad63">opj_mqc::bp</a>, <a class="el" href="group___m_q_c.html#gaf45d4e27106b58c5cc51bf4eaa2b3f4f">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>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="gae8351e8a317e68679bf5ce649e91f48d"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void opj_mqc_erterm_enc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>ERTERM mode switch (PTERM) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<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="mqc_8c.html#a0c8f333dd527ed82faec6dfec5b1711b">opj_mqc_byteout()</a>.</p>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga39b562515ebaa0a9707c51b6770ad7fe"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void opj_mqc_flush </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Flush the encoder, so that all remaining data is written. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<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>, <a class="el" href="mqc_8c.html#a0c8f333dd527ed82faec6dfec5b1711b">opj_mqc_byteout()</a>, and <a class="el" href="group___m_q_c.html#ga22d3ee14b5fa548d998bfcef2b34f344">opj_mqc_setbits()</a>.</p>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="gaa0e4b75040d645307e25dd53528e8512"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2017-08-10 06:39:58 +02:00
<td class="memname">void opj_mqc_init_dec </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *&#160;</td>
<td class="paramname"><em>bp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
2017-08-10 06:39:58 +02:00
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
<td class="paramname"><em>extra_writable_bytes</em>&#160;</td>
2015-07-10 18:06:19 +02:00
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
2017-08-10 06:39:58 +02:00
<p>Initialize the decoder for MQ decoding. </p>
<p>opj_mqc_finish_dec() must be absolutely called after finishing the decoding passes, so as to restore the bytes temporarily overwritten.</p>
2015-07-10 18:06:19 +02:00
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
2017-08-10 06:39:58 +02:00
<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>
2015-07-10 18:06:19 +02:00
<tr><td class="paramname">len</td><td>Length of the input buffer </td></tr>
2017-08-10 06:39:58 +02:00
<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>
2015-07-10 18:06:19 +02:00
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>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="group___m_q_c.html#ga7315986b3a52b2e2287a49ab1780ae4f">opj_mqc_setcurctx</a>.</p>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#gab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="gac1a06acd83ef63950db20f73251efab3"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void opj_mqc_init_enc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *&#160;</td>
<td class="paramname"><em>bp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the encoder. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
<tr><td class="paramname">bp</td><td>Pointer to the start of the buffer where the bytes will be written </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>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="group___m_q_c.html#ga7315986b3a52b2e2287a49ab1780ae4f">opj_mqc_setcurctx</a>, and <a class="el" href="structopj__mqc.html#ac6e2a167d3bdf52a3c7378cc62d3ff20">opj_mqc::start</a>.</p>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="gac9c6d11f48074e5064584d1e5d0dcd0f"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> opj_mqc_numbytes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the number of bytes written/read since initialisation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the number of bytes already encoded </dd></dl>
2020-12-28 22:12:25 +01:00
<p>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>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga683734858d69085fd07394d1d3fae633"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2017-08-10 06:39:58 +02:00
<td class="memname">void opj_mqc_raw_init_dec </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
2017-08-10 06:39:58 +02:00
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
2015-07-10 18:06:19 +02:00
<td></td>
2017-08-10 06:39:58 +02:00
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *&#160;</td>
<td class="paramname"><em>bp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
<td class="paramname"><em>extra_writable_bytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
2015-07-10 18:06:19 +02:00
</tr>
</table>
</div><div class="memdoc">
2017-08-10 06:39:58 +02:00
<p>Initialize the decoder for RAW decoding. </p>
<p>opj_mqc_finish_dec() must be absolutely called after finishing the decoding passes, so as to restore the bytes temporarily overwritten.</p>
2015-07-10 18:06:19 +02:00
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
2017-08-10 06:39:58 +02:00
<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>
<tr><td class="paramname">len</td><td>Length of the input buffer </td></tr>
<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>
2015-07-10 18:06:19 +02:00
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<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_8c.html#a4f0a5a2ce3c6ff564f7dc9bdaae4f961">opj_mqc_init_dec_common()</a>.</p>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#gab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga858901a7f568a2845885e537aaeab825"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void opj_mqc_reset_enc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>RESET mode switch. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<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>, <a class="el" href="mqc_8c.html#a0c8f333dd527ed82faec6dfec5b1711b">opj_mqc_byteout()</a>, <a class="el" href="group___m_q_c.html#ga9b1de23283892ba50029b75ab1b9a91a">opj_mqc_resetstates()</a>, <a class="el" href="group___m_q_c.html#ga7260daca59a1e01f087a7806db045853">opj_mqc_setstate()</a>, <a class="el" href="group___t1.html#ga335ce360eba4cbd31b9e082535d02180">T1_CTXNO_AGG</a>, <a class="el" href="group___t1.html#ga27ee56916ef86bcbb5c07e55fb719b20">T1_CTXNO_UNI</a>, and <a class="el" href="group___t1.html#ga325280d653d545416723a91f0ebbf428">T1_CTXNO_ZC</a>.</p>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga9b1de23283892ba50029b75ab1b9a91a"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void opj_mqc_resetstates </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<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>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>References <a class="el" href="structopj__mqc.html#a2ecaf46cd4f26b606e95a3180e1e664f">opj_mqc::ctxs</a>, <a class="el" href="group___m_q_c.html#ga2ea7971c7ed2c6e19bc3e9c3ba26b68f">MQC_NUMCTXS</a>, and <a class="el" href="mqc_8c.html#a2c3c376c7ad5a8c6edd5c82891efd296">mqc_states</a>.</p>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___m_q_c.html#ga858901a7f568a2845885e537aaeab825">opj_mqc_reset_enc()</a>, <a class="el" href="group___t1.html#gab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>, and <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga178f2a2119c59ae30169835162bd73e7"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void opj_mqc_restart_init_enc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>RESTART mode switch (TERMALL) reinitialisation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>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>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="gaf6195cf3fe837a5acbaa721c3e453465"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void opj_mqc_segmark_enc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>SEGMARK mode switch (SEGSYM) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>References <a class="el" href="mqc_8c.html#a6367db2a4c3eee85678978f60090363b">opj_mqc_encode()</a>, and <a class="el" href="group___m_q_c.html#ga7315986b3a52b2e2287a49ab1780ae4f">opj_mqc_setcurctx</a>.</p>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga22d3ee14b5fa548d998bfcef2b34f344"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
2016-09-29 22:38:29 +02:00
<td class="memname">static void opj_mqc_setbits </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fill mqc-&gt;c with 1's for flushing. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>References <a class="el" href="structopj__mqc.html#a26cf29944f5a74b2a0af55defaed5e5d">opj_mqc::a</a>, and <a class="el" href="structopj__mqc.html#a4cde92619ccfc00fcaf4e8f168eccb96">opj_mqc::c</a>.</p>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___m_q_c.html#ga39b562515ebaa0a9707c51b6770ad7fe">opj_mqc_flush()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga7260daca59a1e01f087a7806db045853"></a>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void opj_mqc_setstate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
<td class="paramname"><em>ctxno</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a>&#160;</td>
<td class="paramname"><em>msb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a>&#160;</td>
<td class="paramname"><em>prob</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the state of a particular context. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
<tr><td class="paramname">ctxno</td><td>Number that identifies the context </td></tr>
<tr><td class="paramname">msb</td><td>The MSB of the new state of the context </td></tr>
<tr><td class="paramname">prob</td><td>Number that identifies the probability of the symbols for the new state of the context </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>References <a class="el" href="structopj__mqc.html#a2ecaf46cd4f26b606e95a3180e1e664f">opj_mqc::ctxs</a>.</p>
2015-07-10 18:06:19 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___m_q_c.html#ga858901a7f568a2845885e537aaeab825">opj_mqc_reset_enc()</a>, <a class="el" href="group___t1.html#gab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>, and <a class="el" href="group___t1.html#ga0066492bf8c292bf235c1c754a3272bf">opj_t1_encode_cblk()</a>.</p>
2017-08-10 06:39:58 +02:00
</div>
</div>
2020-12-28 22:12:25 +01:00
<a class="anchor" id="ga5bdec54dabf502c578e46d6b34ce8b93"></a>
2017-08-10 06:39:58 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void opq_mqc_finish_dec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___m_q_c.html#ga49560555308b38694eddc876275ed4bc">opj_mqc_t</a> *&#160;</td>
<td class="paramname"><em>mqc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Terminate RAW/MQC decoding. </p>
<p>This restores the bytes temporarily overwritten by <a class="el" href="group___m_q_c.html#gaa0e4b75040d645307e25dd53528e8512" title="Initialize the decoder for MQ decoding. ">opj_mqc_init_dec()</a>/ <a class="el" href="group___m_q_c.html#ga683734858d69085fd07394d1d3fae633" title="Initialize the decoder for RAW decoding. ">opj_mqc_raw_init_dec()</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mqc</td><td>MQC handle </td></tr>
</table>
</dd>
</dl>
2020-12-28 22:12:25 +01:00
<p>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>
2017-08-10 06:39:58 +02:00
2020-12-28 22:12:25 +01:00
<p>Referenced by <a class="el" href="group___t1.html#gab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
2020-12-28 22:12:25 +01:00
</a> 1.8.11
2015-07-10 18:06:19 +02:00
</small></address>
</body>
</html>