Thank you very much for the detailed description. I request you to elaborate what is 'fine-grained parallelism' in Tremor, with an example.<br><br>Another thought is to split the OggVorbis encoded data in to four nearly equal PCM length parts, once all the Headers have been decoded. Then, decode each part separately in a new thread. In this case, only at the beginning and end of the divided data parts, i.e. the first and last packets need the previous and next packet respectively, for decoding. Please comment on this idea. Please suggest me what functions I will have to use, to implement this scheme.<br>
<br>Regards,<br>Niranjan<br><br><br><br><div class="gmail_quote">On Fri, Oct 23, 2009 at 5:34 AM, Ralph Giles <span dir="ltr"><<a href="mailto:rillian@telus.net">rillian@telus.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Thu, Oct 22, 2009 at 12:23 AM, Niranjan Udipi <<a href="mailto:ucniranjan@gmail.com">ucniranjan@gmail.com</a>> wrote:<br>
<br>
> Is it known apriori, how many Ogg-Vorbis packets are there and their<br>
> corresponding locations in the File/stream? If yes, then each Processor can<br>
> be pointed to its packet to-be-decoded. Please suggest how I can go ahead?<br>
<br>
</div>The ogg layer has some look ahead, based on how many packets are<br>
packed into each encapsulation page. To obtain four at once, you can<br>
simply call ogg_stream_packetout() four times, feeding more data to<br>
ogg_stream_pagein() as necessary.<br>
<br>
However, vorbis packets are not independent. Each overlaps with the<br>
previous packet, and cannot be decoded separately as you have<br>
described. You will have to use finer-grained parallelism to run<br>
Tremor in multiple threads.<br>
<br>
HTH,<br>
<font color="#888888"> -r<br>
</font></blockquote></div><br>