codec2 1200, 40mS frames -O2 all the code appears to be executed, had a bit of a look in the debugger I'm only running at 168 MHz out of a possible 216 MHz...
40mS frame. ENCODE 912123 cycles : 5.429mS DECODE 1299982 cycles : 7.74mS The M7 excels at this sort of crazy code. (small loops, jumps, misc stuff) FFT execution time : 32843 cycles But then after my FFT I do a rather gratuitous memcpy , as the fft is IN PLACE and I need it get it into the destination array. another 1630 cycles. Now, that *could* be turned into a DMA mem-mem xfer or I could just change some of the variable names and there wouldnt need to be a copy but I dont want to go changing too much stuff for the sake of 9 microseconds... the memcpy can stay. Maybe some improvement if I check/fix the alignment and do the memcpy myself in 64 bit slabs . Hm decode is hard eh ? sort of counter the usual. The other thing is, a little more attention to the use of memory usage and the RAM requirements could probably be halved. If that is useful I dunno. Like with the double buffers around the ffts is an extra 4k on the stack . I'm not using the TCM on the device either yes, and then the data access would be have to go through the cache. perhaps another 10%.... out of interest, my old sweetheart the ADI SHARC would do the 512 pt complex fft in perhaps 8000 cycles ? (compared to this 32000) so it ain't that fast but not bad for a GP micro. Bruce, (I see your authorness) - your packer compiles well..... g ------------------------------------------------------------------------------ _______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
