Fix test failure on aarch64: ./tests/checkasm/checkasm --test=h264pred 479612 The mismatch between neon and C functions can also be reproduced using the following bitstream and command line. wget https://streams.videolan.org/ffmpeg/incoming/intra8x8pred_10bit.264 ./ffmpeg -cpuflags 0 -threads 1 -i intra8x8pred_10bit.264 -f framemd5 -y md5_ref ./ffmpeg -threads 1 -i intra8x8pred_10bit.264 -f framemd5 -y md5_neon
Showing the changes to libavcodec (1 of 1 file). Show all
Unified · Split
| @@ -595,12 +595,11 @@ function ff_pred8x8_plane_neon_10, export=1 · 594 unmodified lines | ||
| 595 | 595 | ssubl v2.4s, v2.4h, v3.4h |
| 596 | 596 | ext v0.16b, v0.16b, v0.16b, #14 |
| 597 | 597 | mov v0.h[0], wzr |
| 598 | − mul v0.8h, v0.8h, v5.h[0] | |
| 599 | 598 | dup v1.4s, v2.s[0] |
| 600 | 599 | dup v2.4s, v2.s[0] |
| 601 | 600 | dup v3.8h, v5.h[1] |
| 602 | − saddw v1.4s, v1.4s, v0.4h | |
| 603 | − saddw2 v2.4s, v2.4s, v0.8h | |
| 601 | + smlal v1.4s, v0.4h, v5.h[0] | |
| 602 | + smlal2 v2.4s, v0.8h, v5.h[0] | |
| 604 | 603 | mov w3, #8 |
| 605 | 604 | mvni v4.8h, #0xFC, lsl #8 // 1023 for clipping |
| 606 | 605 | 1: |