[FFmpeg-devel] [PATCH 6/6] truehd: add hand-scheduled ARM asm version of ff_mlp_pack_output.
Clément Bœsch
u at pkh.me
Thu Mar 20 10:41:59 CET 2014
On Wed, Mar 19, 2014 at 05:26:21PM +0000, 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/mlpdsp_arm.S | 503 ++++++++++++++++++++++++++++++++++++++
> libavcodec/arm/mlpdsp_init_arm.c | 64 +++++
> 2 files changed, 567 insertions(+), 0 deletions(-)
>
> diff --git a/libavcodec/arm/mlpdsp_arm.S b/libavcodec/arm/mlpdsp_arm.S
> index 8d84b00..85524b1 100644
> --- a/libavcodec/arm/mlpdsp_arm.S
> +++ b/libavcodec/arm/mlpdsp_arm.S
> @@ -98,6 +98,26 @@ A .endif
> .endif
> .endm
>
> +.macro loadregoffsh2 group, index, base, offgroup, offindex
> + .altmacro
> + loadregoffsh2_ \group, %(\index), \base, \offgroup, %(\offindex)
> + .noaltmacro
> +.endm
> +
> +.macro loadregoffsh2_ group, index, base, offgroup, offindex
> + ldr \group\index, [\base, \offgroup\offindex, lsl #2]
> +.endm
> +
> +.macro eorlslreg check, data, group, index
> + .altmacro
> + eorlslreg_ \check, \data, \group, %(\index)
> + .noaltmacro
> +.endm
> +
> +.macro eorlslreg_ check, data, group, index
> + eor \check, \check, \data, lsl \group\index
> +.endm
> +
These 2 macros look like they are just 1 instruction each. They should be
inlined if possible, it's really unnecessary obfuscation.
[...]
--
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140320/8889f0b2/attachment.asc>
More information about the ffmpeg-devel
mailing list