• Ben Avison's avatar
    truehd: add hand-scheduled ARM asm version of mlp_filter_channel. · 15a29c39
    Ben Avison authored
    Profiling results for overall audio decode and the mlp_filter_channel(_arm)
    function in particular are as follows:
    
                  Before          After
                  Mean   StdDev   Mean   StdDev  Confidence  Change
    6:2 total     380.4  22.0     370.8  17.0    87.4%       +2.6%  (insignificant)
    6:2 function  60.7   7.2      36.6   8.1     100.0%      +65.8%
    8:2 total     357.0  17.5     343.2  19.0    97.8%       +4.0%  (insignificant)
    8:2 function  60.3   8.8      37.3   3.8     100.0%      +61.8%
    6:6 total     717.2  23.2     658.4  15.7    100.0%      +8.9%
    6:6 function  140.4  12.9     81.5   9.2     100.0%      +72.4%
    8:8 total     981.9  16.2     896.2  24.5    100.0%      +9.6%
    8:8 function  193.4  15.0     103.3  11.5    100.0%      +87.2%
    
    Experiments with adding preload instructions to this function yielded no
    useful benefit, so these have not been included.
    
    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: 's avatarMartin Storsjö <martin@martin.st>
    15a29c39
Name
Last commit
Last update
..
Makefile Loading commit data...
aac.h Loading commit data...
aacpsdsp_init_arm.c Loading commit data...
aacpsdsp_neon.S Loading commit data...
ac3dsp_arm.S Loading commit data...
ac3dsp_armv6.S Loading commit data...
ac3dsp_init_arm.c Loading commit data...
ac3dsp_neon.S Loading commit data...
asm-offsets.h Loading commit data...
cabac.h Loading commit data...
dca.h Loading commit data...
dcadsp_init_arm.c Loading commit data...
dcadsp_neon.S Loading commit data...
dcadsp_vfp.S Loading commit data...
dsputil_arm.S Loading commit data...
dsputil_arm.h Loading commit data...
dsputil_armv6.S Loading commit data...
dsputil_init_arm.c Loading commit data...
dsputil_init_armv5te.c Loading commit data...
dsputil_init_armv6.c Loading commit data...
dsputil_init_neon.c Loading commit data...
dsputil_neon.S Loading commit data...
fft_fixed_init_arm.c Loading commit data...
fft_fixed_neon.S Loading commit data...
fft_init_arm.c Loading commit data...
fft_neon.S Loading commit data...
fft_vfp.S Loading commit data...
flacdsp_arm.S Loading commit data...
flacdsp_init_arm.c Loading commit data...
fmtconvert_init_arm.c Loading commit data...
fmtconvert_neon.S Loading commit data...
fmtconvert_vfp.S Loading commit data...
fmtconvert_vfp_armv6.S Loading commit data...
h264chroma_init_arm.c Loading commit data...
h264cmc_neon.S Loading commit data...
h264dsp_armv6.S Loading commit data...
h264dsp_init_arm.c Loading commit data...
h264dsp_neon.S Loading commit data...
h264idct_neon.S Loading commit data...
h264pred_init_arm.c Loading commit data...
h264pred_neon.S Loading commit data...
h264qpel_init_arm.c Loading commit data...
h264qpel_neon.S Loading commit data...
hpeldsp_arm.S Loading commit data...
hpeldsp_arm.h Loading commit data...
hpeldsp_armv6.S Loading commit data...
hpeldsp_init_arm.c Loading commit data...
hpeldsp_init_armv6.c Loading commit data...
hpeldsp_init_neon.c Loading commit data...
hpeldsp_neon.S Loading commit data...
int_neon.S Loading commit data...
jrevdct_arm.S Loading commit data...
mathops.h Loading commit data...
mdct_fixed_neon.S Loading commit data...
mdct_neon.S Loading commit data...
mdct_vfp.S Loading commit data...
mlpdsp_armv5te.S Loading commit data...
mlpdsp_init_arm.c Loading commit data...
mpegaudiodsp_fixed_armv6.S Loading commit data...
mpegaudiodsp_init_arm.c Loading commit data...
mpegvideo_arm.c Loading commit data...
mpegvideo_arm.h Loading commit data...
mpegvideo_armv5te.c Loading commit data...
mpegvideo_armv5te_s.S Loading commit data...
mpegvideo_neon.S Loading commit data...
neon.S Loading commit data...
neontest.c Loading commit data...
rdft_neon.S Loading commit data...
rv34dsp_init_arm.c Loading commit data...
rv34dsp_neon.S Loading commit data...
rv40dsp_init_arm.c Loading commit data...
rv40dsp_neon.S Loading commit data...
sbrdsp_init_arm.c Loading commit data...
sbrdsp_neon.S Loading commit data...
simple_idct_arm.S Loading commit data...
simple_idct_armv5te.S Loading commit data...
simple_idct_armv6.S Loading commit data...
simple_idct_neon.S Loading commit data...
synth_filter_neon.S Loading commit data...
synth_filter_vfp.S Loading commit data...
vc1dsp.h Loading commit data...
vc1dsp_init_arm.c Loading commit data...
vc1dsp_init_neon.c Loading commit data...
vc1dsp_neon.S Loading commit data...
videodsp_arm.h Loading commit data...
videodsp_armv5te.S Loading commit data...
videodsp_init_arm.c Loading commit data...
videodsp_init_armv5te.c Loading commit data...
vorbisdsp_init_arm.c Loading commit data...
vorbisdsp_neon.S Loading commit data...
vp3dsp_init_arm.c Loading commit data...
vp3dsp_neon.S Loading commit data...
vp56_arith.h Loading commit data...
vp6dsp_init_arm.c Loading commit data...
vp6dsp_neon.S Loading commit data...
vp8.h Loading commit data...
vp8_armv6.S Loading commit data...
vp8dsp.h Loading commit data...
vp8dsp_armv6.S Loading commit data...
vp8dsp_init_arm.c Loading commit data...
vp8dsp_init_armv6.c Loading commit data...
vp8dsp_init_neon.c Loading commit data...
vp8dsp_neon.S Loading commit data...