For downsample I am trying to use ippiResizeSqrPixel_8u_C1R(IPP 6.1.2) and SUPER (because other scalealgorithms have very poor quality in downscaling). This works well except for a few cases. One specific case is where I need to resize horizontally or vertically but not in the other. For example, 640x240 to 320x240. When either the x or y factor is 1.0 and using the IPPI_INTER_SUPER ippiResizeSqrPixel_8u_C1R returns error ippStsResizeFactorErr.
Please look at the documentation http://software.intel.com/sites/products/documentation/hpc/ipp/chm/ippiman.chm
Appendix B (Super Sampling): "Note that supersampling interpolation can be used only for xFactor<1 and yFactor<1"
I advise you to use the function ippiSuperSampling_8u_C1R for down-sampling. It has simple interface and faster than ippiResizeSqrPixel_8u_C1R for SS method.
const Ipp8u* pSrc, int srcStep, IppiSize srcRoiSize,
Ipp8u* pDst, int dstStep, IppiSize dstRoiSize,
The documentation states that xFactor and yFactor should be less than one but given the algorithm used for super sampling, it should work also with a factor 1.0
I think that this could be considered as a bug since the algorithm itself accepts 1.0 as a factor.
I've added a feature request to include the ability to use a 1.0 scale factor for these functions in the future. Please note that this is not a guarantee that such features will be added.