API Quick Reference Guide

  • 2020
  • 09/30/2019
  • Public Content
Contents

Pipeline Tiling API

iwiTilePipeline_Init

Initializes a pipeline tiling root node for the
IwiTile
structure.
IW_DECL(IppStatus) iwiTilePipeline_Init( IwiTile *pTile, // [in] Pointer to IwiTile structure IwiSize tileSizeMax, // [in] Maximum tile size for intermediate buffers size calculation IwiSize dstImageSize, // [in] Destination image size for current operation const IwiBorderType *pBorderType, // [in] Border type for the current operation. NULL if operation doesn't have a border const IwiBorderSize *pBorderSize, // [in] Border size for the current operation. NULL if operation doesn't have a border const IwiTileTransform *pTransformStruct // [in] Initialized transform structure if operation performs geometric transformation. NULL if operation doesn't perform transformation );

iwiTilePipeline_InitChild

Initializes a pipeline tiling child node for the
IwiTile
structure.
IW_DECL(IppStatus) iwiTilePipeline_InitChild( IwiTile *pTile, // [in] Pointer to IwiTile structure IwiTile *pParent, // [in] Pointer to IwiTile structure of previous operation const IwiBorderType *pBorderType, // [in] Border type for the current operation. NULL if operation doesn't have a border const IwiBorderSize *pBorderSize, // [in] Border size for the current operation. NULL if operation doesn't have a border const IwiTileTransform *pTransformStruct // [in] Initialized transform structure if operation performs geometric transformation. NULL if operation doesn't perform transformation );

iwiTilePipeline_InitChild

Releases allocated data from the
IwiTile
structure.
IW_DECL(void) iwiTilePipeline_Release( IwiTile *pTile // [in] Pointer to IwiTile structure );

iwiTilePipeline_GetDstBufferSize

Returns the size of the pipeline tiling intermediate buffer.
IW_DECL(IppStatus) iwiTilePipeline_GetDstBufferSize( const IwiTile *pTile, // [in] Pointer to IwiTile structure IwiSize *pDstSize // [out] Minimal required size of destination intermediate buffer );

iwiTilePipeline_SetRoi

Sets current tile rectangle for the pipeline to process.
IW_DECL(IppStatus) iwiTilePipeline_SetRoi( IwiTile *pTile, // [in] Pointer to IwiTile structure IwiRoi tileRoi // [in] Tile offset and size );

iwiTilePipeline_BuildBorder

This function builds the border for the current tile source buffer. This enables passing only InMem borders to the function, thus reducing possiblity of border conflicts on image boundary.
By default, this function is not applied to the first image in the pipeline, it is applied only to intermediate buffers, but it can be used manually to construct the border for it as well.
IW_DECL(IppStatus) iwiTilePipeline_BuildBorder( const IwiTile *pTile, // [in] Pointer to the IwiTile structure for the current tile IwiImage *pSrcImage, // [in,out] Pointer to the source image for which the border is built IwiBorderType *pBorder, // [in,out] Extrapolation algorithm for out of image pixels. Updated InMem flags will be returned here. const Ipp64f *pBorderVal // [in] Pointer to array of border values for ippBorderConst. One element for each channel. Can be NULL for any other border. );

iwiTilePipeline_GetTileBorder

Calculates actual border parameter with
InMem
flags for the current tile absolute and relative offsets and sizes.
IW_DECL(IppStatus) iwiTilePipeline_GetTileBorder( const IwiTile *pTile, // [in] Pointer to the IwiTile structure IwiBorderType *pBorder // [in,out] Pointer to the border type, actual tile border will be written here. );

iwiTilePipeline_GetBoundedSrcRect

Checks for image and buffer boundaries for the source buffer and limits tile rectangle.
IW_DECL(IppStatus) iwiTilePipeline_GetBoundedSrcRoi( const IwiTile *pTile, // [in] Pointer to IwiTile structure IwiRoi *pBoundedRoi // [out] Pointer to ROI adjusted to source buffer boundaries );

iwiTilePipeline_GetBoundedDstRect

Checks for image and buffer boundaries for the destination buffer and limits tile rectangle.
IW_DECL(IppStatus) iwiTilePipeline_GetBoundedDstRoi( const IwiTile *pTile, // [in] Pointer to the IwiTile structure IwiRoi *pBoundedRoi // [out] Pointer to ROI adjusted to destination buffer boundaries );

iwiTilePipeline_GetMinTileSize

Returns minimal acceptable tile size of the current pipeline.
IW_DECL(IppStatus) iwiTilePipeline_GetMinTileSize( const IwiTile *pTile, // [in] Pointer to the IwiTile structure IwiSize *pMinTileSize // [out] Pointer to the minimal tile size for the current pipeline );

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