aarch64: vp9itxfm: Make the larger core transforms standalone functions
authorMartin Storsjö <martin@martin.st>
Wed, 23 Nov 2016 12:03:05 +0000 (14:03 +0200)
committerMartin Storsjö <martin@martin.st>
Thu, 9 Feb 2017 10:31:45 +0000 (12:31 +0200)
commit115476018d2c97df7e9b4445fe8f6cc7420ab91f
treeb78b4b57b709e96517e652d60638b6ddb2cff536
parent0331c3f5e8cb6e6b53fab7893e91d1be1bfa979c
aarch64: vp9itxfm: Make the larger core transforms standalone functions

This work is sponsored by, and copyright, Google.

This reduces the code size of libavcodec/aarch64/vp9itxfm_neon.o from
19496 to 14740 bytes.

This gives a small slowdown of a couple of tens of cycles, but makes
it more feasible to add more optimized versions of these transforms.

Before:
vp9_inv_dct_dct_16x16_sub4_add_neon:    1036.7
vp9_inv_dct_dct_16x16_sub16_add_neon:   1372.2
vp9_inv_dct_dct_32x32_sub4_add_neon:    5180.0
vp9_inv_dct_dct_32x32_sub32_add_neon:   8095.7

After:
vp9_inv_dct_dct_16x16_sub4_add_neon:    1051.0
vp9_inv_dct_dct_16x16_sub16_add_neon:   1390.1
vp9_inv_dct_dct_32x32_sub4_add_neon:    5199.9
vp9_inv_dct_dct_32x32_sub32_add_neon:   8125.8

Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/aarch64/vp9itxfm_neon.S