I have an implementation for Image Warp using the ippiWarpAffineLinear and related set up functions. The implementation works great and gives the right results.
But, I get a difference in results between when-
- input is aligned to 64.
- unaligned input.
This is *not* seen with the ippiWarpAffineNearest symbol.
I have attached the warped image and the diff'ed warped image between aligned and unaligned input.
Here are the questions that I have-
- Does the ippiWarpAffineLinear expect memory aligned inputs?
- If not, is this mismatch in results a known issue?
- If it is a known issue, is there a workaround (other than making a aligned copy of the input image)?
A few more specific of the implementation-
borderType = ippBorderConst
WarpDirection = ippWarpForward
FillValues = 0
dataType = uint8
Let me know if I can provide more information.
Normally while you using ippsMalloc/ ippiMalloc, the memory will be aligned to 64 bytes. But we do not required must to align memory, you could choose to use malloc without alignment. It might be some a difference just with some byte, normally you could find the difference hardly. But seems in your test case, the whole image has been changed. It is unusual. I tried with your description, but could not find any difference between aligned input & non-aligned input. could you please provide a test case & tell me your ipp version & system environment. Thank you.