Commit 08dbd66e authored by Segher Boessenkool's avatar Segher Boessenkool
Browse files

lots of extremely minor fixes

svn path=/trunk/ogg/; revision=2867
parent c39554e2
......@@ -27,63 +27,63 @@ All the <b>libogg</b> specific functions are declared in "ogg/ogg.h".
<tr valign=top>
<td><a href="oggpack_writeinit.html">oggpack_writeinit</a></td>
<td>Initializes a buffer for writing using this bitpacking library.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_reset.html">oggpack_reset</a></td>
<td>Clears and resets the buffer to the initial position.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_writeclear.html">oggpack_writeclear</a></td>
<td>Frees the memory used by the buffer.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_readinit.html">oggpack_readinit</a></td>
<td>Initializes a buffer for reading using this bitpacking library.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_write.html">oggpack_write</a></td>
<td>Writes bytes to the specified location within the buffer.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_look.html">oggpack_look</a></td>
<td>Look at a specified number of bits, <=32, without advancing the location pointer.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_look_huff.html">oggpack_look_huff</a></td>
<td>Look at a specified number of bits, <=8, without advancing the location pointer.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_look1.html">oggpack_look1</a></td>
<td>Looks at one bit without advancing the location pointer.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_adv.html">oggpack_adv</a></td>
<td>Advances the location pointer by a specified number of bits.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_adv_huff.html">oggpack_adv_huff</a></td>
<td>Advances the location pointer by a specified number of bits, and checks for buffer overflow.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_adv1.html">oggpack_adv1</a></td>
<td>Advances the location pointer by one bit.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_read.html">oggpack_read</a></td>
<td>Reads a specified number of bits from the buffer.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_read1.html">oggpack_read1</a></td>
<td>Reads one bit from the buffer.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_bytes.html">oggpack_bytes</a></td>
<td>Returns the total number of bytes contained within the buffer.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_bits.html">oggpack_bits</a></td>
<td>Returns the total number of bits contained within the buffer.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="oggpack_get_buffer.html">oggpack_get_buffer</a></td>
<td>Returns a pointer to the buffer encapsulated within the <a href="oggpack_buffer.html">oggpack_buffer</a> struct.</td>
......
......@@ -14,12 +14,12 @@
</table>
<h1>Decoding</h1>
<p>Libogg contains a set of functions used in the decoding process.
<p>Libogg contains a set of functions used in the decoding process.
<p>
All the <b>libogg</b> specific functions are declared in "ogg/ogg.h".
<p>
<p>Decoding is based around the ogg synchronization layer. The <a href="ogg_sync_state.html">ogg_sync_state</a> struct coordinates between incoming data and the decoder. We read data into the synchronization layer, submit the data to the stream, and output raw packets to the decoder.
<p>Decoding through the Ogg layer follows a specific logical sequence. A read loop follows these logical steps:
<p>Decoding through the Ogg layer follows a specific logical sequence. A read loop follows these logical steps:
<ul>
<li>Expose a buffer using <a href="ogg_sync_buffer.html">ogg_sync_buffer()</a>.
<li>Read data into the buffer, using fread() or a similar function.
......
......@@ -14,20 +14,20 @@
</table>
<h1>Encoding</h1>
<p>Libogg contains a set of functions used in the encoding process.
<p>Libogg contains a set of functions used in the encoding process.
<p>
All the <b>libogg</b> specific functions are declared in "ogg/ogg.h".
<p>
<p>
<p>When encoding, the encoding engine will output raw packets which must be placed into an Ogg bitstream.
<p>Raw packets are inserted into the stream, and an <a href="ogg_page.html">ogg_page</a> is output when enough packets have been written to create a full page. The pages output are pointers to buffered packet segments, and can then be written out and saved as an ogg stream.
<p>There are a couple of basic steps:
<ul>
<li>Use the encoding engine to produce a raw packet of data.
<li>Call <a href="ogg_stream_packetin.html">ogg_stream_packetin</a> to submit a raw packet to the stream.
<p>Raw packets are inserted into the stream, and an <a href="ogg_page.html">ogg_page</a> is output when enough packets have been written to create a full page. The pages output are pointers to buffered packet segments, and can then be written out and saved as an ogg stream.
<p>There are a couple of basic steps:
<ul>
<li>Use the encoding engine to produce a raw packet of data.
<li>Call <a href="ogg_stream_packetin.html">ogg_stream_packetin</a> to submit a raw packet to the stream.
<li>Use <a href="ogg_stream_pageout.html">ogg_stream_pageout</a> to output a page, if enough data has been submitted. Otherwise, continue submitting data.
</ul>
<br><br>
</ul>
<br><br>
<table border=1 color=black width=50% cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
<td><b>function</b></td>
......@@ -36,15 +36,15 @@ All the <b>libogg</b> specific functions are declared in "ogg/ogg.h".
<tr valign=top>
<td><a href="ogg_stream_packetin.html">ogg_stream_packetin</a></td>
<td>Submits a raw packet to the streaming layer, so that it can be formed into a page.</td>
</tr>
<tr valign=top>
</tr>
<tr valign=top>
<td><a href="ogg_stream_pageout.html">ogg_stream_pageout</a></td>
<td>Outputs a completed page if the stream contains enough packets to form a full page.<td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_stream_flush.html">ogg_stream_flush</a></td>
<td>Forces any remaining packets in the stream to be returned as a page of any size.<td>
</tr>
</tr>
</table>
<br><br>
......
......@@ -14,11 +14,11 @@
</table>
<h1>General Functions</h1>
<p>Libogg contains several functions which are generally useful when using Ogg streaming, whether encoding or decoding.
<p>Libogg contains several functions which are generally useful when using Ogg streaming, whether encoding or decoding.
<p>
All the <b>libogg</b> specific functions are declared in "ogg/ogg.h".
<p>
<p>These functions can be used to manipulate some of the basic elements of Ogg - streams and pages. Streams and pages are important during both the encode and decode process.
<p>
<p>These functions can be used to manipulate some of the basic elements of Ogg - streams and pages. Streams and pages are important during both the encode and decode process.
<br>
<table border=1 color=black width=50% cellspacing=0 cellpadding=7>
......@@ -29,27 +29,27 @@ All the <b>libogg</b> specific functions are declared in "ogg/ogg.h".
<tr valign=top>
<td><a href="ogg_stream_init.html">ogg_stream_init</a></td>
<td>Initializes an Ogg bitstream.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_stream_clear.html">ogg_stream_clear</a></td>
<td>Clears the storage within the Ogg stream, but does not free the stream itself.<td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_stream_reset.html">ogg_stream_reset</a></td>
<td>Resets the stream status to its initial position.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_stream_destroy.html">ogg_stream_destroy</a></td>
<td>Frees the entire Ogg stream.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_stream_eos.html">ogg_stream_eos</a></td>
<td>Indicates whether we are at the end of the stream.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_page_version.html">ogg_page_version</a></td>
<td>Returns the version of ogg_page that this stream/page uses</td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_page_continued.html">ogg_page_continued</a></td>
<td>Indicates if the current page contains a continued packet from the last page.</td>
......@@ -61,23 +61,23 @@ All the <b>libogg</b> specific functions are declared in "ogg/ogg.h".
<tr valign=top>
<td><a href="ogg_page_bos.html">ogg_page_bos</a></td>
<td>Indicates if the current page is the beginning of the stream.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_page_eos.html">ogg_page_eos</a></td>
<td>Indicates if the current page is the end of the stream.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_page_granulepos.html">ogg_page_granulepos</a></td>
<td>Returns the precise playback location of this page.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_page_serialno.html">ogg_page_serialno</a></td>
<td>Returns the unique serial number of the logical bitstream associated with this page.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_page_pageno.html">ogg_page_pageno</a></td>
<td>Returns the sequential page number for this page.</td>
</tr>
</tr>
<tr valign=top>
<td><a href="ogg_packet_clear.html">ogg_packet_clear</a><td>
<td>Clears the ogg_packet structure.</td>
......
......@@ -17,14 +17,14 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>Indicates whether this page is at the beginning of the logical bitstream.
<p>
<p>Indicates whether this page is at the beginning of the logical bitstream.
<p>
<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
<td>
<pre><b>
int ogg_page_bos(ogg_page *og);
int ogg_page_bos(ogg_page *og);
</b></pre>
</td>
......@@ -39,10 +39,10 @@ int ogg_page_bos(ogg_page *og);
<h3>Return Values</h3>
<blockquote>
<blockquote>
<li>
greater than 0 if this page is the beginning of a bitstream.</li>
<li>
greater than 0 if this page is the beginning of a bitstream.</li>
<li>
0 if this page is from any other location in the stream.</li>
</blockquote>
<p>
......
......@@ -17,13 +17,13 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>Indicates whether this page contains packet data which has been continued from the previous page.
<p>Indicates whether this page contains packet data which has been continued from the previous page.
<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
<td>
<pre><b>
int ogg_page_continued(ogg_page *og);
int ogg_page_continued(ogg_page *og);
</b></pre>
</td>
......@@ -38,10 +38,10 @@ int ogg_page_continued(ogg_page *og);
<h3>Return Values</h3>
<blockquote>
<blockquote>
<li>
1 if this page contains packet data continued from the last page.</li>
<li>
1 if this page contains packet data continued from the last page.</li>
<li>
0 if this page does not contain continued data.</li>
</blockquote>
<p>
......
......@@ -17,14 +17,14 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>Indicates whether this page is at the end of the logical bitstream.
<p>
<p>Indicates whether this page is at the end of the logical bitstream.
<p>
<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
<td>
<pre><b>
int ogg_page_eos(ogg_page *og);
int ogg_page_eos(ogg_page *og);
</b></pre>
</td>
......@@ -39,10 +39,10 @@ int ogg_page_eos(ogg_page *og);
<h3>Return Values</h3>
<blockquote>
<blockquote>
<li>
greater than zero if this page contains the end of a bitstream.</li>
<li>
greater than zero if this page contains the end of a bitstream.</li>
<li>
0 if this page is from any other location in the stream.</li>
</blockquote>
<p>
......
......@@ -17,16 +17,16 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>Returns the exact granular position of the packet data contained at the end of this page.
<p>This is useful for tracking location when seeking or decoding.
<p>For example, in audio codecs this position is the pcm sample number and in video this is the frame number.
<p>
<p>Returns the exact granular position of the packet data contained at the end of this page.
<p>This is useful for tracking location when seeking or decoding.
<p>For example, in audio codecs this position is the pcm sample number and in video this is the frame number.
<p>
<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
<td>
<pre><b>
int ogg_page_granulepos(ogg_page *og);
int ogg_page_granulepos(ogg_page *og);
</b></pre>
</td>
......@@ -41,7 +41,7 @@ int ogg_page_granulepos(ogg_page *og);
<h3>Return Values</h3>
<blockquote>
<blockquote>
<li>
<i>n</i> is the specific last granular position of the decoded data contained in the page.</li>
</blockquote>
......
......@@ -26,7 +26,7 @@ counted.
<tr bgcolor=#cccccc>
<td>
<pre><b>
int ogg_page_packets(ogg_page *og);
int ogg_page_packets(ogg_page *og);
</b></pre>
</td>
......
......@@ -17,14 +17,14 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>Returns the sequential page number.
<p>This is useful for ordering pages or determining when pages have been lost.
<p>Returns the sequential page number.
<p>This is useful for ordering pages or determining when pages have been lost.
<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
<td>
<pre><b>
int ogg_page_pageno(ogg_page *og);
int ogg_page_pageno(ogg_page *og);
</b></pre>
</td>
......@@ -39,7 +39,7 @@ int ogg_page_pageno(ogg_page *og);
<h3>Return Values</h3>
<blockquote>
<blockquote>
<li>
<i>n</i> is the page number for this page.</li>
</blockquote>
......
......@@ -17,14 +17,14 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>Returns the unique serial number for the logical bitstream of this page. Each page contains the serial number for the logical bitstream that it belongs to.
<p>
<p>Returns the unique serial number for the logical bitstream of this page. Each page contains the serial number for the logical bitstream that it belongs to.
<p>
<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
<td>
<pre><b>
int ogg_page_serialno(ogg_page *og);
int ogg_page_serialno(ogg_page *og);
</b></pre>
</td>
......@@ -39,7 +39,7 @@ int ogg_page_serialno(ogg_page *og);
<h3>Return Values</h3>
<blockquote>
<blockquote>
<li>
<i>n</i> is the serial number for this page.</li>
</blockquote>
......
......@@ -17,14 +17,14 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>This function returns the version of ogg_page used in this page.
<p>This function returns the version of ogg_page used in this page.
<p>In current versions of libogg, all ogg_page structs have the same version, so 0 should always be returned.
<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
<td>
<pre><b>
int ogg_page_version(ogg_page *og);
int ogg_page_version(ogg_page *og);
</b></pre>
</td>
......@@ -39,7 +39,7 @@ int ogg_page_version(ogg_page *og);
<h3>Return Values</h3>
<blockquote>
<blockquote>
<li>
<i>n</i> is the version number. In the current version of Ogg, the version number is always 0. Nonzero return values indicate an error in page encoding.</li>
</blockquote>
......
......@@ -17,7 +17,7 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>This function frees the memory used by the <a href="ogg_stream_state.html">ogg_stream_state</a> struct.
<p>This function frees the memory used by the <a href="ogg_stream_state.html">ogg_stream_state</a> struct.
<p>This should be called when you are done working with an ogg stream. It can also be called to make sure that the struct does not exist.
<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
......
......@@ -38,7 +38,7 @@ int ogg_stream_eos(ogg_stream_state *os);
<h3>Return Values</h3>
<blockquote>
<li>1 if we are at the end of the stream.</li>
<li>1 if we are at the end of the stream.</li>
<li>
0 if we have not yet reached the end of the stream.</li>
</blockquote>
......
......@@ -17,9 +17,9 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page.
<p>This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page.
<p>This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, <a href="ogg_stream_pageout.html">ogg_stream_pageout</a> should always be used.
<p>This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page.
<p>This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page.
<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
......@@ -35,15 +35,15 @@ int ogg_stream_pageout(<a href="ogg_stream_state.html">ogg_stream_state</a> *os,
<h3>Parameters</h3>
<dl>
<dt><i>os</i></dt>
<dd>Pointer to a previously declared <a href="ogg_stream_state.html">ogg_stream_state</a> struct, which represents the current logical bitstream.</dd>
<dt><i>og</i></dt>
<dd>Pointer to a previously declared <a href="ogg_stream_state.html">ogg_stream_state</a> struct, which represents the current logical bitstream.</dd>
<dt><i>og</i></dt>
<dd>Pointer to a page of data. The remaining packets in the stream will be placed into this page, if any remain.
</dl>
<h3>Return Values</h3>
<blockquote>
<li>0 means that all packet data has already been flushed into pages, and there are no packets to put into the page.</li>
<li>0 means that all packet data has already been flushed into pages, and there are no packets to put into the page.</li>
<li>
Nonzero means that remaining packets have successfully been flushed into the page.</li>
</blockquote>
......
......@@ -33,7 +33,7 @@ int ogg_stream_init(<a href="ogg_stream_state.html">ogg_stream_state</a> *os,int
<h3>Parameters</h3>
<dl>
<dt><i>os</i></dt>
<dd>Pointer to the ogg_stream_state struct that we will be initializing.</dd>
<dd>Pointer to the ogg_stream_state struct that we will be initializing.</dd>
<dt><i>serialno</i></dt>
<dd>Serial number that we will attach to this stream.</dd>
</dl>
......@@ -42,7 +42,7 @@ int ogg_stream_init(<a href="ogg_stream_state.html">ogg_stream_state</a> *os,int
<h3>Return Values</h3>
<blockquote>
<li>
0 if successful</li>
0 if successful</li>
<li>
-1 if unsuccessful. If this fails, the ogg_stream_state was not properly declared before calling this function.</li>
</blockquote>
......
......@@ -17,7 +17,7 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>This function takes a packet and submits it to the bitstream. After this is called, we can continue submitting packets, or we can write out pages.
<p>This function takes a packet and submits it to the bitstream. After this is called, we can continue submitting packets, or we can write out pages.
<p>In a typical decoding situation, this should be used after filling a packet with data
<br><br>
......@@ -25,7 +25,7 @@
<tr bgcolor=#cccccc>
<td>
<pre><b>
int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
</b></pre>
</td>
</tr>
......@@ -34,14 +34,14 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
<h3>Parameters</h3>
<dl>
<dt><i>os</i></dt>
<dd>Pointer to a previously declared <a href="ogg_stream_state.html">ogg_stream_state</a> struct.</dd>
<dt><i>op</i></dt>
<dd>Pointer to a previously declared <a href="ogg_stream_state.html">ogg_stream_state</a> struct.</dd>
<dt><i>op</i></dt>
<dd>Pointer to the packet we are putting into the bitstream.
</dl>
<h3>Return Values</h3>
<blockquote>
<blockquote>
<li>
0 is always returned.</li>
</blockquote>
......
......@@ -17,8 +17,8 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>This function adds a complete page to the bitstream.
<p>In a typical decoding situation, this function would be called after using <a href="ogg_sync_pageout.html">ogg_sync_pageout</a> to create a valid <a href="ogg_page.html">ogg_page</a> struct.
<p>This function adds a complete page to the bitstream.
<p>In a typical decoding situation, this function would be called after using <a href="ogg_sync_pageout.html">ogg_sync_pageout</a> to create a valid <a href="ogg_page.html">ogg_page</a> struct.
<p>Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer.
<br><br>
......@@ -35,15 +35,15 @@ int ogg_stream_pagein(<a href="ogg_stream_state.html">ogg_stream_state</a> *os,
<h3>Parameters</h3>
<dl>
<dt><i>os</i></dt>
<dd>Pointer to a previously declared <a href="ogg_stream.html">ogg_stream</a> struct, which represents the current logical bitstream.</dd>
<dt><i>og</i></dt>
<dd>Pointer to a previously declared <a href="ogg_stream.html">ogg_stream</a> struct, which represents the current logical bitstream.</dd>
<dt><i>og</i></dt>
<dd>Pointer to a page of data. The data inside this page is being submitted to the streaming layer in order to be allocated into packets.
</dl>
<h3>Return Values</h3>
<blockquote>
<li>-1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, or that the page version was incorrect.</li>
<li>-1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, or that the page version was incorrect.</li>
<li>
0 means that the page was successfully submitted to the bitstream.</li>
</blockquote>
......
......@@ -17,8 +17,8 @@
<p><i>declared in "ogg/ogg.h";</i></p>
<p>This function forms packets into pages. If
<p>In a typical encoding situation, this would be called after using <a href="ogg_stream_packetin.html">ogg_stream_packetin</a> to submit data packets to the bitstream.
<p>This function forms packets into pages. If
<p>In a typical encoding situation, this would be called after using <a href="ogg_stream_packetin.html">ogg_stream_packetin</a> to submit data packets to the bitstream.
<p>Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer.
<br><br>
......@@ -35,15 +35,15 @@ int ogg_stream_pageout(<a href="ogg_stream_state.html">ogg_stream_state</a> *os,
<h3>Parameters</h3>
<dl>
<dt><i>os</i></dt>
<dd>Pointer to a previously declared <a href="ogg_stream.html">ogg_stream</a> struct, which represents the current logical bitstream.</dd>
<dt><i>og</i></dt>
<dd>Pointer to a previously declared <a href="ogg_stream.html">ogg_stream</a> struct, which represents the current logical bitstream.</dd>
<dt><i>og</i></dt>
<dd>Pointer to a page of data. The data inside this page is being submitted to the streaming layer in order to be allocated into packets.
</dl>
<h3>Return Values</h3>
<blockquote>
<li>0 means that there is not enough data yet to form a page.</li>
<li>0 means that there is not enough data yet to form a page.</li>
<li>
0 means that the page was successfully submitted to the bitstream.</li>
</blockquote>
......
......@@ -24,40 +24,40 @@ The ogg_stream_state struct tracks the current encode/decode state of the curren
<table border=0 width=100% color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
<td>
<pre><b>
typedef struct {
unsigned char *body_data; /* bytes from packet bodies */
long body_storage; /* storage elements allocated */
long body_fill; /* elements stored; fill mark */
long body_returned; /* elements of fill returned */
int *lacing_vals; /* The values that will go to the segment table */
ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact
this way, but it is simple coupled to the
lacing fifo */
long lacing_storage;
long lacing_fill;
long lacing_packet;
long lacing_returned;
unsigned char header[282]; /* working space for header encode */
int header_fill;
int e_o_s; /* set when we have buffered the last packet in the
logical bitstream */
int b_o_s; /* set after we've written the initial page