Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
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).
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.
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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804