Browse Source

Try replicate CompareNotEqual with AdvSimd

pull/2400/head
Stefan Nikolei 3 years ago
parent
commit
5a079c0a74
  1. 2
      src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykArm64.cs

2
src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykArm64.cs

@ -80,7 +80,7 @@ internal abstract partial class JpegColorConverterBase
Vector128<float> ytmp = AdvSimd.Subtract(scale, Unsafe.Add(ref srcB, i));
Vector128<float> ktmp = AdvSimd.Min(ctmp, AdvSimd.Min(mtmp, ytmp));
Vector128<float> kMask = AdvSimd.CompareEqual(ktmp, scale);
Vector128<float> kMask = AdvSimd.Negate(AdvSimd.CompareEqual(ktmp, scale));
ctmp = AdvSimd.And(AdvSimd.Arm64.Divide(AdvSimd.Subtract(ctmp, ktmp), AdvSimd.Subtract(scale, ktmp)), kMask);
mtmp = AdvSimd.And(AdvSimd.Arm64.Divide(AdvSimd.Subtract(mtmp, ktmp), AdvSimd.Subtract(scale, ktmp)), kMask);

Loading…
Cancel
Save