[Vorbis-dev] Is it possible to seek different Ogg Vorbis encoded packets from the File?

Niranjan Udipi ucniranjan at gmail.com
Thu Oct 22 17:40:13 PDT 2009


Thank you very much for the detailed description. I request you to elaborate
what is 'fine-grained parallelism' in Tremor, with an example.

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.

Regards,
Niranjan



On Fri, Oct 23, 2009 at 5:34 AM, Ralph Giles <rillian at telus.net> wrote:

> On Thu, Oct 22, 2009 at 12:23 AM, Niranjan Udipi <ucniranjan at gmail.com>
> wrote:
>
> >      Is it known apriori, how many Ogg-Vorbis packets are there and their
> > corresponding locations in the File/stream? If yes, then each Processor
> can
> > be pointed to its packet to-be-decoded. Please suggest how I can go
> ahead?
>
> The ogg layer has some look ahead, based on how many packets are
> packed into each encapsulation page. To obtain four at once, you can
> simply call ogg_stream_packetout() four times, feeding more data to
> ogg_stream_pagein() as necessary.
>
> However, vorbis packets are not independent. Each overlaps with the
> previous packet, and cannot be decoded separately as you have
> described. You will have to use finer-grained parallelism to run
> Tremor in multiple threads.
>
> HTH,
>  -r
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/vorbis-dev/attachments/20091023/77239983/attachment.htm 


More information about the Vorbis-dev mailing list