truehd: add hand-scheduled ARM asm version of ff_mlp_rematrix_channel.
authorBen Avison <bavison@riscosopen.org>
Thu, 20 Mar 2014 18:59:16 +0000 (18:59 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 26 Mar 2014 19:50:05 +0000 (20:50 +0100)
commit89135716fd4c2963e01e0155547c47bf709f1aa3
tree3fd7b75f0732898889a48f9b3d3d2d1577c208f9
parent80e67feda806ffbc51bbbc8de869f9ab5878bcce
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: Michael Niedermayer <michaelni@gmx.at>
libavcodec/arm/mlpdsp_armv5te.S
libavcodec/arm/mlpdsp_init_arm.c