Repository navigation
highbd_sad_sse2.asm: fix XMM register count for sad_skip - #5474
Conversation
|
Marking as draft until CLA is signed. |
|
Hi @urvangjoshi, I signed the AOM Individual CLA on October 2 and received the DocuSign confirmation that all parties had completed signing. However, this PR still has the Could you please check whether my CLA is correctly associated with my GitHub account ( |
Thanks for taking care of the CLA! |
4b9195d to
f35fe15
Compare
f35fe15 to
5d7549d
Compare
|
Hi @urvangjoshi, I amended the commit to use the same email address as my signed CLA and force-pushed it. I also checked that the email and GitHub username in the CLA are correct, but the CLA check still seems to be failing. |
There is a manual step involved to whitelist the email. I just made that update, so CLA label is now green. |
|
@jjustiss-apple : pls review. |
|
LGTM on inspection. I'm not able to cross check as I don't have a windows setup. Thanks for the fix @Z3n1th-1 ! |
5d7549d to
557b0aa
Compare
The skip-row declarations in HIGH_SAD_FN hard-code the XMM register count to 7. HIGH_SAD8XN passes 8 and uses xmm7, so the generated functions fail to preserve this nonvolatile register on Win64. This can corrupt the caller's state and cause encoder crashes.
Use the fifth macro argument (%5) in both skip-row declarations, matching the normal and average SAD declarations. Other block widths retain their default count of 7. The SAD calculations are unchanged.
Equivalent to James Zern's libaom fix from 2021.
Manually tested on Windows 11 x64 with MSYS2 CLANG64: a previously crashing 1080p 10-bit single-frame encode completed with IntraBC enabled. A complete 72-frame 856x480 encode produced a byte-identical IVF file compared with the original build. The unit-test suite was not run.