I have two suggestions related to the parameters of GradientVectorPrewitt, GradientVectorScharr and GradientVectorSobel.
1. The functions are quite useful, for example in implementing non-linear diffusion functions that are not in IPP (Perona-Malik, Weickert and Charbonnier https://en.wikipedia.org/wiki/Anisotropic_diffusion). But the ippiGradientVector functions require that space is allocated for all return images: Gx, Gy, magnitude and angle. That is a waste of space and computing-time for return parameters that are not relevant for further calculations. For example, typically one may need magnitude only. So, I suggest that these functions permit return image parameters to be NULL.
2. Further calculations may need the square-magnitude rather than the magnitude. So, to save a square-root followed by a square, I suggest ippNormSquareL2.
Of course, I understand that these functions can be emulated with other IPP calls.
Regards,
Adriaan van Os