Commit graph

403 commits

Author SHA1 Message Date
Arun Raghavan
f10e663d04 tests: Run svolume on different channel counts
This adds checks to run svolume tests with 1, 2 and 3 channels (we don't
run Orc with 3 channels since only 1/2-ch are implemented there).
2012-10-30 15:00:45 +05:30
Arun Raghavan
58b61a9d16 tests: Make cpu-test less verbose
Drops the correctness debug output since we want to run this several
times, and the output becomes much more verbose than required.
2012-10-30 11:27:19 +05:30
Arun Raghavan
a172db5c0d tests: Run svolume test for various sample alignments
Allows us to make sure that svolume works independently of sample
alignment, and that performance doesn't degrade based on this.
2012-10-30 11:18:08 +05:30
Arun Raghavan
654444eda9 tests: Minor cpu-test fixes for non-NEON builds
The s16->float test is only run on ARM with NEOn at the moment, so we
don't define that code in other cases.
2012-10-29 14:42:42 +05:30
Arun Raghavan
2ec891d892 tests: Print average outer-loop iteration time in cpu-test 2012-10-29 14:37:18 +05:30
Arun Raghavan
17b5a36130 tests: Increase sconv cpu-test timeout
This takes longer on ARM CPUs, especially older ones.
2012-10-29 14:37:18 +05:30
Arun Raghavan
32b4e848ae tests: Allow off-by-one error in sconv test
With some optimised sconv implementations (read NEON), rounding
inaccuracy might lead to a difference of 1 with the reference
implementation. The inaccuracy is worth the performance gain.

Also increases floating-point accuracy while printing errors to make
errors easier to analyse.
2012-10-29 14:36:33 +05:30
Peter Meerwald
f558327cca tests: Implement test code for ARM NEON sconv s16_to_float
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
2012-10-29 13:13:38 +05:30
Peter Meerwald
bd7229b38a tests: Fix test description in cpu-test
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
2012-10-29 13:13:38 +05:30
Peter Meerwald
1319c4533a core: Add ARM NEON optimized sample conversion code
final:
* includes some minor style fixes and build-time changes to allow
  building a single binary for neon and non-neon systems
v4:
* fix for sample length < 4
v3:
* convert from intrinsics to inline assembly
v2:
* load and store data with vld1/vld1q and vst1/vst1q, resp., to work
  around alignment issues of compiler-generated vldmia instruction
* remove redundant check for NEON flags

Ubuntu/Linaro gcc 4.6.3
arm-linux-gnueabi-gcc -O2 -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon

runtime on beagle-xm:

D: [pulseaudio] sconv_neon.c: checking NEON sconv_s16le_from_float
I: [pulseaudio] sconv_neon.c: NEON: 3754 usec.
I: [pulseaudio] sconv_neon.c: ref: 58594 usec.
D: [pulseaudio] sconv_neon.c: checking NEON sconv_s16le_to_float
I: [pulseaudio] sconv_neon.c: NEON: 1831 usec.
I: [pulseaudio] sconv_neon.c: ref: 10528 usec.
I: [pulseaudio] sconv_neon.c: Initialising ARM NEON optimized conversions.

