Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

Or

Performs bitwise inclusive OR operation between pixels of two source buffers.

Syntax

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

Include Files

ippi.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib

Parameters

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.

Description

This function 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.

Return Values

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.

Example

The code example below show how to use the function ippiOr_8u_C1R.

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