<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.xiph.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ribamar</id>
	<title>XiphWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.xiph.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ribamar"/>
	<link rel="alternate" type="text/html" href="https://wiki.xiph.org/Special:Contributions/Ribamar"/>
	<updated>2026-05-11T13:32:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Etheora&amp;diff=8790</id>
		<title>Etheora</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Etheora&amp;diff=8790"/>
		<updated>2008-03-25T05:00:09Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: etheora 0.1 -&amp;gt; 0.1.1 ; a function name was wrong&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Etheora&#039;&#039;&#039; is a a simplified API for programming theora video encoding/decoding applications with ogg containers. It uses and  encapsulates libtheora + libogg API and structures, so users need to know very few  about video and data containers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview - Encoding == &lt;br /&gt;
&lt;br /&gt;
An encoding process is made by these steps:&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx ec;&lt;br /&gt;
&lt;br /&gt;
 /* encoder configuration. */&lt;br /&gt;
 etheora_enc_setup(&amp;amp;ec, width, height, ETHEORA_ASPECT_NORMAL,&lt;br /&gt;
 fopen(&amp;quot;output-video.ogv&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
 /* encoder start. */&lt;br /&gt;
 etheora_enc_start(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* drawing next frame, by puting a r,g,b or y,u,v pixel in (i,j) coordinate */&lt;br /&gt;
 etheora_enc_rgb_draw(&amp;amp;ec, i, j, r, g, b);&lt;br /&gt;
 /* alternative: etheora_enc_yuv_draw()) */&lt;br /&gt;
&lt;br /&gt;
 /* submiting frame to encoding. */&lt;br /&gt;
 etheora_enc_nextframe(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* submiting last frame to encoding by finishing the process. */&lt;br /&gt;
 etheora_enc_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Decoding == &lt;br /&gt;
&lt;br /&gt;
The decoding process is quite similar.&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx ec;&lt;br /&gt;
&lt;br /&gt;
 /* decoder configuration. */&lt;br /&gt;
 etheora_dec_setup(&amp;amp;ec, fopen(&amp;quot;input-video.ogv&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;)); &lt;br /&gt;
&lt;br /&gt;
 /* decoder start. */&lt;br /&gt;
 etheora_dec_start(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* reading video data. */&lt;br /&gt;
 etheora_get_width(&amp;amp;ec);&lt;br /&gt;
 etheora_get_heigth(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_denominator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_denominator(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* getting next frame by decoding it. */&lt;br /&gt;
 etheora_dec_nextframe(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* getting frame data, by reading a r,g,b or y,u,v pixel in (i,j) coordinate*/&lt;br /&gt;
 etheora_dec_rgb_read(&amp;amp;ec, i, j, &amp;amp;r, &amp;amp;g, &amp;amp;b)&lt;br /&gt;
 /* alternative: etheora_dec_yuv_read()) */&lt;br /&gt;
&lt;br /&gt;
 /* finishing the process. */&lt;br /&gt;
 etheora_dec_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Going Futher == &lt;br /&gt;
&lt;br /&gt;
Etheora is documented here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1.1/doc/etheora_documentation.pdf&lt;br /&gt;
&lt;br /&gt;
Etheora code is here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1.1/src/&lt;br /&gt;
&lt;br /&gt;
Etheora very simple examples are found here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1.1/examples/&lt;br /&gt;
&lt;br /&gt;
Etheora still doesn&#039;t have audio/speech support. (Although it can get video data from videos with audio). And uses internally the old libtheora API (ie, not the theora-exp). FIXME: The theora-exp API is what&#039;s used now on libtheora 1.0.  Please use that API instead.&lt;br /&gt;
&lt;br /&gt;
== TODO == &lt;br /&gt;
&lt;br /&gt;
* Vorbis support&lt;br /&gt;
* Speex support&lt;br /&gt;
* Skeleton support&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
{{Template:Theora}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Theora]]&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7829</id>
		<title>Etheora</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7829"/>
		<updated>2007-11-26T04:59:59Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: minor text corrections.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Etheora&#039;&#039;&#039; is a a simplified API for programming theora video encoding/decoding applications with ogg containers. It uses and  encapsulates libtheora + libogg API and structures, so users need to know very few  about video and data containers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview - Encoding == &lt;br /&gt;
&lt;br /&gt;
An encoding process is made by these steps:&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* encoder configuration. */&lt;br /&gt;
 etheora_enc_configure(&amp;amp;ec, width, height, ETHEORA_ASPECT_NORMAL,&lt;br /&gt;
 fopen(&amp;quot;output-video.ogv&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
 /* encoder start. */&lt;br /&gt;
 etheora_enc_start(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* drawing next frame, by puting a r,g,b or y,u,v pixel in (i,j) coordinate */&lt;br /&gt;
 etheora_enc_rgb_draw(&amp;amp;ec, i, j, r, g, b);&lt;br /&gt;
 /* alternative: etheora_enc_yuv_draw()) */&lt;br /&gt;
&lt;br /&gt;
 /* submiting frame to encoding. */&lt;br /&gt;
 etheora_enc_nextframe(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* submiting last frame to encoding by finishing the process. */&lt;br /&gt;
 etheora_enc_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Decoding == &lt;br /&gt;
&lt;br /&gt;
The decoding process is quite similar.&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* decoder configuration. */&lt;br /&gt;
 etheora_dec_configure(&amp;amp;ec, fopen(&amp;quot;input-video.ogv&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;)); &lt;br /&gt;
&lt;br /&gt;
 /* decoder start. */&lt;br /&gt;
 etheora_dec_start(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* reading video data. */&lt;br /&gt;
 etheora_get_width(&amp;amp;ec);&lt;br /&gt;
 etheora_get_heigth(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_denominator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_denominator(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* getting next frame by decoding it. */&lt;br /&gt;
 etheora_dec_nextframe(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* getting frame data, by reading a r,g,b or y,u,v pixel in (i,j) coordinate*/&lt;br /&gt;
 etheora_dec_rgb_read(&amp;amp;ec, i, j, &amp;amp;r, &amp;amp;g, &amp;amp;b)&lt;br /&gt;
 /* alternative: etheora_dec_yuv_read()) */&lt;br /&gt;
&lt;br /&gt;
 /* finishing the process. */&lt;br /&gt;
 etheora_dec_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Going Futher == &lt;br /&gt;
&lt;br /&gt;
Etheora is documented here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/doc/etheora_documentation.pdf&lt;br /&gt;
&lt;br /&gt;
Etheora code is here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/src/&lt;br /&gt;
&lt;br /&gt;
Etheora very simple examples are found here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/examples/&lt;br /&gt;
&lt;br /&gt;
Etheora still doesn&#039;t have audio/speech support. (Although it can get video data from videos with audio). And uses internally the old libtheora API (ie, not the theora-exp).&lt;br /&gt;
&lt;br /&gt;
== TODO == &lt;br /&gt;
&lt;br /&gt;
* Vorbis support&lt;br /&gt;
* Speex support&lt;br /&gt;
* Skeleton support&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
{{Template:Theora}}&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7786</id>
		<title>Etheora</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7786"/>
		<updated>2007-11-20T18:08:18Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: /* Overview - Decoding */ ogg video now -&amp;gt; ogv&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Etheora&#039;&#039;&#039; is a a simplified API to programming theora video encoding/decoding applications with ogg containers. It uses and  encapsulates libtheora + libogg API and structures, so users need to know very few  about video and data containers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview - Encoding == &lt;br /&gt;
&lt;br /&gt;
An encoding process is made by these steps:&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* encoder configuration. */&lt;br /&gt;
 etheora_enc_configure(&amp;amp;ec, width, height, ETHEORA_ASPECT_NORMAL,&lt;br /&gt;
 fopen(&amp;quot;output-video.ogv&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
 /* encoder start. */&lt;br /&gt;
 etheora_enc_start(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* drawing next frame, by puting a r,g,b or y,u,v pixel in (i,j) coordinate */&lt;br /&gt;
 etheora_enc_rgb_draw(&amp;amp;ec, i, j, r, g, b);&lt;br /&gt;
 /* alternative: etheora_enc_yuv_draw()) */&lt;br /&gt;
&lt;br /&gt;
 /* submiting frame to encoding. */&lt;br /&gt;
 etheora_enc_nextframe(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* submiting last frame to encoding by finishing the process. */&lt;br /&gt;
 etheora_enc_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Decoding == &lt;br /&gt;
&lt;br /&gt;
The decoding process is quite similar.&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* decoder configuration. */&lt;br /&gt;
 etheora_dec_configure(&amp;amp;ec, fopen(&amp;quot;input-video.ogv&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;)); &lt;br /&gt;
&lt;br /&gt;
 /* decoder start. */&lt;br /&gt;
 etheora_dec_start(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* reading video data. */&lt;br /&gt;
 etheora_get_width(&amp;amp;ec);&lt;br /&gt;
 etheora_get_heigth(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_denominator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_denominator(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* getting next frame by decoding it. */&lt;br /&gt;
 etheora_dec_nextframe(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* getting frame data, by reading a r,g,b or y,u,v pixel in (i,j) coordinate*/&lt;br /&gt;
 etheora_dec_rgb_read(&amp;amp;ec, i, j, &amp;amp;r, &amp;amp;g, &amp;amp;b)&lt;br /&gt;
 /* alternative: etheora_dec_yuv_read()) */&lt;br /&gt;
&lt;br /&gt;
 /* finishing the process. */&lt;br /&gt;
 etheora_dec_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Going Futher == &lt;br /&gt;
&lt;br /&gt;
Etheora is documented here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/doc/etheora_documentation.pdf&lt;br /&gt;
&lt;br /&gt;
Etheora code is here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/src/&lt;br /&gt;
&lt;br /&gt;
Etheora very simple examples are found here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/examples/&lt;br /&gt;
&lt;br /&gt;
Etheora still doesn&#039;t have audio/speech support. (Although it can get video data from videos with audio). And uses internally the old libtheora API (ie, not the theora-exp).&lt;br /&gt;
&lt;br /&gt;
== TODO == &lt;br /&gt;
&lt;br /&gt;
* Vorbis support&lt;br /&gt;
* Speex support&lt;br /&gt;
* Skeleton support&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
{{Template:Theora}}&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7785</id>
		<title>Etheora</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7785"/>
		<updated>2007-11-20T17:15:31Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: /* Overview - Encoding */ ogg video now -&amp;gt; ogv&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Etheora&#039;&#039;&#039; is a a simplified API to programming theora video encoding/decoding applications with ogg containers. It uses and  encapsulates libtheora + libogg API and structures, so users need to know very few  about video and data containers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview - Encoding == &lt;br /&gt;
&lt;br /&gt;
An encoding process is made by these steps:&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* encoder configuration. */&lt;br /&gt;
 etheora_enc_configure(&amp;amp;ec, width, height, ETHEORA_ASPECT_NORMAL,&lt;br /&gt;
 fopen(&amp;quot;output-video.ogv&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
 /* encoder start. */&lt;br /&gt;
 etheora_enc_start(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* drawing next frame, by puting a r,g,b or y,u,v pixel in (i,j) coordinate */&lt;br /&gt;
 etheora_enc_rgb_draw(&amp;amp;ec, i, j, r, g, b);&lt;br /&gt;
 /* alternative: etheora_enc_yuv_draw()) */&lt;br /&gt;
&lt;br /&gt;
 /* submiting frame to encoding. */&lt;br /&gt;
 etheora_enc_nextframe(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* submiting last frame to encoding by finishing the process. */&lt;br /&gt;
 etheora_enc_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Decoding == &lt;br /&gt;
&lt;br /&gt;
The decoding process is quite similar.&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* decoder configuration. */&lt;br /&gt;
 etheora_dec_configure(&amp;amp;ec, fopen(&amp;quot;input-video.ogg&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;)); &lt;br /&gt;
&lt;br /&gt;
 /* decoder start. */&lt;br /&gt;
 etheora_dec_start(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* reading video data. */&lt;br /&gt;
 etheora_get_width(&amp;amp;ec);&lt;br /&gt;
 etheora_get_heigth(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_denominator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_denominator(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* getting next frame by decoding it. */&lt;br /&gt;
 etheora_dec_nextframe(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* getting frame data, by reading a r,g,b or y,u,v pixel in (i,j) coordinate*/&lt;br /&gt;
 etheora_dec_rgb_read(&amp;amp;ec, i, j, &amp;amp;r, &amp;amp;g, &amp;amp;b)&lt;br /&gt;
 /* alternative: etheora_dec_yuv_read()) */&lt;br /&gt;
&lt;br /&gt;
 /* finishing the process. */&lt;br /&gt;
 etheora_dec_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Going Futher == &lt;br /&gt;
&lt;br /&gt;
Etheora is documented here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/doc/etheora_documentation.pdf&lt;br /&gt;
&lt;br /&gt;
Etheora code is here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/src/&lt;br /&gt;
&lt;br /&gt;
Etheora very simple examples are found here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/examples/&lt;br /&gt;
&lt;br /&gt;
Etheora still doesn&#039;t have audio/speech support. (Although it can get video data from videos with audio). And uses internally the old libtheora API (ie, not the theora-exp).&lt;br /&gt;
&lt;br /&gt;
== TODO == &lt;br /&gt;
&lt;br /&gt;
* Vorbis support&lt;br /&gt;
* Speex support&lt;br /&gt;
* Skeleton support&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
{{Template:Theora}}&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7784</id>
		<title>Etheora</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7784"/>
		<updated>2007-11-20T17:10:23Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: /* Overview - Encoding */  minor visual changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Etheora&#039;&#039;&#039; is a a simplified API to programming theora video encoding/decoding applications with ogg containers. It uses and  encapsulates libtheora + libogg API and structures, so users need to know very few  about video and data containers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview - Encoding == &lt;br /&gt;
&lt;br /&gt;
An encoding process is made by these steps:&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* encoder configuration. */&lt;br /&gt;
 etheora_enc_configure(&amp;amp;ec, width, height, ETHEORA_ASPECT_NORMAL,&lt;br /&gt;
 fopen(&amp;quot;output-video.ogg&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
 /* encoder start. */&lt;br /&gt;
 etheora_enc_start(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* drawing next frame, by puting a r,g,b or y,u,v pixel in (i,j) coordinate */&lt;br /&gt;
 etheora_enc_rgb_draw(&amp;amp;ec, i, j, r, g, b);&lt;br /&gt;
 /* alternative: etheora_enc_yuv_draw()) */&lt;br /&gt;
&lt;br /&gt;
 /* submiting frame to encoding. */&lt;br /&gt;
 etheora_enc_nextframe(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* submiting last frame to encoding by finishing the process. */&lt;br /&gt;
 etheora_enc_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Decoding == &lt;br /&gt;
&lt;br /&gt;
The decoding process is quite similar.&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* decoder configuration. */&lt;br /&gt;
 etheora_dec_configure(&amp;amp;ec, fopen(&amp;quot;input-video.ogg&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;)); &lt;br /&gt;
&lt;br /&gt;
 /* decoder start. */&lt;br /&gt;
 etheora_dec_start(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* reading video data. */&lt;br /&gt;
 etheora_get_width(&amp;amp;ec);&lt;br /&gt;
 etheora_get_heigth(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_denominator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_denominator(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* getting next frame by decoding it. */&lt;br /&gt;
 etheora_dec_nextframe(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* getting frame data, by reading a r,g,b or y,u,v pixel in (i,j) coordinate*/&lt;br /&gt;
 etheora_dec_rgb_read(&amp;amp;ec, i, j, &amp;amp;r, &amp;amp;g, &amp;amp;b)&lt;br /&gt;
 /* alternative: etheora_dec_yuv_read()) */&lt;br /&gt;
&lt;br /&gt;
 /* finishing the process. */&lt;br /&gt;
 etheora_dec_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Going Futher == &lt;br /&gt;
&lt;br /&gt;
Etheora is documented here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/doc/etheora_documentation.pdf&lt;br /&gt;
&lt;br /&gt;
Etheora code is here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/src/&lt;br /&gt;
&lt;br /&gt;
Etheora very simple examples are found here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/examples/&lt;br /&gt;
&lt;br /&gt;
Etheora still doesn&#039;t have audio/speech support. (Although it can get video data from videos with audio). And uses internally the old libtheora API (ie, not the theora-exp).&lt;br /&gt;
&lt;br /&gt;
== TODO == &lt;br /&gt;
&lt;br /&gt;
* Vorbis support&lt;br /&gt;
* Speex support&lt;br /&gt;
* Skeleton support&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
{{Template:Theora}}&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=User:Ribamar&amp;diff=7783</id>
		<title>User:Ribamar</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=User:Ribamar&amp;diff=7783"/>
		<updated>2007-11-20T17:09:51Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: etheora developer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Etheora]] developer.&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7782</id>
		<title>Etheora</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7782"/>
		<updated>2007-11-20T17:09:22Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: todo list + visual changes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Etheora&#039;&#039;&#039; is a a simplified API to programming theora video encoding/decoding applications with ogg containers. It uses and  encapsulates libtheora + libogg API and structures, so users need to know very few  about video and data containers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview - Encoding == &lt;br /&gt;
&lt;br /&gt;
An encoding process is made by these steps:&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* encoder configuration. */&lt;br /&gt;
 etheora_enc_configure(&amp;amp;ec, width, height, ETHEORA_ASPECT_NORMAL,&lt;br /&gt;
 fopen(&amp;quot;output-video.ogg&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
 /* encoder start. */&lt;br /&gt;
 etheora_enc_start(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* drawing next frame, by puting a r,g,b or y,u,v pixel in (i,j) coordinate */&lt;br /&gt;
 etheora_enc_rgb_draw(&amp;amp;ec, i, j, r, g, b);&lt;br /&gt;
 /* alternative: etheora_enc_yuv_draw()) */&lt;br /&gt;
&lt;br /&gt;
 /* submiting frame to encoding. */&lt;br /&gt;
 etheora_enc_nextframe(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* submiting last frame to encoding by finishing the process. */&lt;br /&gt;
 etheora_enc_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Decoding == &lt;br /&gt;
&lt;br /&gt;
The decoding process is quite similar.&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* decoder configuration. */&lt;br /&gt;
 etheora_dec_configure(&amp;amp;ec, fopen(&amp;quot;input-video.ogg&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;)); &lt;br /&gt;
&lt;br /&gt;
 /* decoder start. */&lt;br /&gt;
 etheora_dec_start(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* reading video data. */&lt;br /&gt;
 etheora_get_width(&amp;amp;ec);&lt;br /&gt;
 etheora_get_heigth(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_denominator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_denominator(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* getting next frame by decoding it. */&lt;br /&gt;
 etheora_dec_nextframe(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* getting frame data, by reading a r,g,b or y,u,v pixel in (i,j) coordinate*/&lt;br /&gt;
 etheora_dec_rgb_read(&amp;amp;ec, i, j, &amp;amp;r, &amp;amp;g, &amp;amp;b)&lt;br /&gt;
 /* alternative: etheora_dec_yuv_read()) */&lt;br /&gt;
&lt;br /&gt;
 /* finishing the process. */&lt;br /&gt;
 etheora_dec_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
The functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
== Overview - Going Futher == &lt;br /&gt;
&lt;br /&gt;
Etheora is documented here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/doc/etheora_documentation.pdf&lt;br /&gt;
&lt;br /&gt;
Etheora code is here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/src/&lt;br /&gt;
&lt;br /&gt;
Etheora very simple examples are found here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/examples/&lt;br /&gt;
&lt;br /&gt;
Etheora still doesn&#039;t have audio/speech support. (Although it can get video data from videos with audio). And uses internally the old libtheora API (ie, not the theora-exp).&lt;br /&gt;
&lt;br /&gt;
== TODO == &lt;br /&gt;
&lt;br /&gt;
* Vorbis support&lt;br /&gt;
* Speex support&lt;br /&gt;
* Skeleton support&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
{{Template:Theora}}&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7781</id>
		<title>Etheora</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7781"/>
		<updated>2007-11-20T16:54:08Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: minor visual changes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Etheora&#039;&#039;&#039; is a a simplified API to programming theora video encoding/decoding applications with ogg containers. It uses and  encapsulates libtheora + libogg API and structures, so users need to know very few  about video and data containers.&lt;br /&gt;
&lt;br /&gt;
An encoding process is made by these steps:&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* encoder configuration. */&lt;br /&gt;
 etheora_enc_configure(&amp;amp;ec, width, height, ETHEORA_ASPECT_NORMAL,&lt;br /&gt;
 fopen(&amp;quot;output-video.ogg&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
 /* encoder start. */&lt;br /&gt;
 etheora_enc_start(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* drawing next frame, by puting a r,g,b or y,u,v pixel in (i,j) coordinate */&lt;br /&gt;
 etheora_enc_rgb_draw(&amp;amp;ec, i, j, r, g, b);&lt;br /&gt;
 /* alternative: etheora_enc_yuv_draw()) */&lt;br /&gt;
&lt;br /&gt;
 /* submiting frame to encoding. */&lt;br /&gt;
 etheora_enc_nextframe(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* submiting last frame to encoding by finishing the process. */&lt;br /&gt;
 etheora_enc_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The decoding process is quite similar.&lt;br /&gt;
&lt;br /&gt;
 /* a context declaration. */&lt;br /&gt;
 etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
 /* decoder configuration. */&lt;br /&gt;
 etheora_dec_configure(&amp;amp;ec, fopen(&amp;quot;input-video.ogg&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;)); &lt;br /&gt;
&lt;br /&gt;
 /* decoder start. */&lt;br /&gt;
 etheora_dec_start(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* reading video data. */&lt;br /&gt;
 etheora_get_width(&amp;amp;ec);&lt;br /&gt;
 etheora_get_heigth(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_fps_denominator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_numerator(&amp;amp;ec);&lt;br /&gt;
 etheora_get_aspect_denominator(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
 /* getting next frame by decoding it. */&lt;br /&gt;
 etheora_dec_nextframe(&amp;amp;ec); &lt;br /&gt;
&lt;br /&gt;
 /* getting frame data, by reading a r,g,b or y,u,v pixel in (i,j) coordinate*/&lt;br /&gt;
 etheora_dec_rgb_read(&amp;amp;ec, i, j, &amp;amp;r, &amp;amp;g, &amp;amp;b)&lt;br /&gt;
 /* alternative: etheora_dec_yuv_read()) */&lt;br /&gt;
&lt;br /&gt;
 /* finishing the process. */&lt;br /&gt;
 etheora_dec_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
the functions _yuv_ and _rgb_ works transparently with OC_PF_420, OC_PF_422 and OC_PF_PF_444, having the libtheora version used support for them or not.&lt;br /&gt;
&lt;br /&gt;
Etheora is documented here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/doc/etheora_documentation.pdf&lt;br /&gt;
&lt;br /&gt;
Etheora code is here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/src/&lt;br /&gt;
&lt;br /&gt;
Etheora examples are here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/examples/&lt;br /&gt;
&lt;br /&gt;
Etheora still doesn&#039;t have audio/speech support. (Although it can get video data from videos with audio). And uses internally the old libtheora API (ie, not the theora-exp).&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7780</id>
		<title>Etheora</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Etheora&amp;diff=7780"/>
		<updated>2007-11-20T16:47:50Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: initial info about etheora.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Etheora&#039;&#039;&#039; is a a simplified API to programming theora video encoding/decoding applications with ogg containers. It uses and  encapsulates libtheora + libogg API and structures, so users need to know very few  about video and data containers.&lt;br /&gt;
&lt;br /&gt;
An encoding process is made by these steps:&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/*a context declaration.*/&lt;br /&gt;
etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
/*encoder configuration.*/&lt;br /&gt;
etheora_enc_configure(&amp;amp;ec, width, height, ETHEORA_ASPECT_NORMAL,&lt;br /&gt;
fopen(&amp;quot;output-video.ogg&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
/*encoder start.*/&lt;br /&gt;
etheora_enc_start(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
/*drawing next frame, by puting a r,g,b or y,u,v pixel in (i,j) coordinate*/&lt;br /&gt;
etheora_enc_rgb_draw(&amp;amp;ec, i, j, r, g, b) (alternative: etheora_enc_yuv_draw()),&lt;br /&gt;
&lt;br /&gt;
/*submiting frame to encoding.*/&lt;br /&gt;
etheora_enc_nextframe(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
/*submiting last frame to encoding by finishing the process.*/&lt;br /&gt;
etheora_enc_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The decoding process is quite similar.&lt;br /&gt;
/*a context declaration.*/&lt;br /&gt;
etheora_ctx *ec;&lt;br /&gt;
&lt;br /&gt;
/*decoder configuration.*/&lt;br /&gt;
etheora_dec_configure(&amp;amp;ec, fopen(&amp;quot;input-video.ogg&amp;quot;), fopen(&amp;quot;debug_info.txt&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
/*decoder start.*/&lt;br /&gt;
etheora_dec_start(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
/*reading video data.*/&lt;br /&gt;
etheora_get_width(&amp;amp;ec);&lt;br /&gt;
etheora_get_heigth(&amp;amp;ec);&lt;br /&gt;
etheora_get_fps_numerator(&amp;amp;ec);&lt;br /&gt;
etheora_get_fps_denominator(&amp;amp;ec);&lt;br /&gt;
etheora_get_aspect_numerator(&amp;amp;ec);&lt;br /&gt;
etheora_get_aspect_denominator(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
/*getting next frame by decoding it.*/&lt;br /&gt;
etheora_dec_nextframe(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
/*getting frame data, by reading a r,g,b or y,u,v pixel in (i,j) coordinate*/&lt;br /&gt;
etheora_dec_rgb_read(&amp;amp;ec, i, j, &amp;amp;r, &amp;amp;g, &amp;amp;b) (alternative:&lt;br /&gt;
etheora_dec_yuv_read()),&lt;br /&gt;
&lt;br /&gt;
/* finishing the process.*/&lt;br /&gt;
etheora_dec_finish(&amp;amp;ec);&lt;br /&gt;
&lt;br /&gt;
the functions _yuv_ and _rgb_ works transparently with OC_PF_420,&lt;br /&gt;
OC_PF_422 and OC_PF_PF_444, having the libtheora version used support&lt;br /&gt;
for them or not.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Etheora is documented here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/doc/etheora_documentation.pdf&lt;br /&gt;
&lt;br /&gt;
Etheora code is here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/src/&lt;br /&gt;
&lt;br /&gt;
Etheora examples are here:&lt;br /&gt;
http://svn.xiph.org/branches/etheora-0.1/examples/&lt;br /&gt;
&lt;br /&gt;
Etheora still doesn&#039;t have audio/speech support. (Although it can get video data from videos with audio). And uses internally the old libtheora API (ie, not the theora-exp).&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=TheoraEncoders&amp;diff=7779</id>
		<title>TheoraEncoders</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=TheoraEncoders&amp;diff=7779"/>
		<updated>2007-11-20T16:40:48Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: (error in previous change)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* theora: reference encoder/decoder (the decoder now in svn support all theora features) library with MMX optimizations: [http://svn.xiph.org/trunk/theora/ theora svn], [http://svn.xiph.org/releases/theora/ theora official releases].&lt;br /&gt;
* theora-old: old encoder/decoder (the decoder does not support all theora features, but [http://lists.xiph.org/pipermail/theora-dev/2007-April/003220.html it&#039;s faster than theora in many cases]) library, with MMX optimizations; theora version up to 1.0 alpha 7 were using this code trunk: [http://svn.xiph.org/trunk/theora-old/ theora-old svn].&lt;br /&gt;
* theora-exp: experimental encoder/decoder (the decoder is the same of reference, the encoder is new and supports all theora features) library: [http://svn.xiph.org/trunk/theora-exp/ theora-exp svn].&lt;br /&gt;
* [[Etheora]]: a simplified API to theora reference encoder/decoder. &lt;br /&gt;
&lt;br /&gt;
== See also== &lt;br /&gt;
{{Template:Theora}}&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=TheoraDecoders&amp;diff=7778</id>
		<title>TheoraDecoders</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=TheoraDecoders&amp;diff=7778"/>
		<updated>2007-11-20T16:40:30Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: (error in previous change)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* theora: reference encoder/decoder (the decoder now in svn support all theora features) library with MMX optimizations: [http://svn.xiph.org/trunk/theora/ theora svn], [http://svn.xiph.org/releases/theora/ theora official releases].&lt;br /&gt;
* theora-old: old encoder/decoder (the decoder does not support all theora features, but [http://lists.xiph.org/pipermail/theora-dev/2007-April/003220.html it&#039;s faster than theora in many cases]) library, with MMX optimizations; theora version up to 1.0 alpha 7 were using this code trunk: [http://svn.xiph.org/trunk/theora-old/ theora-old svn].&lt;br /&gt;
* theora-exp: experimental encoder/decoder (the decoder is the same of reference, the encoder is new and supports all theora features) library: [http://svn.xiph.org/trunk/theora-exp/ theora-exp svn].&lt;br /&gt;
* [http://www.flumotion.net/cortado/ Cortado]: a GPL Java decoder for Ogg Theora, Ogg Vorbis and other codecs. Embedding this applet on your website you can give viewers access to streams from either the Flumotion streaming server or play a local file from your server without the need for a locally installed media player supporting the correct formats on the visitors computer.&lt;br /&gt;
* [http://ffmpeg.mplayerhq.hu/ ffmpeg] (only vp3 features, mmx, sse2 optimisations).&lt;br /&gt;
* [[Etheora]]: a simplified API to theora reference encoder/decoder. &lt;br /&gt;
&lt;br /&gt;
== See also== &lt;br /&gt;
{{Template:Theora}}&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=TheoraEncoders&amp;diff=7777</id>
		<title>TheoraEncoders</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=TheoraEncoders&amp;diff=7777"/>
		<updated>2007-11-20T16:39:41Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: added etheora.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* theora: reference encoder/decoder (the decoder now in svn support all theora features) library with MMX optimizations: [http://svn.xiph.org/trunk/theora/ theora svn], [http://svn.xiph.org/releases/theora/ theora official releases].&lt;br /&gt;
* theora-old: old encoder/decoder (the decoder does not support all theora features, but [http://lists.xiph.org/pipermail/theora-dev/2007-April/003220.html it&#039;s faster than theora in many cases]) library, with MMX optimizations; theora version up to 1.0 alpha 7 were using this code trunk: [http://svn.xiph.org/trunk/theora-old/ theora-old svn].&lt;br /&gt;
* theora-exp: experimental encoder/decoder (the decoder is the same of reference, the encoder is new and supports all theora features) library: [http://svn.xiph.org/trunk/theora-exp/ theora-exp svn].&lt;br /&gt;
* [Etheora]: a simplified API to theora reference encoder/decoder. &lt;br /&gt;
&lt;br /&gt;
== See also== &lt;br /&gt;
{{Template:Theora}}&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=TheoraDecoders&amp;diff=7776</id>
		<title>TheoraDecoders</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=TheoraDecoders&amp;diff=7776"/>
		<updated>2007-11-20T16:39:29Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: add etheora&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* theora: reference encoder/decoder (the decoder now in svn support all theora features) library with MMX optimizations: [http://svn.xiph.org/trunk/theora/ theora svn], [http://svn.xiph.org/releases/theora/ theora official releases].&lt;br /&gt;
* theora-old: old encoder/decoder (the decoder does not support all theora features, but [http://lists.xiph.org/pipermail/theora-dev/2007-April/003220.html it&#039;s faster than theora in many cases]) library, with MMX optimizations; theora version up to 1.0 alpha 7 were using this code trunk: [http://svn.xiph.org/trunk/theora-old/ theora-old svn].&lt;br /&gt;
* theora-exp: experimental encoder/decoder (the decoder is the same of reference, the encoder is new and supports all theora features) library: [http://svn.xiph.org/trunk/theora-exp/ theora-exp svn].&lt;br /&gt;
* [http://www.flumotion.net/cortado/ Cortado]: a GPL Java decoder for Ogg Theora, Ogg Vorbis and other codecs. Embedding this applet on your website you can give viewers access to streams from either the Flumotion streaming server or play a local file from your server without the need for a locally installed media player supporting the correct formats on the visitors computer.&lt;br /&gt;
* [http://ffmpeg.mplayerhq.hu/ ffmpeg] (only vp3 features, mmx, sse2 optimisations).&lt;br /&gt;
* [Etheora]: a simplified API to theora reference encoder/decoder. &lt;br /&gt;
&lt;br /&gt;
== See also== &lt;br /&gt;
{{Template:Theora}}&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=People&amp;diff=7718</id>
		<title>People</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=People&amp;diff=7718"/>
		<updated>2007-11-01T21:41:45Z</updated>

		<summary type="html">&lt;p&gt;Ribamar: adding me (etheora) ehre.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to help with nickname to person lookup. Nickname can be a mail alias, an IRC nick, or a Subversion user &amp;amp;mdash; in most cases several of these. Please help to fill this table. Keeping your own entry up to date would be a good start.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|+ Who is who&lt;br /&gt;
! Nickname&lt;br /&gt;
! Real name&lt;br /&gt;
! Keywords&lt;br /&gt;
|-&lt;br /&gt;
| arkadini&lt;br /&gt;
| Arek Korbik&lt;br /&gt;
| Quicktime, XiphQT&lt;br /&gt;
|-&lt;br /&gt;
| Atamido&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ben&lt;br /&gt;
| Benjamin Gérard&lt;br /&gt;
| libao&lt;br /&gt;
|-	 &lt;br /&gt;
| bjorn&lt;br /&gt;
| Bjorn Wijers&lt;br /&gt;
| [[Spread Open Media]], [[XSPF]]&lt;br /&gt;
|-&lt;br /&gt;
| conrad&lt;br /&gt;
| Conrad Parker&lt;br /&gt;
| see &#039;&#039;[[#nick_kfish|kfish]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| derf&lt;br /&gt;
| Timothy Terriberry&lt;br /&gt;
| see &#039;&#039;[[#nick_tterribe|tterribe]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| dllmain&lt;br /&gt;
| Sebastian Pipping&lt;br /&gt;
| see &#039;&#039;[[#nick_sping|sping]]&#039;&#039;, nick not used anymore&lt;br /&gt;
|-&lt;br /&gt;
| doublec&lt;br /&gt;
| Chris Double&lt;br /&gt;
| firefox, theora, Mozilla&lt;br /&gt;
|-&lt;br /&gt;
| giles&lt;br /&gt;
| Ralph Giles&lt;br /&gt;
| see &#039;&#039;[[#nick_rillian|rillian]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| ginger&lt;br /&gt;
| Silvia Pfeiffer&lt;br /&gt;
| see &#039;&#039;[[#nick_nessy|nessy]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Imalone|imalone]]&lt;br /&gt;
| Ian Malone&lt;br /&gt;
| metadata&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_illi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;illiminable&lt;br /&gt;
| Zentaro Kavanagh&lt;br /&gt;
| DirectShow, dsfilters, Microsoft&lt;br /&gt;
|-&lt;br /&gt;
| ivo&lt;br /&gt;
| Ivo Emanuel Gonçalves&lt;br /&gt;
| see &#039;&#039;[[#nick_saoshyant|Saoshyant]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| jack&lt;br /&gt;
| Jack Moffitt&lt;br /&gt;
| libao, treasurer, Icecast&lt;br /&gt;
|-&lt;br /&gt;
| jcoalson&lt;br /&gt;
| Josh Coalson&lt;br /&gt;
| FLAC author&lt;br /&gt;
|-&lt;br /&gt;
| j, j^&lt;br /&gt;
|&lt;br /&gt;
| v2v, ffmpeg2theora, sysadmin&lt;br /&gt;
|-&lt;br /&gt;
| [[User:jmspeex|jmspeex]]&lt;br /&gt;
| Jean-Marc Valin&lt;br /&gt;
| speex, ghost, VoIP&lt;br /&gt;
|-&lt;br /&gt;
| jmworx&lt;br /&gt;
| Jean-Marc Valin&lt;br /&gt;
| see &#039;&#039;[[#nick_jmspeex|jmspeex]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| JoeyBorn&lt;br /&gt;
| Joe Born&lt;br /&gt;
| neuros&lt;br /&gt;
|-&lt;br /&gt;
| karl&lt;br /&gt;
| Karl Heyes&lt;br /&gt;
| Icecast&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_kfish&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;kfish&lt;br /&gt;
| Conrad Parker&lt;br /&gt;
| annodex, vorbis-tools&lt;br /&gt;
|-&lt;br /&gt;
| laser13&lt;br /&gt;
| Marcin Lubonski&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lgonze&lt;br /&gt;
| Lucas Gonze&lt;br /&gt;
| [[XSPF]]&lt;br /&gt;
|-&lt;br /&gt;
| maikmerten&lt;br /&gt;
| Maik Merten&lt;br /&gt;
| theora, java&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_mikes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MikeS&lt;br /&gt;
| Michael Smith&lt;br /&gt;
| fluendo, gstreamer, sysadmin, IceS&lt;br /&gt;
|-&lt;br /&gt;
| Monty&lt;br /&gt;
| Christopher Montgomery&lt;br /&gt;
| see &#039;&#039;[[#nick_xiphmont|xiphmont]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| msmith&lt;br /&gt;
| Michael Smith&lt;br /&gt;
| see &#039;&#039;[[#nick_mikes|MikeS]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_nessy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;nessy&lt;br /&gt;
| Silvia Pfeiffer&lt;br /&gt;
| annodex, vquence, sysadmin, CMML&lt;br /&gt;
|-&lt;br /&gt;
| ozone&lt;br /&gt;
| &lt;br /&gt;
| annodex, macos&lt;br /&gt;
|-&lt;br /&gt;
| pjones&lt;br /&gt;
| Peter Jones&lt;br /&gt;
| cdparanoia, redhat&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_rillian&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;rillian&lt;br /&gt;
| Ralph Giles&lt;br /&gt;
| metadata, video, theora, MNG, sysadmin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_saoshyant&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[User:Saoshyant|Saoshyant]]&lt;br /&gt;
| Ivo Emanuel Gonçalves&lt;br /&gt;
| advocacy, [[Spread Open Media]], [[XSPF]]&lt;br /&gt;
|-&lt;br /&gt;
| ribamar&lt;br /&gt;
| Ribamar Santarosa&lt;br /&gt;
| etheora&lt;br /&gt;
|-&lt;br /&gt;
| segher&lt;br /&gt;
| Segher Boessenkool&lt;br /&gt;
| vorbis, audio&lt;br /&gt;
|-&lt;br /&gt;
| shans&lt;br /&gt;
| Shane Stephens&lt;br /&gt;
| annodex, oggplay&lt;br /&gt;
|-&lt;br /&gt;
| silvia&lt;br /&gt;
| Silvia Pfeiffer&lt;br /&gt;
| see &#039;&#039;[[#nick_nessy|nessy]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_sping&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[User:sping|sping]]&lt;br /&gt;
| Sebastian Pipping&lt;br /&gt;
| [[XSPF]], [http://libspiff.sourceforge.net/ libSpiff], [http://validator.xspf.org/ XSPF Validator], VS2005 project files&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_tterribe&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;tterribe&lt;br /&gt;
| Timothy Terriberry&lt;br /&gt;
| theora, video&lt;br /&gt;
|-&lt;br /&gt;
| thomasvs&lt;br /&gt;
| Thomas Vander Stichele&lt;br /&gt;
| fluendo, flumotion, gstreamer&lt;br /&gt;
|-&lt;br /&gt;
| volsung&lt;br /&gt;
| Stan Seibert&lt;br /&gt;
| libao&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_xiphmont&amp;quot;&amp;gt;xiphmont&lt;br /&gt;
| Christopher Montgomery&lt;br /&gt;
| vorbis, ghost, audio, Ogg, paranoia&lt;br /&gt;
|-&lt;br /&gt;
| zen&lt;br /&gt;
| Zentaro Kavanagh&lt;br /&gt;
| see &#039;&#039;[[#nick_illi|illi]]&#039;&#039;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ribamar</name></author>
	</entry>
</feed>