[xiph-commits] r14553 - experimental/ribamar/etheora/examples/encode_vorbis

ribamar at svn.xiph.org ribamar at svn.xiph.org
Thu Mar 6 19:22:28 PST 2008


Author: ribamar
Date: 2008-03-06 19:22:27 -0800 (Thu, 06 Mar 2008)
New Revision: 14553

Modified:
   experimental/ribamar/etheora/examples/encode_vorbis/README.txt
Log:
studying how to embed vorbis in theora.

Modified: experimental/ribamar/etheora/examples/encode_vorbis/README.txt
===================================================================
--- experimental/ribamar/etheora/examples/encode_vorbis/README.txt	2008-03-04 01:59:34 UTC (rev 14552)
+++ experimental/ribamar/etheora/examples/encode_vorbis/README.txt	2008-03-07 03:22:27 UTC (rev 14553)
@@ -109,7 +109,7 @@
 second parameter (buffer size) of vorbis_analysis_buffer(), which is
 an arbitrarily set value. 
 
-see numChannels below, when we learn to read the wav files. 
+see numChannels above, when we learn to read the wav files. 
 
 the number 4 used several times in the code for the  vorbis encode_example.c 
 is the wav parameter BlockAlign. 
@@ -120,3 +120,32 @@
 
 
 
+---- 
+
+embedding vorbis in theora: 
+
+Headers:
+
+theora: _encode_init, _comment_init
+vorbis: _encode_init, _comment_init, _analysis_init, _block_init
+theora: _encode_header,  with: ogg_stream_packetin, ogg_stream_pageout, fwrite
+	_encode_comment, with: ogg_stream_packetin (to be flushed)
+	_encode_tables,  with: ogg_stream_packetin (to be flushed)
+vorbis: _analysis_headerout (1,2,3), with: ogg_stream_packetin (1), ogg_stream_pageout, fwrite
+	ogg_stream_packetin (2) (to be flushed)
+	ogg_stream_packetin (3) (to be flushed)
+theora: ogg_stream_flush, fwrite
+vorbis: ogg_stream_flush, fwrite
+
+Frames data: 
+
+submit video data and audio data to encode, while not getting a video
+or audio page. when a page is gotten, fwrite it. Even running
+linearly the code, we should think these processes (of submitting and 
+encoding video and audio) run in parallel. So, we must consider the 
+possibility of two pages being generated at 'the same time'. In this 
+case, we must fwrite first the one which has the lesser
+_granule_time(). 
+
+
+



More information about the commits mailing list