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
