all geometric transform functions (except those which perform inverse warping operations) handle ROIs with the following sequence of operations:
- transform the rectangular ROI of the source image to quadrangle in the destination image;
- find the intersection of this quadrangle and the rectangular ROI of the destination image;
- update the destination image in the intersection area.
ippiResizeSqrPixel does not look the filter function. For filter function, user need to handle the the border extension. ippiResizeSqrPixel will consider the border internally, and users does not need to extend these data.
I am checking with the function owner on why it needs interpolation in ippiGetResizeRect function, and hopefully provide more information here.
The parameter interpolation can affect the size of destination rectangle because there are edge smoothing features in resize functionality - IPPI_SMOOTH_EDGE and IPPI_SUBPIXEL_EDGE in addition to one of the general interpolating mode.
For example you can see the difference with interpolation == IPPI_INTER_LINEAR and with interpolation ==(IPPI_INTER_LINEAR | IPPI_SUBPIXEL_EDGE)