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

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

Data Types

The datatype field indicates data types used by the function, in the following format:

<bit depth><bit interpretation> ,

where

bit depth = <1|8|16|32|64>

and

bit interpretation = <u|s|f>[c]

Here u indicates “unsigned integer”, s indicates “signed integer”, f indicates “floating point”, and c indicates “complex”.

Intel IPP supports the following data types for image and video processing functions:

8u

8 bit, unsigned data

8s

8 bit, signed data

16u

16 bit, unsigned data

16uc

16-bit, complex unsigned short data

16s

16 bit, signed data

16sc

16-bit, complex short data

32u

32 bit, unsigned data

32s

32 bit, signed data

32sc

32-bit, complex int data

32f

32-bit, single-precision real floating point data

32fc

32-bit, single-precision complex floating point data

64s

64-bit, quadword signed data

64f

64-bit, double-precision real floating point data

- only partial support for intermediate result after transforms (in the so-called “time” domain).

NOTE:

For image processing functions that do not support 1u data type, convert bitonal images to 8u gray scale images using the ippiConvert_1u8u_C1R function.

The formats for complex data are represented in Intel IPP by structures defined as follows:

typedef struct {     Ipp16s re;     Ipp16s im; } Ipp16sc;
typedef struct {     Ipp32s re;     Ipp32s im; } Ipp32sc;
typedef struct {     Ipp32f re;     Ipp32f im; } Ipp32fc;

where re, im denote the real and imaginary parts, respectively.

Complex data formats are used by several arithmetic image processing functions. The 32fc format is also used to store input/output data in some Fourier transform functions.

The 64-bit formats, 64s and 64f, are used for storing data computed by some image statistics functions.

For functions that operate on a single data type, the datatype field contains only one of the values listed above.

If a function operates on source and destination images that have different data types, the respective data type identifiers are listed in the function name in order of source and destination as follows:

<datatype> = <src1Datatype>[src2Datatype][dstDatatype]

For example, the function that converts 8-bit unsigned source image data to 32-bit floating point destination image data has the 8u32f value for the datatype field.

NOTE:

In the lists of function parameters (arguments), the Ipp prefix is written in the data type. For example, the 8-bit unsigned data is denoted as Ipp8u type. These Intel IPP-specific data types are defined in the respective library header files.