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.