aarch64: vp8: Skip saturating in shrn in ff_vp8_idct_add_neon
authorMartin Storsjö <martin@martin.st>
Thu, 31 Jan 2019 22:00:58 +0000 (00:00 +0200)
committerMartin Storsjö <martin@martin.st>
Tue, 19 Feb 2019 09:46:24 +0000 (11:46 +0200)
The original arm version didn't do saturation here. This probably
doesn't make any difference for performance, but reduces the
differences.

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

index 139b380..cac4558 100644 (file)
@@ -92,8 +92,8 @@ function ff_vp8_idct_add_neon, export=1
         smull           v27.4s, v3.4h,  v4.h[0]
         sqdmulh         v20.4h, v1.4h,  v4.h[1]
         sqdmulh         v23.4h, v3.4h,  v4.h[1]
-        sqshrn          v21.4h, v26.4s, #16
-        sqshrn          v22.4h, v27.4s, #16
+        shrn            v21.4h, v26.4s, #16
+        shrn            v22.4h, v27.4s, #16
         add             v21.4h, v21.4h, v1.4h
         add             v22.4h, v22.4h, v3.4h
 
@@ -117,8 +117,8 @@ function ff_vp8_idct_add_neon, export=1
         st1             {v29.16b},  [x1]
         sqdmulh         v21.4h,     v1.4h,  v4.h[1]
         sqdmulh         v23.4h,     v3.4h,  v4.h[1]
-        sqshrn          v20.4h,     v26.4s, #16
-        sqshrn          v22.4h,     v27.4s, #16
+        shrn            v20.4h,     v26.4s, #16
+        shrn            v22.4h,     v27.4s, #16
         add             v20.4h,     v20.4h, v1.4h
         add             v22.4h,     v22.4h, v3.4h
         add             v16.4h,     v0.4h,  v2.4h