Function Naming and Parameters

Function names in Intel IPP use naming conventions to help you identify the different functions.

Intel IPP function names include a number of fields that indicate the data domain, operation, data type, and execution mode. Each field has a fixed number of pre-defined values.

Function names use the following format:

         ipp<data-domain><name>[_<datatype>][_<descriptor>](<parameters>);

The elements of this format are explained in the sections that follow:

               Data-Domain

               Name

               Data Types

               Descriptor

               Parameters

Data-Domain

The data-domain is a single character indicating type of the input data. The current version of Intel IPP supports the following data-domains:

         s

for signals (expected data type is a 1D array)

         g

for signals of the fixed length (expected data type is a 1D array)

         i

for images and video (expected data type is a 2D array of pixels)

         m

for vectors and matrices (expected data type is a matrix or vector)

         r

for realistic rendering functionality and 3D data processing (expected data type depends on supported rendering techniques)

The core functions in Intel IPP do not operate on one of these types of the input data (see Core Functions). These functions have ipp as a prefix without the data-domain field, for example, ippGetStatusString.

Name

The name identifies the algorithm or operation that the function does. It has the following format:

         <name> = <operation>[_modifier]

The operation field is one or more words, acronyms, and abbreviations that identify the base operation, for example Set, DCTFwd. If the operation consists of several parts, each part starts with an uppercase character without underscore, for example, HilbertInitAlloc.

The modifier, if present, denotes a slight modification or variation of the given function. For example, the modifier CToC in the function ippsFFTInv_CToC_32fc signifies that the inverse fast Fourier transform operates on complex data, performing complex-to-complex (CToC) transform. Functions for matrix operation have and object type description as a modifier, for example, ippmMul_mv - multiplication of a matrix by a vector.

Data Types

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

         <datatype> = <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".

For functions that operate on a single data type, the datatype field contains only one value.

If a function operates on source and destination objects 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 ippsDotProd_16s16sc computes the dot product of 16-bit short and 16-bit complex short source vectors and stores the result in a 16-bit complex short destination vector. The dstDatatype modifier is not present in the name because the second operand and the result are of the same type.

Descriptor

The optional descriptor field describes the data associated with the operation. It can contain implied parameters and/or indicate additional required parameters.

To minimize the number of code branches in the function and thus reduce potentially unnecessary execution overhead, most of the general functions are split into separate primitive functions, with some of their parameters entering the primitive function name as descriptors.

However, general functions with large number of permutations may still have parameters that determine internal operation (for example, ippiThreshold).

The following descriptors are used in Intel IPP:

A

Image data contains an alpha channel as the last channel, requires C4 descriptor, the alpha channel is not processed.

A0

Image data contains an alpha channel as the first channel, requires C4 descriptor, the alpha channel is not processed.

Axx

Advanced arithmetic operations with xx bits of accuracy.

C

The function operates on a specified channel of interest (COI) for each source image.

Cn

Image data is made of n discrete interleaved channels (n = 1, 2, 3, 4)

Dx

Signal is x -dimensional (default is D1)

I

Operation is performed in-place (default is not-in-place).

L

For signal processing indicates that one pointer is used for each row in two-dimensional array.

For matrix operation: function with layout description of the objects.

M

Operation uses a mask to determine the pixels to be processed.

P

F or signal processing: specified number of vectors to be processed.

For matrix operation: function with pointer description of the objects.

Pn

Image data is made of n discrete planar (non-interleaved) channels (n= 1, 2, 3, 4) with a separate pointer to each plane.

R

Function operates on a defined region of interest (ROI) for each source image.

S

Function with standard description of the objects (for matrix operation)

s

Saturation and no scaling mode (default mode)

Sfs

Saturation and fixed scaling mode.

The descriptors in function names are always presented in alphabetical order.

Some data descriptors are implied as "default" for certain operations. Such descriptors are not added to the function names. For example, the image processing functions always operate on a two-dimensional image and saturate the results without scaling them. In these cases, the implied descriptors D2 (two-dimensional signal) and s (saturation and no scaling) are not included in the function name.

Parameters

The parameters field specifies the function parameters (arguments).

The order of parameters is as follows:


  1. All source operands. Constants follow arrays

  2. All destination operands. Constants follow arrays

  3. Other, operation-specific parameters

The parameter's name has the following conventions:

Examples of function syntax:


Submit feedback on this help topic

Copyright © 2008 - 2010, Intel Corporation. All rights reserved.