On Thu, 20 Mar 2014, Ben Avison wrote:

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.
---
libavcodec/arm/Makefile          |    1 +
libavcodec/arm/mlpdsp_armv6.S    |  530 ++++++++++++++++++++++++++++++++++++++
libavcodec/arm/mlpdsp_init_arm.c |   96 +++++++
3 files changed, 627 insertions(+), 0 deletions(-)
create mode 100644 libavcodec/arm/mlpdsp_armv6.S


+function ff_mlp_pack_output_inorder_\channels\()ch_mixedshift_armv6, export=1
+ .if SAMPLES_PER_LOOP > 1
+        tst     COUNT, #SAMPLES_PER_LOOP - 1  // always seems to be in practice
+        bne     X(ff_mlp_pack_output)         // but just in case, branch to C 
implementation if not
+ .endif

This (and a few similar occurrances further below) is lacking the "it ne" in order to be able to build it in thumb mode.

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to