CoreFlow 1.0.0
A modern orchestration and execution runtime
Loading...
Searching...
No Matches
vx_khr_tiling.h File Reference

The Khronos Extension for User Tiling Functions. More...

#include <VX/vx.h>
#include <VX/vx_compatibility.h>

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 OPENVX_KHR_TILING   "vx_khr_tiling"
 
#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.
 

Detailed Description

The Khronos Extension for User Tiling Functions.

Macro Definition Documentation

◆ OPENVX_KHR_TILING

#define OPENVX_KHR_TILING   "vx_khr_tiling"