[opus] [RFC PATCHv1] cover: celt_pitch_xcorr: Introduce ARM neon intrinsics

Timothy B. Terriberry tterribe at xiph.org
Fri Nov 21 16:06:05 PST 2014

Viswanath Puttagunta wrote:
> a. Simplest use case to validate this optimization for correctness.
> b. Simplest use case to validate this optimization for performance.
> Would prefer something like opusdec that can be executed on command
> line.

The easiest thing to use is probably opus_demo (opusdec does a bunch of 
extra things, plus for interactive use we care about both the encoder 
and decoder, and celt_pitch_xcorr gets used vastly more by the encoder 
than the decoder... I think the decoder only uses it for PLC).

Something like
./opus_demo restricted-lowdelay 48000 2 96000 comp48-stereo.sw /dev/null

comp48-stereo.sw can be found here: 

celt_pitch_xcorr also gets used by the SILK encoder (more in fixed-point 
than float, but the float one uses it, too). So it may be worth doing a 
run with the application set to voip instead of restricted-lowdelay and 
a lower bitrate (e.g., 24000 instead of 96000).

Even though this primarily affects the encoder, as a sanity check, it's 
always good to make sure the test vectors still decode correctly. Get 
them from <http://opus-codec.org/testvectors/opus_testvectors.tar.gz> 
and use
tests/run_vectors.sh <build path> <test vectors path> 48000

More information about the opus mailing list