[vorbis] Output signal of the Tremor Codec

Ralph Giles giles at xiph.org
Thu Oct 23 02:00:23 PDT 2003



On Thu, Oct 23, 2003 at 09:06:41AM +0200, Bertrand Pot wrote:

> I want to use the Tremor Codec on a ARM7TDMI uc (Samsung S3C4510B). And I need to convert the decoded Vorbis signal in an I2S bus signal (clk, word-select, and data) with a CPLD (Xilinx SPARTAN II)

Sounds like a fun project.

> It will be helpfull if someone can explain me the exact form of the output signal given by the Tremor Codec. I suppose that this is a "raw" signal, but i don't know exactly how it is.

There are two levels of api access to decoding. If you're using the 
ivorbisfile.h version and just calling ov_read() it fills the provided 
buffer (or rather partially fills, you have to use the return value) 
with channel-interleaved host endian 16 bit signed integers.

The lower-level vorbis_systhesis_pcmout() call returns a pointer to an 
array of channels, each an array of 32 bit integers with what looks like 
24 bit precision. This may make more sense for your application, 
especially if you use a >16 bit DAC. In any case, it avoids a copy if 
there's room to do the interleaving in the FPGA. See the implementation 
of ov_read() in vorbisfile.c for an example of the conversion.

Hope that helps,
 -r
--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis mailing list