Visible to Intel only — GUID: GUID-F9B53F53-533C-4A25-AAF3-5D3EB254EDBD
Image Processing Structures
IwiImage
The IwiImage is a base structure for IW image processing functions. This structure stores input and output data.
typedef struct _IwiImage
{
void *m_pBuffer; // Pointer to the image buffer. Should NULL for any external buffer.
void *m_ptr; // Pointer to the start of actual image data.
IwSize m_step; // Distance, in bytes, between the starting points of consecutive lines in the source image memory.
IwiSize m_size; // Image size, in pixels.
IppDataType m_dataType; // Image pixel type.
int m_typeSize; // Size of image pixel type, in bytes.
int m_channels; // Number of image channels.
IwiBorderSize m_inMemSize; // Memory border size around image data.
} IwiImage;
IwiTile
The IwiTile structure is a main structure for semi-automatic tiling operations. This structure provides main context for tiling across IW API and contains mostly values for complex pipelines tiling.
typedef struct _IwiTile
{
IwiRoi m_srcRoi; // Absolute ROI for the source image
IwiRoi m_dstRoi; // Absolute ROI for the destination image
IwiPoint m_untaintSrcPos; // Absolute unaligned source ROI position
IwiPoint m_untaintDstPos; // Absolute unaligned destination ROI position
IwiRoi m_boundSrcRoi; // Relative ROI for the source image bounded to the buffer
IwiRoi m_boundDstRoi; // Relative ROI for the destination image bounded to the buffer
IwiSize m_srcBufferSize; // Actual source buffer size
IwiSize m_dstBufferSize; // Actual destination buffer size
IwiSize m_srcImageSize; // Full source image size
IwiSize m_dstImageSize; // Full destination image size
IwiSize m_srcExImageSize; // Source image size extended on parent InMem border size
IwiSize m_dstExImageSize; // Destination image size extended on parent InMem border size
IwiSize m_maxTileSize; // Maximum tile size
IwiBorderType m_borderType; // Type of source image border
IwiBorderSize m_borderSize; // Border required for the current operation
IwiBorderSize m_borderSizeAcc; // Accumulated border size for current and parent operations
IwiBorderSize m_externalMem; // Amount of memory required to process InMem border for current edge tile
IwiBorderSize m_externalMemAcc; // Amount of memory required to process InMem border for all edge tiles
IwiTileTransform m_transformStruct; // Transformation proxy functions and data structure
int m_initialized; // Internal initialization states
struct _IwiTile *m_pChild; // Next Tile in the pipeline
struct _IwiTile *m_pParent; // Previous Tile in the pipeline
} IwiTile;
IwiBorderSize
The IwiBorderSize structure stores border sizes for image processing functions.
typedef struct {
IwSize left;
IwSize top;
IwSize right;
IwSize bottom;
} IwiBorderSize;
_IwiChDescriptor
The special channel descriptor _IwiChDescriptor specifies how to process non-standard channels configurations.
- If the descriptor is not supported, the library returns an error.
- If the descriptor is for different channels number, the library ignores it.
typedef enum _IwiChDescriptor
{
iwiChDesc_None = 0, // Process all channels
// C4 descriptors
iwiChDesc_C4M1110 = 0x00004007, // Process only the first 3 channels as RGB. Equivalent to AC4 functions from the main Intel(R) IPP library.
iwiChDesc_C4M1000 = 0x00004001, // Process only the first channel as gray-scale.
iwiChDesc_C4M1001 = 0x00004009, // Process only the first channel and the last channel as gray-scale with alpha.
iwiChDesc_C4M1XX0 = 0x00064001, // Process only the first channel as gray-scale and replicate it to remaining color channels.
iwiChDesc_C4M1XX1 = 0x00064009 // Process only the first channel and the last channel as gray-scale with alpha and replicate gray-scale to remaining color channels.
} IwiChDescriptor;
Parent topic: Image Processing