• Martin Storsjö's avatar
    arm: vp9itxfm16: Avoid reloading the idct32 coefficients · 32e273c1
    Martin Storsjö authored
    Keep the idct32 coefficients in narrow form in q6-q7, and idct16
    coefficients in lengthened 32 bit form in q0-q3. Avoid clobbering
    q0-q3 in the pass1 function, and squeeze the idct16 coefficients
    into q0-q1 in the pass2 function to avoid reloading them.
    
    The idct16 coefficients are clobbered and reloaded within idct32_odd
    though, since that turns out to be faster than narrowing them and
    swapping them into q6-q7.
    
    Before:                            Cortex       A7        A8        A9      A53
    vp9_inv_dct_dct_32x32_sub4_add_10_neon:    22653.8   18268.4   19598.0  14079.0
    vp9_inv_dct_dct_32x32_sub32_add_10_neon:   37699.0   38665.2   32542.3  24472.2
    After:
    vp9_inv_dct_dct_32x32_sub4_add_10_neon:    22270.8   18159.3   19531.0  13865.0
    vp9_inv_dct_dct_32x32_sub32_add_10_neon:   37523.3   37731.6   32181.7  24071.2
    Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
    32e273c1
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...
audiodsp_arm.h Loading commit data...
audiodsp_init_arm.c Loading commit data...
audiodsp_init_neon.c Loading commit data...
audiodsp_neon.S Loading commit data...
blockdsp_arm.h Loading commit data...
blockdsp_init_arm.c Loading commit data...
blockdsp_init_neon.c Loading commit data...
blockdsp_neon.S Loading commit data...
cabac.h Loading commit data...
dca.h 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...
g722dsp_init_arm.c Loading commit data...
g722dsp_neon.S Loading commit data...
h264chroma_init_arm.c Loading commit data...
h264cmc_neon.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...
hevcdsp_arm.h Loading commit data...
hevcdsp_deblock_neon.S Loading commit data...
hevcdsp_idct_neon.S Loading commit data...
hevcdsp_init_arm.c Loading commit data...
hevcdsp_init_neon.c Loading commit data...
hevcdsp_qpel_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...
idct.h Loading commit data...
idctdsp_arm.S Loading commit data...
idctdsp_arm.h Loading commit data...
idctdsp_armv6.S Loading commit data...
idctdsp_init_arm.c Loading commit data...
idctdsp_init_armv5te.c Loading commit data...
idctdsp_init_armv6.c Loading commit data...
idctdsp_init_neon.c Loading commit data...
idctdsp_neon.S Loading commit data...
int_neon.S Loading commit data...
jrevdct_arm.S Loading commit data...
lossless_audiodsp_init_arm.c Loading commit data...
lossless_audiodsp_neon.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...
me_cmp_armv6.S Loading commit data...
me_cmp_init_arm.c Loading commit data...
mlpdsp_armv5te.S Loading commit data...
mlpdsp_armv6.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...
mpegvideoencdsp_armv6.S Loading commit data...
mpegvideoencdsp_init_arm.c Loading commit data...
neon.S Loading commit data...
neontest.c Loading commit data...
pixblockdsp_armv6.S Loading commit data...
pixblockdsp_init_arm.c Loading commit data...
rdft_init_arm.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...
startcode.h Loading commit data...
startcode_armv6.S Loading commit data...
synth_filter_init_arm.c 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...
vp9dsp_init.h Loading commit data...
vp9dsp_init_10bpp_arm.c Loading commit data...
vp9dsp_init_12bpp_arm.c Loading commit data...
vp9dsp_init_16bpp_arm_template.c Loading commit data...
vp9dsp_init_arm.c Loading commit data...
vp9itxfm_16bpp_neon.S Loading commit data...
vp9itxfm_neon.S Loading commit data...
vp9lpf_16bpp_neon.S Loading commit data...
vp9lpf_neon.S Loading commit data...
vp9mc_16bpp_neon.S Loading commit data...
vp9mc_neon.S Loading commit data...