arm: vp9itxfm: Template the quarter/half idct32 function
authorMartin Storsjö <martin@martin.st>
Sun, 26 Feb 2017 12:02:35 +0000 (14:02 +0200)
committerMartin Storsjö <martin@martin.st>
Sun, 19 Mar 2017 20:53:22 +0000 (22:53 +0200)
commitb7a565fe71d16747209bd66955a54c9b54abc5dd
treeb5f07bb30485789cb3df8770123b36d7b5a0be31
parent54b19aaaeb3c908311605eb862d636315325dff1
arm: vp9itxfm: Template the quarter/half idct32 function

This reduces the number of lines and reduces the duplication.

Also simplify the eob check for the half case.

If we are in the half case, we know we at least will need to do the
first three slices, we only need to check eob for the fourth one,
so we can hardcode the value to check against instead of loading
from the min_eob array.

Since at most one slice can be skipped in the first pass, we can
unroll the loop for filling zeros completely, as it was done for
the quarter case before.

This allows skipping loading the min_eob pointer when using the
quarter/half cases.

This is cherrypicked from libav commit
98ee855ae0cc118bd1d20921d6bdb14731832462.

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