[Speex-dev] Speex requirements on a TI Davinci / ARM926EJ-Sid(wb)

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Mon Mar 3 13:23:10 PST 2008


Did you try setting complexity to 1 (defaults to 2)?

Todd Krein a écrit :
> (Resending since the archive seems to have eaten the text.)
> 
>  
> 
> I’m working on getting Speex running on a TI Davinci (6441), on both the
> ARM and the DSP. My immediate goal is to understand the processing
> requirements on different architectures so that I can properly specific
> an engineering project.
> 
>  
> 
> I have it up and running on the ARM, and I just wanted to see if anyone
> could sanity-check my results before I continue.
> 
>  
> 
> Brief version:
> 
> WB decode takes ~24MIPS, encode takes ~243MIPS.
> 
> NB decode takes ~10MIPS, encode takes ~102MIPS.
> 
> (And by MIPS, I mean ARM CPU cycles, not Dhrystone MIPS)
> 
>  
> 
> If I manually (because I couldn’t figure out how to make configure do
> it) add “-mpcu=arm926ej_s” and “-DSHORTCUTS”, the wideband numbers drop
> to 22MIPS and 219MIPS, respectively.
> 
>  
> 
> More Details:
> 
>  
> 
> The commands/options I used to config Speex:
> 
>  
> 
> # export ARM_INSTALL_TREE=/extern/toddk/workdir/filesys
> 
> export CC=arm_v5t_le-gcc
> 
> export CXX=arm_v5t_le-g++
> 
> export AR=arm_v5t_le-ar
> 
> export RANLIB=arm_v5t_le-ranlib
> 
> export NM=arm_v5t_le-nm
> 
> export ac_cv_path_NM=arm_v5t_le-nm
> 
> export ac_cv_func_setpgrp_void=yes
> 
> export host=arm_v5t_le
> 
>  
> 
> ./configure --prefix /extern/toddk/workdir/filesys/usr/local
> --host=arm-linux --disable-float-api --disable-vbr --enable-fixed-point
> --enable-arm5e-asm
> 
>  
> 
> The source data is from MP3 audio books that have been resampled to 16K
> and written out as .WAV files by NCH’s Switch software. (It’s hard to
> get good wideband audio samples…)
> 
>  
> 
> For decode, I run the command “time speexdec sample.spx”, and then take
> sum of the “user” and “sys” times the speed of the processor (297MHz),
> and divide it by the “real” (or clock) time. That should give me the
> average processing power requirements. (And the number is matched by the
> results of “top”.)
> 
>  
> 
> For encode, I run the command “time speexenc sample.wav - > /dev/null”.
> Since it consumes 99% of the cpu, and runs faster than real time, the
> MIPS requirement is calculated by taking sum of the “user” and “sys”
> times the speed of the processor (297MHz), and dividing by the playback
> time determined by the decode step.
> 
>  
> 
> Does this seem like a reasonable way to test the code?
> 
> Are the results in line with what people would expect?
> 
>  
> 
> Thanks!
> 
> ---------------------------
> 
> Todd Krein
> 
> Director of Architecture
> 
> 650-566-6657
> 
> todd.krein at ooma.com <mailto:todd.krein at ooma.com>
> 
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev


More information about the Speex-dev mailing list