Performs bitwise inclusive OR operation between pixels of two source buffers.
Case 1: Not-in-place operation
IppStatus ippiOr_<mod>(const Ipp<datatype>* pSrc1, int src1Step, const Ipp<datatype>* pSrc2, int src2Step, Ipp<datatype>* pDst, int dstStep, IppiSize roiSize);
Supported values for mod:
8u_C1R |
16u_C1R |
32s_C1R |
8u_C3R |
16u_C3R |
32s_C3R |
8u_C4R |
16u_C4R |
32s_C4R |
8u_AC4R |
16u_AC4R |
32s_AC4R |
Case 2: In-place operation
IppStatus ippiOr_<mod>(const Ipp<datatype>* pSrc, int srcStep, Ipp<datatype>* pSrcDst, int srcDstStep, IppiSize roiSize);
Supported values for mod:
8u_C1IR |
16u_C1IR |
32s_C1IR |
8u_C3IR |
16u_C3IR |
32s_C3IR |
8u_C4IR |
16u_C4IR |
32s_C4IR |
8u_AC4IR |
16u_AC4IR |
32s_AC4IR |
pSrc, pSrc1, pSrc2 |
Pointers to the source images ROI. |
srcStep, src1Step, src2Step |
Distances in bytes between starts of consecutive lines in the source images. |
pDst |
Pointer to the destination image ROI. |
dstStep |
Distance in bytes between starts of consecutive lines in the destination image. |
pSrcDst |
Pointer to the source and destination image ROI for the in-place operation. |
srcDstStep |
Distance in bytes between starts of consecutive lines in the source and destination image for the in-place operation. |
roiSize |
Size of the source and destination ROI in pixels. |
The function ippiOr is declared in the ippi.h file. It operates with ROI (see Regions of Interest in Intel IPP).
This function performs a bitwise inclusive OR operation between the values of corresponding pixels of two source image ROIs, and writes the result into a destination image ROI. Note that the functions with the AC4 descriptor do not process alpha channels.
Example “Using the Function ippiOr” show how to use the function ippiOr_8u_C1R.
ippStsNoErr |
Indicates no error. Any other value indicates an error or a warning. |
ippStsNullPtrErr |
Indicates an error condition if one of the specified pointers is NULL. |
ippStsSizeErr |
Indicates an error condition if roiSize has a field with zero or negative value. |
ippStsStepErr |
Indicates an error condition if any of the specified buffer step values is zero or negative. |
void func_or() { IppiSize Src1ROI = {8,4}; IppiSize Src2ROI = {8,4}; IppiSize DstROI = {5,4}; Ipp8u src1[8*4]; Ipp8u src2[8*4]; Ipp8u dst[8*4]; ippiSet_8u_C1R(0,dest,8,Src1ROI); ippiSet_8u_C1R(5,src1,8,Src1ROI); ippiSet_8u_C1R(6,src2,8,Src2ROI); ippiOr_8u_C1R(src1,8,src2,8,dst,8,DstROI); }
Result:
src1 src2 dst
05 05 05 05 05 05 05 05 06 06 06 06 06 06 06 06 07 07 07 07 07 00 00 00
05 05 05 05 05 05 05 05 06 06 06 06 06 06 06 06 07 07 07 07 07 00 00 00
05 05 05 05 05 05 05 05 06 06 06 06 06 06 06 06 07 07 07 07 07 00 00 00
05 05 05 05 05 05 05 05 06 06 06 06 06 06 06 06 07 07 07 07 07 00 00 00
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.