You could use IPP threshold_LT & GT function, for instance:
ippsThreshold_LT_32s(pSrc, pDst, len, -1); //replace all value with -1, if <-1 ippsThreshold_GT_32s(pSrc, pDst, len, 1); //otherwise set to 1
Hope it would be useful to you.
another, may be the fastest, method is to use ippsRShiftC functions - just cast pointers as (Ipp32s*) and shift on 31:
IPPAPI(IppStatus, ippsRShiftC_32s, (const Ipp32s* pSrc, int val, Ipp32s* pDst, int len))
and then in-place ippsOrC with 1 (cast pointers as Ipp32u):
IPPAPI(IppStatus, ippsOrC_32u_I, ( Ipp32u val, Ipp32u* pSrcDst, int len))