Hello.
It seems the ipp 2018.3.210 contains a bug in the ippiWarpPerspectiveLinear_8u_C1R function.
The following sequence of code generates exception (Unhandled exception at 0x776DE9A3 (ntdll.dll) in blabla.exe: 0xC0000374: A heap has been corrupted (parameters: 0x77714270).) after last function call (all params are correct and the resulting image is also ok):
int specSize, buffSize; ippCheck(ippiWarpQuadGetSize( IppiSize(src.size()), srcQuad, IppiSize(dst.size()), dstQuad, ippWarpPerspective, ipp8u, ippLinear, ippBorderTransp, &specSize, &buffSize)); IppBuff<IppiWarpSpec> spec(specSize); ippCheck(ippiWarpQuadLinearInit( IppiSize(src.size()), srcQuad, IppiSize(dst.size()), dstQuad, ippWarpPerspective, ipp8u, 1, ippBorderTransp, 0, 0, spec.ptr())); IppBuff<Ipp8u> buffer(buffSize); ippCheck(ippiWarpPerspectiveLinear_8u_C1R( src.ptr(), (int)src.step, dst.ptr(), (int)dst.step, IppiPoint(), IppiSize(dst.size()), spec.ptr(), buffer.ptr()));