Ipp32f* src = ippsMalloc_32f(width * hieght);
int srcStep = width * sizeof(Ipp32f);
IppiSize srcRoi = { width, height };
//populate the array with floats
int dstX = width + 4;
int dstY = height + 4;
Ipp32f* dst = ippsMalloc_32f(dstX * dstY);
IppiSize dstRoi = { dstX, dstY };
int dstStep = dstX * sizeof(Ipp32f);
int topBorderHeight = 2;
int leftBorderWidth = 2;
IppStatus boxStatus = ippiCopyReplicateBorder_32f_C1R(src, srcStep, srcRoi, dst, dstStep, dstRoi, topBorderHeight, leftBorderWidth);
//handle errors if any
int dstBorderedStep = dstRoi.width * sizeof(Ipp32f);
IppiSize maskSize{ 3, 3 };
IppiPoint anchor{ 1, 1 };
boxStatus = ippiFilterBox_32f_C1R(dst + dstX * 2 + anchor.x + anchor.y, dstBorderedStep, src, srcStep, srcRoi, maskSize, anchor);
The filtered result has three or four horizontal lines that divide the image into three or four parts.
Where in the code should I change to fix the issue?