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

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

CRC24a, CRC24b, CRC24c

Computes the CRC24 checksum for the source data buffer.

Syntax

IppStatus ippsCRC24a_8u(Ipp8u* pSrc, int len, Ipp32u* pCRC24);

IppStatus ippsCRC24b_8u(Ipp8u* pSrc, int len, Ipp32u* pCRC24);

IppStatus ippsCRC24c_8u(Ipp8u* pSrc, int len, Ipp32u* pCRC24);

IppStatus ippsCRC24a_1u(Ipp8u* pSrc, int srcBitOffset, Ipp8u* pDst, int dstBitOffset, int bitLen);

IppStatus ippsCRC24b_1u(Ipp8u* pSrc, int srcBitOffset, Ipp8u* pDst, int dstBitOffset, int bitLen);

IppStatus ippsCRC24c_1u(Ipp8u* pSrc, int srcBitOffset, Ipp8u* pDst, int dstBitOffset, int bitLen);

Include Files

ippe.h

Domain Dependencies

ippcore.h

Libraries

ippe.lib

Parameters

pSrc

Pointer to the source data buffer.

srcBitOffset

Offset in bits from the source data buffer.

pDst

Pointer to the destination data buffer.

dstBitOffset

Offset in bits from the destination data buffer.

len

Number of elements in the source data buffer.

pCRC24

Pointer to the checksum value.

bitLen

Length of the input source vector, in bits.

Description

These functions compute the checksum for srcLen elements of the source data buffer pSrc using different polynomials and store it in the pCRC24 respectively. The following polynomial representations are used:

ippsCRC24a

X24 + X23 + X18 + X17 + X14 + X11 + X10 + X7 + X6 + X5 + X4 + X3 + X + 1

ippsCRC24b

X24 + X23 + X6 + X5 + X + 1

ippsCRC24c

X24 + X23 + X21 + X20 + X17 + X15 + X13 + X12 + X8 + X4 + X2 + X + 1

These functions can be used to compute the accumulated value of the checksum for multiple buffers in the data stream by specifying as an input parameter the checksum value obtained in the preceding function call.

ippsCRC24{a|b|c}_1u. These function flavors compute the checksum of vectors that have a 8u data type. It means that each byte consists of eight consecutive elements of the vector (1 bit per element). You need to specify the offsets from the source and destination vectors in the srcBitOffset and dstBitOffset parameters, respectively.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error if the pSrc pointer is NULL.

ippStsSizeErr

Indicates an error if the length of the source vector is less than or equal to 0.