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

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

CRC16

Computes the CRC16 checksum for the source data buffer.

Syntax

IppStatus ippsCRC16_8u(Ipp8u* pSrc, int len, Ipp32u* pCRC16);

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

Include Files

ippe.h

Domain Dependencies

ippcore.h

Libraries

ippcore.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.

pCRC16

Pointer to the checksum value.

bitLen

Length of the input source vector, in bits.

Description

This function computes the checksum for srcLen elements of the source data buffer pSrc and stores it in the pCRC16 respectively. The following polynomial representation is used:

x16 + X12 + X5 + X + 1

ippsCRC16_1u. This function flavor computes the CRC16 checksum of a vector that has 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 data buffers in the srcBitOffset and dstBitOffset parameters, respectively.

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

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.