Visible to Intel only — GUID: GUID-CC3D51E8-4147-4CA2-A96F-757230266F09
Visible to Intel only — GUID: GUID-CC3D51E8-4147-4CA2-A96F-757230266F09
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
);
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.
);
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
);