conversion may be off by one for some samples due to rounding issues
2012-10-29 12:49:37 +05:30
Arun Raghavan
fe0ba245e5 tests: Run sconv tests with multiple alignments
This allows us to test the sconv code with the incoming samples at
various byte alignments. The test is also now split into correctness and
performance checks.
2012-10-25 10:11:24 +05:30
Arun Raghavan
7914e1286b tests: Add a basic sanity test to sconv cpu-test
This seems redundant with the previous check in that function, but it
makes sure that the result of the speed comparison is what we think it
is.
2012-10-24 10:12:06 +05:30
Arun Raghavan
472fe05297 tests: Reorganise cpu-test to reuse code
This factors out the basic measurement code for each test into a
separate block so that each test can be broken down into a basic
correctness test, and a performance comparison with minimum effort.
2012-10-24 10:12:06 +05:30
Arun Raghavan
3f44eb0559 tests: Factor out core sconv test code in cpu-test
This will let us add tests for non-SSE sconv tests.
2012-10-24 10:12:06 +05:30
Arun Raghavan
0d2bef6c78 tests: Add a copyright header to cpu-test 2012-10-24 10:12:05 +05:30
Arun Raghavan
b87067a007 tests: Minor cpu-test reorganisation
Make volume and conversion tests separate test cases.
2012-10-19 19:44:10 +05:30
Arun Raghavan
f8017bb19d tests: Factor out ARM svolume test into cpu-test
This allows us to run the testing code separately from the PulseAudio
daemon, which makes developing / regression testing this code a lot
easier.
2012-10-19 19:43:30 +05:30
Tanu Kaskinen
3d6092bb0f memblock: Add pa_memblock_acquire_chunk().
Besides making the code a bit cleaner, this also gets rid of
a few "cast increases required alignment of target type"
warnings.
2012-08-22 09:47:03 +03:00
Deng Zhengrong
8e0f50c176 tests: fix the wrong library path in check-daemon 2012-08-20 07:27:43 +05:30
Deng Zhengrong
70acd7bf66 tests: modify ipacl-test to use 'check' framework 2012-08-20 07:06:00 +05:30
Deng Zhengrong
deeb0f05b3 tests: modify once-test to use 'check' framework 2012-08-20 07:06:00 +05:30
Deng Zhengrong
b095ebd502 tests: modify lock-autospawn-test to use 'check' framework 2012-08-20 07:06:00 +05:30
Deng Zhengrong
d9841a9431 tests: modify rtpoll-test to use 'check' framework 2012-08-20 07:06:00 +05:30
Deng Zhengrong
c02214dac5 tests: modify sig2str-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
f4dd422c75 tests: modify sigbus-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
034807d6d3 tests: modify interpol-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
23fac14278 tests: modify smoother-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
ca5ea07c42 tests: modify sync-playback to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
eb15d0c5e2 tests: modify extended-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
a74795f9e3 tests: modify hook-list-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
ef5cf81ff8 tests: modify memblockq-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
d10009fc97 tests: modify proplist-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
67df8223b0 tests: modify memblock-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
2b7fb50935 tests: modify connect-stress to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
f270fead58 tests: modify queue-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
5f8c22e6f1 tests: modify cpulimit-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
dbf176acbd tests: modify channelmap-tets to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
d746225b98 tests: modify asyncq-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
8628990365 tests: modify asyncmsgq-test to new 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
1569601864 tests: modify alsa-time-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
4d5c85cfa2 tests: modify thread-mainloop-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
ca104d3467 tests: modify thread-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
a5b438f825 tests: modify get-binary-name-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
8efef1e097 tests: modify format-test to use 'check' framework 2012-08-20 07:05:58 +05:30
Deng Zhengrong
5f2a25b252 tests: modify usergroup-test to use 'check' test framework 2012-08-20 07:05:58 +05:30
Deng Zhengrong
3db18c27d2 tests: modify volume_test to use new 'check' framework 2012-08-20 07:05:58 +05:30
Deng Zhengrong
84ffc41bfb tests: enable to test standalone pulseaudio daemon
With this fix, `check-daemon` doesn't need a system-wide running pulseaudio
anymore.

The method to use is to invoke `make check-daemon` under `src/` and it just
works! :)
2012-08-04 08:28:48 +02:00
Arun Raghavan
d53f16b6a2 tests: Make cpu-test less verbose 2012-08-04 08:23:35 +02:00
Arun Raghavan
b6f2ccf194 tests: Factor out Orc test code into cpu-test
Reorganises all the svolume core test code in cpu-test since it's the
same across MMX/SSE/etc.
2012-08-04 08:23:35 +02:00
Deng Zhengrong
c2f7987f09 tests: modify strlist-test to use new 'check' framework 2012-08-04 08:23:34 +02:00