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. Regards Tony <p><p>--- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Hello, I want to guarantee that a few wav files when converted to .ogg use the same codebook and configuration so that I can will store the setup packets 1 time, saving the space used for each file's setup packets and, when decoding(playing) the files, sparing the time wasted setting things up. <p>For that I realize that if I concatenate all .wav in one big .wav and then transform it to .ogg, they will share the same codebooks and configs. (right??) So, my big question is?? Should I put silence between them or a big noise (fill the wav from peek to peek)?? each one will be easier to identify when I read the big ogg and try to separate only the audio packets that correspond to the same old wav files? Project is something like this ____ ____ _____ convert to ogg _________________ |wav| + |.wav | + |.wav | -------------------------> | concatenated .ogg | ----------> ------ --------- --------- ----------------------------- ------> store config headers in another file ----> save audio packets of first wav in another file -> ----> jump the noise/peek audio packets -----> save audio packets of second wav in another file -> ----> jump the noise/peek audio packets -----> save audio packets of third wav in another file. <p>Got it???? <p><p>--- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Thanks for Monty and Mike reply, I think I already found where the problem is. In sharebook.c, the function sort32a return the wrong value cause the incorrect result of sort, so I think maybe the qsort function of ccs v2.0 get some bugs there. I rewrite the sort32a function as follows: int sort32a(const void *a,const void *b){ if(**(ogg_uint32_t **)a>**(ogg_uint32_t **)b) return 1; if(**(ogg_uint32_t **)a<**(ogg_uint32_t **)b) return -1; else return 0 ; It loos the same but cause different result in ccs, maybe someone are good at ccs could tell me the reason . Whatever, I solve the problem then tremor and libvorbis got works. I should face the realtime issue and optimize the code, the speed is most important , I think c6701 has enough memory to exchange speed .Any suggestions would be very appreciated. Regards Tony --- >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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.