CoreFlow 1.0.0
A modern orchestration and execution runtime
|
The Khronos Extension for User Tiling Functions. More...
Classes | |
struct | _vx_tile_block_size_t |
The User Tiling Function tile block size declaration. More... | |
struct | _vx_neighborhood_size_t |
The User Tiling Function Neighborhood declaration. More... | |
struct | _vx_image_description_t |
A structure which describes the tile's parent image. More... | |
struct | _vx_tile_t |
The tile structure declaration. More... | |
Macros | |
#define | VX_RESTRICT restrict |
A platform wrapper for the restrict keyword. | |
#define | VX_MAX_TILING_PLANES (4) |
The maximum number of planes in a tiled image. | |
#define | vxImageHeight(ptile) |
The full height of the tile's parent image in pixels. | |
#define | vxImageWidth(ptile) |
The full width of the tile's parent image in pixels. | |
#define | vxTileX(ptile) |
The offset between the left edge of the image and the left edge of the tile, in pixels. | |
#define | vxTileY(ptile) |
The offset between the top edge of the image and the top edge of the tile, in pixels. | |
#define | vxTileWidth(ptile, index) |
The width of the tile in pixels. | |
#define | vxTileHeight(ptile, index) |
The height of the tile in pixels. | |
#define | vxTileBlockHeight(ptile) |
The tile block height. | |
#define | vxTileBlockWidth(ptile) |
The tile block width. | |
#define | vxNeighborhoodLeft(ptile) |
The simple wrapper to access each image's neighborhood -X value. | |
#define | vxNeighborhoodRight(ptile) |
The simple wrapper to access each image's neighborhood +X value. | |
#define | vxNeighborhoodTop(ptile) |
The simple wrapper to access each image's neighborhood -Y value. | |
#define | vxNeighborhoodBottom(ptile) |
The simple wrapper to access each image's neighborhood +Y value. | |
#define | vxImageOffset(ptile, i, x, y, ox, oy) |
Computes the offset within an image. | |
#define | vxImagePixel(type, ptile, i, x, y, ox, oy) |
Accesses an image pixel as a type-cast indexed pointer dereference. | |
Typedefs | |
typedef struct _vx_tile_block_size_t | vx_tile_block_size_t |
The User Tiling Function tile block size declaration. | |
typedef struct _vx_neighborhood_size_t | vx_neighborhood_size_t |
The User Tiling Function Neighborhood declaration. | |
typedef struct _vx_image_description_t | vx_image_description_t |
A structure which describes the tile's parent image. | |
typedef struct _vx_tile_t | vx_tile_t |
The tile structure declaration. | |
typedef void(* | vx_tiling_kernel_f) (void *VX_RESTRICT parameters[VX_RESTRICT], void *VX_RESTRICT tile_memory, vx_size tile_memory_size) |
Tiling Kernel function typedef for User Tiling Kernels. | |
Enumerations | |
enum | vx_kernel_attribute_tiling_e { VX_KERNEL_INPUT_NEIGHBORHOOD = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x7 , VX_KERNEL_OUTPUT_TILE_BLOCK_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x8 , VX_KERNEL_BORDER = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x9 , VX_KERNEL_TILE_MEMORY_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0xA } |
The User Kernel Tiling Attributes. More... | |
enum | vx_node_attribute_tiling_e { VX_NODE_INPUT_NEIGHBORHOOD = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0xB , VX_NODE_OUTPUT_TILE_BLOCK_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0xC , VX_NODE_TILE_MEMORY_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0xD } |
The User Node Tiling Attributes. More... | |
enum | vx_border_tiling_e { VX_BORDER_MODE_SELF = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_BORDER) + 0x3 } |
The tiling border mode extensions. More... | |
Functions | |
VX_API_ENTRY vx_kernel VX_API_CALL | vxAddTilingKernel (vx_context context, vx_char name[VX_MAX_KERNEL_NAME], vx_enum enumeration, vx_tiling_kernel_f flexible_func_ptr, vx_tiling_kernel_f fast_func_ptr, vx_uint32 num_params, vx_kernel_input_validate_f input, vx_kernel_output_validate_f output) |
Allows a user to add a tile-able kernel to the OpenVX system. | |
The Khronos Extension for User Tiling Functions.
#define VX_MAX_TILING_PLANES (4) |
#include <vx_khr_tiling.h>
The maximum number of planes in a tiled image.
#define VX_RESTRICT restrict |
#include <vx_khr_tiling.h>
A platform wrapper for the restrict keyword.
#define vxImageHeight | ( | ptile | ) |
#include <vx_khr_tiling.h>
The full height of the tile's parent image in pixels.
[in] | ptile | The pointer to the vx_tile_t structure. |
#define vxImageOffset | ( | ptile, | |
i, | |||
x, | |||
y, | |||
ox, | |||
oy ) |
#include <vx_khr_tiling.h>
Computes the offset within an image.
[in] | ptile | The pointer to the vx_tile_t structure. |
[in] | i | The plane index. |
[in] | x | The Width Coordinates. |
[in] | y | The Height Coordinates. |
[in] | ox | The X offset. |
[in] | oy | The Y offset. |
#define vxImagePixel | ( | type, | |
ptile, | |||
i, | |||
x, | |||
y, | |||
ox, | |||
oy ) |
#include <vx_khr_tiling.h>
Accesses an image pixel as a type-cast indexed pointer dereference.
[in] | type | The type of the image pixel. Example values are vx_uint8 , vx_uint16 , vx_uint32 , etc. |
[in] | ptile | The pointer to the vx_tile_t structure. |
[in] | i | The plane index. |
[in] | x | The Center Pixel in Width Coordinates. |
[in] | y | The Center Pixel in Height Coordinates. |
[in] | ox | The X offset. |
[in] | oy | The Y offset. |
#define vxImageWidth | ( | ptile | ) |
#include <vx_khr_tiling.h>
The full width of the tile's parent image in pixels.
[in] | ptile | The pointer to the vx_tile_t structure. |
#define vxNeighborhoodBottom | ( | ptile | ) |
#include <vx_khr_tiling.h>
The simple wrapper to access each image's neighborhood +Y value.
[in] | ptile | The pointer to the vx_tile_t structure. |
#define vxNeighborhoodLeft | ( | ptile | ) |
#include <vx_khr_tiling.h>
The simple wrapper to access each image's neighborhood -X value.
[in] | ptile | The pointer to the vx_tile_t structure. |
#define vxNeighborhoodRight | ( | ptile | ) |
#include <vx_khr_tiling.h>
The simple wrapper to access each image's neighborhood +X value.
[in] | ptile | The pointer to the vx_tile_t structure. |
#define vxNeighborhoodTop | ( | ptile | ) |
#include <vx_khr_tiling.h>
The simple wrapper to access each image's neighborhood -Y value.
[in] | ptile | The pointer to the vx_tile_t structure. |
#define vxTileBlockHeight | ( | ptile | ) |
#include <vx_khr_tiling.h>
The tile block height.
[in] | ptile | The pointer to the vx_tile_t structure. |
#define vxTileBlockWidth | ( | ptile | ) |
#include <vx_khr_tiling.h>
The tile block width.
[in] | ptile | The pointer to the vx_tile_t structure. |
#define vxTileHeight | ( | ptile, | |
index ) |
#include <vx_khr_tiling.h>
The height of the tile in pixels.
[in] | ptile | The pointer to the vx_tile_t structure. |
[in] | index | The plane index. |
#define vxTileWidth | ( | ptile, | |
index ) |
#include <vx_khr_tiling.h>
The width of the tile in pixels.
[in] | ptile | The pointer to the vx_tile_t structure. |
[in] | index | The plane index. |
#define vxTileX | ( | ptile | ) |
#include <vx_khr_tiling.h>
The offset between the left edge of the image and the left edge of the tile, in pixels.
[in] | ptile | The pointer to the vx_tile_t structure. |
#define vxTileY | ( | ptile | ) |
#include <vx_khr_tiling.h>
The offset between the top edge of the image and the top edge of the tile, in pixels.
[in] | ptile | The pointer to the vx_tile_t structure. |
typedef struct _vx_image_description_t vx_image_description_t |
#include <vx_khr_tiling.h>
A structure which describes the tile's parent image.
typedef struct _vx_neighborhood_size_t vx_neighborhood_size_t |
#include <vx_khr_tiling.h>
The User Tiling Function Neighborhood declaration.
The author of a User Tiling Kernel will use this structure to define the neighborhood surrounding the tile block.
typedef struct _vx_tile_block_size_t vx_tile_block_size_t |
#include <vx_khr_tiling.h>
The User Tiling Function tile block size declaration.
The author of a User Tiling Kernel will use this structure to define the dimensionality of the tile block.
typedef struct _vx_tile_t vx_tile_t |
#include <vx_khr_tiling.h>
The tile structure declaration.
typedef void(* vx_tiling_kernel_f) (void *VX_RESTRICT parameters[VX_RESTRICT], void *VX_RESTRICT tile_memory, vx_size tile_memory_size) |
#include <vx_khr_tiling.h>
Tiling Kernel function typedef for User Tiling Kernels.
[in] | parameters | The array abstract pointers to parameters. |
[in] | tile_memory | The local tile memory pointer if requested, otherwise NULL. |
[in] | tile_memory_size | The size of the local tile memory, if not requested, 0. |
enum vx_border_tiling_e |
#include <vx_khr_tiling.h>
The tiling border mode extensions.
Enumerator | |
---|---|
VX_BORDER_MODE_SELF | This value indicates that the author of the tiling kernel wrote code to handle border conditions into the kernel itself. If this mode is set, it can not be overriden by a call to the vxSetNodeAttribute with VX_NODE_BORDER. |
#include <vx_khr_tiling.h>
The User Kernel Tiling Attributes.
#include <vx_khr_tiling.h>
The User Node Tiling Attributes.
VX_API_ENTRY vx_kernel VX_API_CALL vxAddTilingKernel | ( | vx_context | context, |
vx_char | name[VX_MAX_KERNEL_NAME], | ||
vx_enum | enumeration, | ||
vx_tiling_kernel_f | flexible_func_ptr, | ||
vx_tiling_kernel_f | fast_func_ptr, | ||
vx_uint32 | num_params, | ||
vx_kernel_input_validate_f | input, | ||
vx_kernel_output_validate_f | output ) |
#include <vx_khr_tiling.h>
Allows a user to add a tile-able kernel to the OpenVX system.
[in] | context | The handle to the implementation context. |
[in] | name | The string to be used to match the kernel. |
[in] | enumeration | The enumerated value of the kernel to be used by clients. |
[in] | flexible_func_ptr | The process-local flexible function pointer to be invoked. |
[in] | fast_func_ptr | The process-local fast function pointer to be invoked. |
[in] | num_params | The number of parameters for this kernel. |
[in] | input | The pointer to a function which will validate the input parameters to this kernel. |
[in] | output | The pointer to a function which will validate the output parameters to this kernel. |
vxAddParameterToKernel
for as many parameters as the function has, then call vxFinalizeKernel
. 0 | Indicates that an error occurred when adding the kernel. Note that the fast or flexible formula, but not both, can be NULL. |