Fix overflow issue in 32x32 idct NEON intrinsics
authorLinfeng Zhang <linfengz@google.com>
Tue, 14 Mar 2017 16:31:52 +0000 (09:31 -0700)
committerLinfeng Zhang <linfengz@google.com>
Tue, 14 Mar 2017 23:59:14 +0000 (16:59 -0700)
commitc756eb01c89852d55d6bfebd067d64582fef9113
tree28a73698ebd3936d7e7c513b82a9d887ea17e62c
parent1b91f4193554d52c2851cfde8625b82c4ffe942b
Fix overflow issue in 32x32 idct NEON intrinsics

Similar issue as Change bc1c18e.

The PartialIDctTest.ResultsMatch test on vpx_idct32x32_135_add_neon()
in high bit-depth mode exposes 16-bit overflow in final stage of pass
2, when changing the test number from 1,000 to 1,000,000.

Change to use saturating add/sub for vpx_idct32x32_34_add_neon(),
vpx_idct32x32_135_add_neon and vpx_idct32x32_1024_add_neon() in high
bit-depth mode.

Change-Id: Iaec0e9aeab41a3fdb4e170d7e9b3ad1fda922f6f
vpx_dsp/arm/idct32x32_135_add_neon.c
vpx_dsp/arm/idct32x32_34_add_neon.c
vpx_dsp/arm/idct32x32_add_neon.c
vpx_dsp/arm/idct_neon.h