[vorbis-dev] Problems on TI DSP c6701

Monty xiphmont at xiph.org
Wed May 5 15:20:53 PDT 2004



On Sat, May 01, 2004 at 03:18:36AM +0800, Tony wrote:
> Hi all: 

> I am a newbie to vorbis, and I want to develop vorbis decoder onto
> TI c6701 evm board.  And I try the tremor code and libvorbis and the
> code from http://www.xiph.org/archives/tremor/200210/0001.html .
> But all of them stll work good in MSVC but terrible in c6701.  I
> dont know wher the problem is??Problem of code or problem of memory
> allocation?? it decodes almost noise,....  When I trace the code I
> found some fit_value[] between fit_value[0] and fit_value[1] were
> wrong before /* unwrap positive values and reconsitute via linear
> interpolation */ Then I found the wrong fit_value because of the
> wrong dec_firsttable[lok] value So it seems tth codecsetup error
> info ,is it ?? If it is, how can I trace deeply to fined the problem
> ?? Or anyone has experience on TI DSP could kindly tell me where is
> the problem??Any feedback would be very appreciated.

All the TI processor families are very different.  I've coded for the
c54xx series, but this likely will not help at all on the 6000 series.

However, a common feature of TI DSP families is that 'byte and 'char'
are both 16 bits; there is no 8 bit type on many of these processors,
which the stock version of tremor requires.

The c5416 version of Tremor changes the code substantially to use 16
bit 'bytes' instead of 8 bit, but also makes heavy use of assembly
that will not work on the 6000 series.

There is a possibility of getting a C version of the 16 bit code in
SVN, but it is a substantial fork of the original code and thus
complicates code maintainence.  In addition, the TI C compilers (CCS)
shipped for TI brand DSPs is an incredibly poor optimizer; on the
5416, my hand written assembly averages about 20x faster.  It will be
unlikely that you'll acheive realtime performance using CCS; the TI
processors generally encourage writing mostly in assembly.

I know this is not very encouraging.  Hopefully someone with more
c6000 series experience will be able to step up and say I'm wrong.

(Is there a GCC backend for the 6000 series today?  That might be
worth a go)

Monty
--- >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-dev-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-dev mailing list