truehd: add hand-scheduled ARM asm version of ff_mlp_rematrix_channel.
authorBen Avison <bavison@riscosopen.org>
Thu, 20 Mar 2014 18:58:37 +0000 (18:58 +0000)
committerMartin Storsjö <martin@martin.st>
Wed, 26 Mar 2014 17:54:10 +0000 (19:54 +0200)
commit483321fe789566dcb27b6387c00ea16dd86bc587
tree8d390dfcd3cea74eddba2519bf525acc4aac2d32
parent4e5aa080bb8d83cb6de1ffbdd7b37ec34bc6b30b
truehd: add hand-scheduled ARM asm version of ff_mlp_rematrix_channel.

Profiling results for overall audio decode and the rematrix_channels function
in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     370.8  17.0     348.8  20.1    99.9%       +6.3%
6:2 function  46.4   8.4      45.8   6.6     18.0%       +1.2%  (insignificant)
8:2 total     343.2  19.0     339.1  15.4    54.7%       +1.2%  (insignificant)
8:2 function  38.9   3.9      40.2   6.9     52.4%       -3.2%  (insignificant)
6:6 total     658.4  15.7     604.6  20.8    100.0%      +8.9%
6:6 function  109.0  8.7      59.5   5.4     100.0%      +83.3%
8:8 total     896.2  24.5     766.4  17.6    100.0%      +16.9%
8:8 function  223.4  12.8     93.8   5.0     100.0%      +138.3%

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/arm/mlpdsp_armv5te.S
libavcodec/arm/mlpdsp_init_arm.c