truehd: add hand-scheduled ARM asm version of ff_mlp_pack_output.
authorBen Avison <bavison@riscosopen.org>
Thu, 20 Mar 2014 18:58:40 +0000 (18:58 +0000)
committerMartin Storsjö <martin@martin.st>
Wed, 26 Mar 2014 17:54:32 +0000 (19:54 +0200)
commit3b5946bccef6cd219f01d22e542ca5c6de68a7be
tree20f5eda099a221bcfba80044c60318704b103c92
parentb9eb03416d93a5c4ece27ffef5e6e11c81bec6fa
truehd: add hand-scheduled ARM asm version of ff_mlp_pack_output.

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

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     339.6  15.1     329.3  16.0    95.8%       +3.1%  (insignificant)
6:2 function  24.6   6.0      9.9    3.1     100.0%      +148.5%
8:2 total     324.5  15.5     323.6  14.3    15.2%       +0.3%  (insignificant)
8:2 function  20.4   3.9      9.9    3.4     100.0%      +104.7%
6:6 total     572.8  20.6     539.9  24.2    100.0%      +6.1%
6:6 function  54.5   5.6      16.0   3.8     100.0%      +240.9%
8:8 total     741.5  21.2     702.5  18.5    100.0%      +5.6%
8:8 function  63.9   7.6      18.4   4.8     100.0%      +247.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/Makefile
libavcodec/arm/mlpdsp_armv6.S [new file with mode: 0644]
libavcodec/arm/mlpdsp_init_arm.c