File: //usr/share/doc/openjpeg-devel-1.5.1/html/group___b_i_o.html
<!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"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>OpenJPEG: BIO - Individual bit input-output stream</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;">
<td style="padding-left: 0.5em;">
<div id="projectname">OpenJPEG
 <span id="projectnumber">1.5.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
<div class="title">BIO - Individual bit input-output stream</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  </td><td class="memItemRight" valign="bottom"><a class="el" href="structopj__bio.html">opj_bio</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Individual bit input-output stream (BIO) <a href="structopj__bio.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</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:gac65cc716fac75e743f2e9980c8a05807"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopj__bio.html">opj_bio</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a></td></tr>
<tr class="memdesc:gac65cc716fac75e743f2e9980c8a05807"><td class="mdescLeft"> </td><td class="mdescRight">Individual bit input-output stream (BIO) <a href="#gac65cc716fac75e743f2e9980c8a05807">More...</a><br/></td></tr>
<tr class="separator:gac65cc716fac75e743f2e9980c8a05807"><td class="memSeparator" colspan="2"> </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>
<tr class="memitem:gaccc7f4e1435c2086d8b339a13a078de0"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#gaccc7f4e1435c2086d8b339a13a078de0">bio_putbit</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio, int b)</td></tr>
<tr class="memdesc:gaccc7f4e1435c2086d8b339a13a078de0"><td class="mdescLeft"> </td><td class="mdescRight">Write a bit. <a href="#gaccc7f4e1435c2086d8b339a13a078de0">More...</a><br/></td></tr>
<tr class="separator:gaccc7f4e1435c2086d8b339a13a078de0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaa1689536d0286140eaaace330e62b3a2"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#gaa1689536d0286140eaaace330e62b3a2">bio_getbit</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio)</td></tr>
<tr class="memdesc:gaa1689536d0286140eaaace330e62b3a2"><td class="mdescLeft"> </td><td class="mdescRight">Read a bit. <a href="#gaa1689536d0286140eaaace330e62b3a2">More...</a><br/></td></tr>
<tr class="separator:gaa1689536d0286140eaaace330e62b3a2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga44aab2393109fa3cf0e4242b67eafbce"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#ga44aab2393109fa3cf0e4242b67eafbce">bio_byteout</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio)</td></tr>
<tr class="memdesc:ga44aab2393109fa3cf0e4242b67eafbce"><td class="mdescLeft"> </td><td class="mdescRight">Write a byte. <a href="#ga44aab2393109fa3cf0e4242b67eafbce">More...</a><br/></td></tr>
<tr class="separator:ga44aab2393109fa3cf0e4242b67eafbce"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gab9f935ce256ded008b806446f6115494"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#gab9f935ce256ded008b806446f6115494">bio_bytein</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio)</td></tr>
<tr class="memdesc:gab9f935ce256ded008b806446f6115494"><td class="mdescLeft"> </td><td class="mdescRight">Read a byte. <a href="#gab9f935ce256ded008b806446f6115494">More...</a><br/></td></tr>
<tr class="separator:gab9f935ce256ded008b806446f6115494"><td class="memSeparator" colspan="2"> </td></tr>
</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:gafa5537fe6cf2418fd2f31fcc812baa2b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#gafa5537fe6cf2418fd2f31fcc812baa2b">bio_create</a> (void)</td></tr>
<tr class="memdesc:gafa5537fe6cf2418fd2f31fcc812baa2b"><td class="mdescLeft"> </td><td class="mdescRight">Create a new BIO handle. <a href="#gafa5537fe6cf2418fd2f31fcc812baa2b">More...</a><br/></td></tr>
<tr class="separator:gafa5537fe6cf2418fd2f31fcc812baa2b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7af38eead67b1b281700391bed3505e0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#ga7af38eead67b1b281700391bed3505e0">bio_destroy</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio)</td></tr>
<tr class="memdesc:ga7af38eead67b1b281700391bed3505e0"><td class="mdescLeft"> </td><td class="mdescRight">Destroy a previously created BIO handle. <a href="#ga7af38eead67b1b281700391bed3505e0">More...</a><br/></td></tr>
<tr class="separator:ga7af38eead67b1b281700391bed3505e0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga4facf6693c470dc139a8ca138f961310"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#ga4facf6693c470dc139a8ca138f961310">bio_numbytes</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio)</td></tr>
<tr class="memdesc:ga4facf6693c470dc139a8ca138f961310"><td class="mdescLeft"> </td><td class="mdescRight">Number of bytes written. <a href="#ga4facf6693c470dc139a8ca138f961310">More...</a><br/></td></tr>
<tr class="separator:ga4facf6693c470dc139a8ca138f961310"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaae0ce26f1ac1e141eec1d5f54eae9b93"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#gaae0ce26f1ac1e141eec1d5f54eae9b93">bio_init_enc</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio, unsigned char *bp, int len)</td></tr>
<tr class="memdesc:gaae0ce26f1ac1e141eec1d5f54eae9b93"><td class="mdescLeft"> </td><td class="mdescRight">Init encoder. <a href="#gaae0ce26f1ac1e141eec1d5f54eae9b93">More...</a><br/></td></tr>
<tr class="separator:gaae0ce26f1ac1e141eec1d5f54eae9b93"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gab660df41991f938ddcc1b4687ab07697"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#gab660df41991f938ddcc1b4687ab07697">bio_init_dec</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio, unsigned char *bp, int len)</td></tr>
<tr class="memdesc:gab660df41991f938ddcc1b4687ab07697"><td class="mdescLeft"> </td><td class="mdescRight">Init decoder. <a href="#gab660df41991f938ddcc1b4687ab07697">More...</a><br/></td></tr>
<tr class="separator:gab660df41991f938ddcc1b4687ab07697"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga0ef1ef3fb0d962f0b181c4306efdc50d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#ga0ef1ef3fb0d962f0b181c4306efdc50d">bio_write</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio, int v, int n)</td></tr>
<tr class="memdesc:ga0ef1ef3fb0d962f0b181c4306efdc50d"><td class="mdescLeft"> </td><td class="mdescRight">Write bits. <a href="#ga0ef1ef3fb0d962f0b181c4306efdc50d">More...</a><br/></td></tr>
<tr class="separator:ga0ef1ef3fb0d962f0b181c4306efdc50d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaabcc1400d7f0d0fd724cf941fe86c231"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#gaabcc1400d7f0d0fd724cf941fe86c231">bio_read</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio, int n)</td></tr>
<tr class="memdesc:gaabcc1400d7f0d0fd724cf941fe86c231"><td class="mdescLeft"> </td><td class="mdescRight">Read bits. <a href="#gaabcc1400d7f0d0fd724cf941fe86c231">More...</a><br/></td></tr>
<tr class="separator:gaabcc1400d7f0d0fd724cf941fe86c231"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaebca615eb9025963d51c468f438dac5e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#gaebca615eb9025963d51c468f438dac5e">bio_flush</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio)</td></tr>
<tr class="memdesc:gaebca615eb9025963d51c468f438dac5e"><td class="mdescLeft"> </td><td class="mdescRight">Flush bits. <a href="#gaebca615eb9025963d51c468f438dac5e">More...</a><br/></td></tr>
<tr class="separator:gaebca615eb9025963d51c468f438dac5e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1e246d84c6cbc14881672a613c91dff7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_o.html#ga1e246d84c6cbc14881672a613c91dff7">bio_inalign</a> (<a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> *bio)</td></tr>
<tr class="memdesc:ga1e246d84c6cbc14881672a613c91dff7"><td class="mdescLeft"> </td><td class="mdescRight">Passes the ending bits (coming from flushing) <a href="#ga1e246d84c6cbc14881672a613c91dff7">More...</a><br/></td></tr>
<tr class="separator:ga1e246d84c6cbc14881672a613c91dff7"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gac65cc716fac75e743f2e9980c8a05807"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structopj__bio.html">opj_bio</a> <a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Individual bit input-output stream (BIO) </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gab9f935ce256ded008b806446f6115494"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int bio_bytein </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</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>Read a byte. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns 0 if successful, returns 1 otherwise </dd></dl>
<p>References <a class="el" href="structopj__bio.html#ae4bb6b38d6176a4881c23525fc4db3ae">opj_bio::bp</a>, <a class="el" href="structopj__bio.html#a3e4cb185e2ff512e3d4c341a0fa9b839">opj_bio::buf</a>, <a class="el" href="structopj__bio.html#a1b7b5746ec3daf85670fcc2d89a88d65">opj_bio::ct</a>, and <a class="el" href="structopj__bio.html#ad009bf26f6ed6f767dfe739b4dfb3606">opj_bio::end</a>.</p>
<p>Referenced by <a class="el" href="group___b_i_o.html#gaa1689536d0286140eaaace330e62b3a2">bio_getbit()</a>, and <a class="el" href="group___b_i_o.html#ga1e246d84c6cbc14881672a613c91dff7">bio_inalign()</a>.</p>
</div>
</div>
<a class="anchor" id="ga44aab2393109fa3cf0e4242b67eafbce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int bio_byteout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</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>Write a byte. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns 0 if successful, returns 1 otherwise </dd></dl>
<p>References <a class="el" href="structopj__bio.html#ae4bb6b38d6176a4881c23525fc4db3ae">opj_bio::bp</a>, <a class="el" href="structopj__bio.html#a3e4cb185e2ff512e3d4c341a0fa9b839">opj_bio::buf</a>, <a class="el" href="structopj__bio.html#a1b7b5746ec3daf85670fcc2d89a88d65">opj_bio::ct</a>, and <a class="el" href="structopj__bio.html#ad009bf26f6ed6f767dfe739b4dfb3606">opj_bio::end</a>.</p>
<p>Referenced by <a class="el" href="group___b_i_o.html#gaebca615eb9025963d51c468f438dac5e">bio_flush()</a>, and <a class="el" href="group___b_i_o.html#gaccc7f4e1435c2086d8b339a13a078de0">bio_putbit()</a>.</p>
</div>
</div>
<a class="anchor" id="gafa5537fe6cf2418fd2f31fcc812baa2b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a>* bio_create </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new BIO handle. </p>
<dl class="section return"><dt>Returns</dt><dd>Returns a new BIO handle if successful, returns NULL otherwise </dd></dl>
<p>References <a class="el" href="group___m_i_s_c.html#gaed655b4c0cec54620065ab1abf56e8cc">opj_malloc</a>.</p>
<p>Referenced by <a class="el" href="group___t2.html#ga13a2d6d031947401712a30d08ef0a781">t2_decode_packet()</a>, and <a class="el" href="group___t2.html#gaafe60a0a72d478b346ff62165376bc84">t2_encode_packet()</a>.</p>
</div>
</div>
<a class="anchor" id="ga7af38eead67b1b281700391bed3505e0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void bio_destroy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Destroy a previously created BIO handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle to destroy </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="group___m_i_s_c.html#ga700b1aef6148bd6c3edde626610ffe2f">opj_free</a>.</p>
<p>Referenced by <a class="el" href="group___t2.html#ga13a2d6d031947401712a30d08ef0a781">t2_decode_packet()</a>, and <a class="el" href="group___t2.html#gaafe60a0a72d478b346ff62165376bc84">t2_encode_packet()</a>.</p>
</div>
</div>
<a class="anchor" id="gaebca615eb9025963d51c468f438dac5e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int bio_flush </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Flush bits. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns 1 if successful, returns 0 otherwise </dd></dl>
<p>References <a class="el" href="group___b_i_o.html#ga44aab2393109fa3cf0e4242b67eafbce">bio_byteout()</a>, and <a class="el" href="structopj__bio.html#a1b7b5746ec3daf85670fcc2d89a88d65">opj_bio::ct</a>.</p>
<p>Referenced by <a class="el" href="group___t2.html#gaafe60a0a72d478b346ff62165376bc84">t2_encode_packet()</a>.</p>
</div>
</div>
<a class="anchor" id="gaa1689536d0286140eaaace330e62b3a2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int bio_getbit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</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>Read a bit. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the read bit </dd></dl>
<p>References <a class="el" href="group___b_i_o.html#gab9f935ce256ded008b806446f6115494">bio_bytein()</a>, <a class="el" href="structopj__bio.html#a3e4cb185e2ff512e3d4c341a0fa9b839">opj_bio::buf</a>, and <a class="el" href="structopj__bio.html#a1b7b5746ec3daf85670fcc2d89a88d65">opj_bio::ct</a>.</p>
<p>Referenced by <a class="el" href="group___b_i_o.html#gaabcc1400d7f0d0fd724cf941fe86c231">bio_read()</a>.</p>
</div>
</div>
<a class="anchor" id="ga1e246d84c6cbc14881672a613c91dff7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int bio_inalign </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Passes the ending bits (coming from flushing) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns 1 if successful, returns 0 otherwise </dd></dl>
<p>References <a class="el" href="group___b_i_o.html#gab9f935ce256ded008b806446f6115494">bio_bytein()</a>, <a class="el" href="structopj__bio.html#a3e4cb185e2ff512e3d4c341a0fa9b839">opj_bio::buf</a>, and <a class="el" href="structopj__bio.html#a1b7b5746ec3daf85670fcc2d89a88d65">opj_bio::ct</a>.</p>
<p>Referenced by <a class="el" href="group___t2.html#ga13a2d6d031947401712a30d08ef0a781">t2_decode_packet()</a>.</p>
</div>
</div>
<a class="anchor" id="gab660df41991f938ddcc1b4687ab07697"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void bio_init_dec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned char * </td>
<td class="paramname"><em>bp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>len</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Init decoder. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
<tr><td class="paramname">bp</td><td>Input buffer </td></tr>
<tr><td class="paramname">len</td><td>Input buffer length </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="structopj__bio.html#ae4bb6b38d6176a4881c23525fc4db3ae">opj_bio::bp</a>, <a class="el" href="structopj__bio.html#a3e4cb185e2ff512e3d4c341a0fa9b839">opj_bio::buf</a>, <a class="el" href="structopj__bio.html#a1b7b5746ec3daf85670fcc2d89a88d65">opj_bio::ct</a>, <a class="el" href="structopj__bio.html#ad009bf26f6ed6f767dfe739b4dfb3606">opj_bio::end</a>, and <a class="el" href="structopj__bio.html#a1e49bc274ee063f8cb3890943f6a71ec">opj_bio::start</a>.</p>
<p>Referenced by <a class="el" href="group___t2.html#ga13a2d6d031947401712a30d08ef0a781">t2_decode_packet()</a>.</p>
</div>
</div>
<a class="anchor" id="gaae0ce26f1ac1e141eec1d5f54eae9b93"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void bio_init_enc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned char * </td>
<td class="paramname"><em>bp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>len</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Init encoder. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
<tr><td class="paramname">bp</td><td>Output buffer </td></tr>
<tr><td class="paramname">len</td><td>Output buffer length </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="structopj__bio.html#ae4bb6b38d6176a4881c23525fc4db3ae">opj_bio::bp</a>, <a class="el" href="structopj__bio.html#a3e4cb185e2ff512e3d4c341a0fa9b839">opj_bio::buf</a>, <a class="el" href="structopj__bio.html#a1b7b5746ec3daf85670fcc2d89a88d65">opj_bio::ct</a>, <a class="el" href="structopj__bio.html#ad009bf26f6ed6f767dfe739b4dfb3606">opj_bio::end</a>, and <a class="el" href="structopj__bio.html#a1e49bc274ee063f8cb3890943f6a71ec">opj_bio::start</a>.</p>
<p>Referenced by <a class="el" href="group___t2.html#gaafe60a0a72d478b346ff62165376bc84">t2_encode_packet()</a>.</p>
</div>
</div>
<a class="anchor" id="ga4facf6693c470dc139a8ca138f961310"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int bio_numbytes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of bytes written. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the number of bytes written </dd></dl>
<p>References <a class="el" href="structopj__bio.html#ae4bb6b38d6176a4881c23525fc4db3ae">opj_bio::bp</a>, and <a class="el" href="structopj__bio.html#a1e49bc274ee063f8cb3890943f6a71ec">opj_bio::start</a>.</p>
<p>Referenced by <a class="el" href="group___t2.html#ga13a2d6d031947401712a30d08ef0a781">t2_decode_packet()</a>, and <a class="el" href="group___t2.html#gaafe60a0a72d478b346ff62165376bc84">t2_encode_packet()</a>.</p>
</div>
</div>
<a class="anchor" id="gaccc7f4e1435c2086d8b339a13a078de0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void bio_putbit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
<td></td>
<td>)</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>Write a bit. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
<tr><td class="paramname">b</td><td>Bit to write (0 or 1) </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="group___b_i_o.html#ga44aab2393109fa3cf0e4242b67eafbce">bio_byteout()</a>, <a class="el" href="structopj__bio.html#a3e4cb185e2ff512e3d4c341a0fa9b839">opj_bio::buf</a>, and <a class="el" href="structopj__bio.html#a1b7b5746ec3daf85670fcc2d89a88d65">opj_bio::ct</a>.</p>
<p>Referenced by <a class="el" href="group___b_i_o.html#ga0ef1ef3fb0d962f0b181c4306efdc50d">bio_write()</a>.</p>
</div>
</div>
<a class="anchor" id="gaabcc1400d7f0d0fd724cf941fe86c231"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int bio_read </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>n</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read bits. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
<tr><td class="paramname">n</td><td>Number of bits to read </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the corresponding read number </dd></dl>
<p>References <a class="el" href="group___b_i_o.html#gaa1689536d0286140eaaace330e62b3a2">bio_getbit()</a>.</p>
<p>Referenced by <a class="el" href="group___t2.html#ga13a2d6d031947401712a30d08ef0a781">t2_decode_packet()</a>, <a class="el" href="group___t2.html#ga6183ce4edd7e6d740a5a81bdbbd5c9a7">t2_getcommacode()</a>, <a class="el" href="group___t2.html#ga7f8952fb9d2b1f04069b93ba0d45d2f2">t2_getnumpasses()</a>, and <a class="el" href="group___t_g_t.html#ga0a954d49b8d2dd6fc1f4e7db41fd84ed">tgt_decode()</a>.</p>
</div>
</div>
<a class="anchor" id="ga0ef1ef3fb0d962f0b181c4306efdc50d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void bio_write </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___b_i_o.html#gac65cc716fac75e743f2e9980c8a05807">opj_bio_t</a> * </td>
<td class="paramname"><em>bio</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>n</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write bits. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bio</td><td>BIO handle </td></tr>
<tr><td class="paramname">v</td><td>Value of bits </td></tr>
<tr><td class="paramname">n</td><td>Number of bits to write </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="group___b_i_o.html#gaccc7f4e1435c2086d8b339a13a078de0">bio_putbit()</a>.</p>
<p>Referenced by <a class="el" href="group___t2.html#gaafe60a0a72d478b346ff62165376bc84">t2_encode_packet()</a>, <a class="el" href="group___t2.html#ga9ee5dc44dd552be5f8a9fd30fdd090f4">t2_putcommacode()</a>, <a class="el" href="group___t2.html#gab8a43791dec37a6a8f85c8d3dbb91a7f">t2_putnumpasses()</a>, and <a class="el" href="group___t_g_t.html#ga7c7dea46c6a3c93b3f2d8d2ca773b761">tgt_encode()</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>