CoreFlow 1.0.0
A modern orchestration and execution runtime
Loading...
Searching...
No Matches
User Facing Kernel API

The Public Kernel API. More...

Classes

struct  _vx_kernel_info_t
 The Kernel Information Structure. This is returned by the Context to indicate which kernels are available in the OpenVX implementation. More...
 

Macros

#define VX_MAX_KERNEL_NAME   (256)
 Defines the length of a kernel name string to be added to OpenVX, including the trailing zero.
 

Typedefs

typedef struct Kernel * vx_kernel
 An opaque reference to the descriptor of a kernel.
 
typedef struct _vx_kernel_info_t vx_kernel_info_t
 The Kernel Information Structure. This is returned by the Context to indicate which kernels are available in the OpenVX implementation.
 

Enumerations

enum  vx_library_e { VX_LIBRARY_KHR_BASE = 0x0 }
 The standard list of available libraries. More...
 
enum  vx_kernel_e {
  VX_KERNEL_COLOR_CONVERT = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x1 ,
  VX_KERNEL_CHANNEL_EXTRACT = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x2 ,
  VX_KERNEL_CHANNEL_COMBINE = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x3 ,
  VX_KERNEL_SOBEL_3x3 = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x4 ,
  VX_KERNEL_MAGNITUDE = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x5 ,
  VX_KERNEL_PHASE = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x6 ,
  VX_KERNEL_SCALE_IMAGE = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x7 ,
  VX_KERNEL_TABLE_LOOKUP = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x8 ,
  VX_KERNEL_HISTOGRAM = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x9 ,
  VX_KERNEL_EQUALIZE_HISTOGRAM = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0xA ,
  VX_KERNEL_ABSDIFF = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0xB ,
  VX_KERNEL_MEAN_STDDEV = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0xC ,
  VX_KERNEL_THRESHOLD = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0xD ,
  VX_KERNEL_INTEGRAL_IMAGE = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0xE ,
  VX_KERNEL_DILATE_3x3 = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0xF ,
  VX_KERNEL_ERODE_3x3 = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x10 ,
  VX_KERNEL_MEDIAN_3x3 = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x11 ,
  VX_KERNEL_BOX_3x3 = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x12 ,
  VX_KERNEL_GAUSSIAN_3x3 = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x13 ,
  VX_KERNEL_CUSTOM_CONVOLUTION = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x14 ,
  VX_KERNEL_GAUSSIAN_PYRAMID = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x15 ,
  VX_KERNEL_MINMAXLOC = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x19 ,
  VX_KERNEL_CONVERTDEPTH = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x1A ,
  VX_KERNEL_CANNY_EDGE_DETECTOR = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x1B ,
  VX_KERNEL_AND = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x1C ,
  VX_KERNEL_OR = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x1D ,
  VX_KERNEL_XOR = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x1E ,
  VX_KERNEL_NOT = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x1F ,
  VX_KERNEL_MULTIPLY = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x20 ,
  VX_KERNEL_ADD = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x21 ,
  VX_KERNEL_SUBTRACT = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x22 ,
  VX_KERNEL_WARP_AFFINE = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x23 ,
  VX_KERNEL_WARP_PERSPECTIVE = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x24 ,
  VX_KERNEL_HARRIS_CORNERS = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x25 ,
  VX_KERNEL_FAST_CORNERS = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x26 ,
  VX_KERNEL_OPTICAL_FLOW_PYR_LK = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x27 ,
  VX_KERNEL_REMAP = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x28 ,
  VX_KERNEL_HALFSCALE_GAUSSIAN = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x29 ,
  VX_KERNEL_MAX_1_0 ,
  VX_KERNEL_LAPLACIAN_PYRAMID = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x2A ,
  VX_KERNEL_LAPLACIAN_RECONSTRUCT = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x2B ,
  VX_KERNEL_NON_LINEAR_FILTER = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x2C ,
  VX_KERNEL_MAX_1_1 ,
  VX_KERNEL_MATCH_TEMPLATE = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x2D ,
  VX_KERNEL_LBP = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x2E ,
  VX_KERNEL_HOUGH_LINES_P = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x2F ,
  VX_KERNEL_TENSOR_MULTIPLY = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x30 ,
  VX_KERNEL_TENSOR_ADD = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x31 ,
  VX_KERNEL_TENSOR_SUBTRACT = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x32 ,
  VX_KERNEL_TENSOR_TABLE_LOOKUP = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x33 ,
  VX_KERNEL_TENSOR_TRANSPOSE = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x34 ,
  VX_KERNEL_TENSOR_CONVERT_DEPTH = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x35 ,
  VX_KERNEL_TENSOR_MATRIX_MULTIPLY = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x36 ,
  VX_KERNEL_COPY = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x37 ,
  VX_KERNEL_NON_MAX_SUPPRESSION = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x38 ,
  VX_KERNEL_SCALAR_OPERATION = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x39 ,
  VX_KERNEL_HOG_FEATURES = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x3A ,
  VX_KERNEL_HOG_CELLS = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x3B ,
  VX_KERNEL_BILATERAL_FILTER = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x3C ,
  VX_KERNEL_SELECT = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x3D ,
  VX_KERNEL_MAX_1_2 ,
  VX_KERNEL_MAX = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x3E ,
  VX_KERNEL_MIN = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x3F ,
  VX_KERNEL_WEIGHTED_AVERAGE = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE) + 0x40
}
 The standard list of available vision kernels. More...
 
enum  vx_kernel_attribute_e {
  VX_KERNEL_PARAMETERS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x0 ,
  VX_KERNEL_NAME = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x1 ,
  VX_KERNEL_ENUM = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x2 ,
  VX_KERNEL_LOCAL_DATA_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x3
}
 The kernel attributes list. More...
 

Functions

VX_API_ENTRY vx_kernel VX_API_CALL vxGetKernelByName (vx_context context, const vx_char *name)
 Obtains a reference to a kernel using a string to specify the name.
 
VX_API_ENTRY vx_kernel VX_API_CALL vxGetKernelByEnum (vx_context context, vx_enum kernel)
 Obtains a reference to the kernel using the vx_kernel_e enumeration.
 
VX_API_ENTRY vx_status VX_API_CALL vxQueryKernel (vx_kernel kernel, vx_enum attribute, void *ptr, vx_size size)
 This allows the client to query the kernel to get information about the number of parameters, enum values, etc.
 
VX_API_ENTRY vx_status VX_API_CALL vxReleaseKernel (vx_kernel *kernel)
 Release the reference to the kernel. The object may not be garbage collected until its total reference count is zero.
 

Detailed Description

The Public Kernel API.

Macro Definition Documentation

◆ VX_MAX_KERNEL_NAME

#define VX_MAX_KERNEL_NAME   (256)

#include <vx.h>

Defines the length of a kernel name string to be added to OpenVX, including the trailing zero.

Typedef Documentation

◆ vx_kernel

typedef struct Kernel* vx_kernel

#include <vx_types.h>

An opaque reference to the descriptor of a kernel.

See also
vxGetKernelByName
vxGetKernelByEnum

◆ vx_kernel_info_t

#include <vx_types.h>

The Kernel Information Structure. This is returned by the Context to indicate which kernels are available in the OpenVX implementation.

Enumeration Type Documentation

◆ vx_kernel_attribute_e

#include <vx_types.h>

The kernel attributes list.

Enumerator
VX_KERNEL_PARAMETERS 

Queries a kernel for the number of parameters the kernel supports. Read-only. Use a vx_uint32 parameter.

VX_KERNEL_NAME 

Queries the name of the kernel. Not settable. Read-only. Use a vx_char[VX_MAX_KERNEL_NAME] array (not a vx_array).

VX_KERNEL_ENUM 

Queries the enum of the kernel. Not settable. Read-only. Use a vx_enum parameter.

VX_KERNEL_LOCAL_DATA_SIZE 

The local data area allocated with each kernel when it becomes a node. Read-write. Can be written only before user-kernel finalization. Use a vx_size parameter.

Note
If not set it will default to zero.

◆ vx_kernel_e

#include <vx_kernels.h>

The standard list of available vision kernels.

Each kernel listed here can be used with the vxGetKernelByEnum call. When programming the parameters, use

When programming the parameters, use

Enumerator
VX_KERNEL_COLOR_CONVERT 

The Color Space conversion kernel.

The conversions are based on the vx_df_image_e code in the images.

See also
Kernel: Color Convert
VX_KERNEL_CHANNEL_EXTRACT 

The Generic Channel Extraction Kernel.

This kernel can remove individual color channels from an interleaved or semi-planar, planar, sub-sampled planar image. A client could extract a red channel from an interleaved RGB image or do a Luma extract from a YUV format.

See also
Kernel: Channel Extract
VX_KERNEL_CHANNEL_COMBINE 

The Generic Channel Combine Kernel.

This kernel combine multiple individual planes into a single multiplanar image of the type specified in the output image.

See also
Kernel: Channel Combine
VX_KERNEL_SOBEL_3x3 

The Sobel 3x3 Filter Kernel.

See also
Kernel: Sobel 3x3
VX_KERNEL_MAGNITUDE 

The Magnitude Kernel.

This kernel produces a magnitude plane from two input gradients.

See also
Kernel: Magnitude
VX_KERNEL_PHASE 

The Phase Kernel.

This kernel produces a phase plane from two input gradients.

See also
Kernel: Phase
VX_KERNEL_SCALE_IMAGE 

The Scale Image Kernel.

This kernel provides resizing of an input image to an output image. The scaling factor is determined but the relative sizes of the input and output.

See also
Kernel: Scale Image
VX_KERNEL_TABLE_LOOKUP 

The Table Lookup kernel.

See also
Kernel: Table Lookup
VX_KERNEL_HISTOGRAM 

The Histogram Kernel.

See also
Kernel: Histogram
VX_KERNEL_EQUALIZE_HISTOGRAM 

The Histogram Equalization Kernel.

See also
Kernel: Equalize Histogram
VX_KERNEL_ABSDIFF 

The Absolute Difference Kernel.

See also
Kernel: Absolute Difference
VX_KERNEL_MEAN_STDDEV 

The Mean and Standard Deviation Kernel.

See also
Kernel: Mean and Standard Deviation
VX_KERNEL_THRESHOLD 

The Threshold Kernel.

See also
Kernel: Threshold
VX_KERNEL_INTEGRAL_IMAGE 

The Integral Image Kernel.

See also
Kernel: Integral Image
VX_KERNEL_DILATE_3x3 

The dilate kernel.

See also
Kernel: Dilate 3x3
VX_KERNEL_ERODE_3x3 

The erode kernel.

See also
Kernel: Erode 3x3
VX_KERNEL_MEDIAN_3x3 

The median image filter.

See also
Kernel: Median 3x3
VX_KERNEL_BOX_3x3 

The box filter kernel.

See also
Kernel: Box 3x3
VX_KERNEL_GAUSSIAN_3x3 

The gaussian filter kernel.

See also
Kernel: Gaussian 3x3
VX_KERNEL_CUSTOM_CONVOLUTION 

The custom convolution kernel.

See also
Kernel: Custom Convolution
VX_KERNEL_GAUSSIAN_PYRAMID 

The gaussian image pyramid kernel.

See also
Kernel: Gaussian Pyramid
VX_KERNEL_MINMAXLOC 

The min and max location kernel.

See also
Kernel: MinMaxLoc
VX_KERNEL_CONVERTDEPTH 

The bit-depth conversion kernel.

See also
Kernel: Convert Depth
VX_KERNEL_CANNY_EDGE_DETECTOR 

The Canny Edge Detector.

See also
Kernel: Canny Edge Detector
VX_KERNEL_AND 

The Bitwise And Kernel.

See also
Kernel: Bitwise And
VX_KERNEL_OR 

The Bitwise Inclusive Or Kernel.

See also
Kernel: Bitwise Or
VX_KERNEL_XOR 

The Bitwise Exclusive Or Kernel.

See also
Kernel: Bitwise Xor
VX_KERNEL_NOT 

The Bitwise Not Kernel.

See also
Kernel: Bitwise Not
VX_KERNEL_MULTIPLY 

The Pixelwise Multiplication Kernel.

See also
Kernel: Multiply
VX_KERNEL_ADD 

The Addition Kernel.

See also
Kernel: Add
VX_KERNEL_SUBTRACT 

The Subtraction Kernel.

See also
Kernel: Subtract
VX_KERNEL_WARP_AFFINE 

The Warp Affine Kernel.

See also
Kernel: Warp Affine
VX_KERNEL_WARP_PERSPECTIVE 

The Warp Perspective Kernel.

See also
Kernel: Warp Perspective
VX_KERNEL_HARRIS_CORNERS 

The Harris Corners Kernel.

See also
Kernel: Harris Corners
VX_KERNEL_FAST_CORNERS 

The FAST Corners Kernel.

See also
Kernel: FAST Corners
VX_KERNEL_OPTICAL_FLOW_PYR_LK 

The Optical Flow Pyramid (LK) Kernel.

See also
Kernel: Optical Flow PyrLK
VX_KERNEL_REMAP 

The Remap Kernel.

See also
Kernel: Remap
VX_KERNEL_HALFSCALE_GAUSSIAN 

The Half Scale Gaussian Kernel.

See also
Kernel: Scale Image
VX_KERNEL_MAX_1_0 
VX_KERNEL_LAPLACIAN_PYRAMID 

The Laplacian Image Pyramid Kernel.

See also
Kernel: Laplacian Pyramid
VX_KERNEL_LAPLACIAN_RECONSTRUCT 

The Laplacian Pyramid Reconstruct Kernel.

See also
Kernel: Laplacian Reconstruct
VX_KERNEL_NON_LINEAR_FILTER 

The Non Linear Filter Kernel.

See also
Kernel: Non Linear Filter
VX_KERNEL_MAX_1_1 
VX_KERNEL_MATCH_TEMPLATE 

The Match Template Kernel.

See also
Kernel: Match Template
VX_KERNEL_LBP 

The LBP Kernel.

See also
Kernel: LBP
VX_KERNEL_HOUGH_LINES_P 

The hough lines probability Kernel.

See also
Kernel: Hough Lines P
VX_KERNEL_TENSOR_MULTIPLY 

The tensor multiply Kernel.

See also
Kernel: Tensor Multiply
VX_KERNEL_TENSOR_ADD 

The tensor add Kernel.

See also
Kernel: Tensor Add
VX_KERNEL_TENSOR_SUBTRACT 

The tensor subtract Kernel.

See also
Kernel: Tensor Subtract
VX_KERNEL_TENSOR_TABLE_LOOKUP 

The tensor table look up Kernel.

See also
Kernel: Tensor Table Lookup
VX_KERNEL_TENSOR_TRANSPOSE 

The tensor transpose Kernel.

See also
Kernel: Tensor Transpose
VX_KERNEL_TENSOR_CONVERT_DEPTH 

The tensor convert depth Kernel.

See also
Kernel: Tensor Convert Depth
VX_KERNEL_TENSOR_MATRIX_MULTIPLY 

The tensor matrix multiply Kernel.

See also
Kernel: Tensor Matrix Multiply
VX_KERNEL_COPY 

The data object copy kernel.

See also
Kernel: Copy
VX_KERNEL_NON_MAX_SUPPRESSION 

The non-max suppression kernel.

See also
Kernel: Non-Max Suppression
VX_KERNEL_SCALAR_OPERATION 

The scalar operation kernel.

See also
Kernel: Control Flow
VX_KERNEL_HOG_FEATURES 

The HOG features kernel.

See also
Kernel: HOG Features/Cells
VX_KERNEL_HOG_CELLS 

The HOG Cells kernel.

See also
Kernel: HOG Features/Cells
VX_KERNEL_BILATERAL_FILTER 

The bilateral filter kernel.

See also
Kernel: Bilateral Filter
VX_KERNEL_SELECT 

The select kernel.

See also
Kernel: Control Flow
VX_KERNEL_MAX_1_2 
VX_KERNEL_MAX 

The max kernel.

See also
Kernel: Max
VX_KERNEL_MIN 

The min kernel.

See also
Kernel: Min
VX_KERNEL_WEIGHTED_AVERAGE 

The weigthed average kernel.

See also
Kernel: Weighted Average

◆ vx_library_e

#include <vx_kernels.h>

The standard list of available libraries.

Enumerator
VX_LIBRARY_KHR_BASE 

The base set of kernels as defined by Khronos.

Function Documentation

◆ vxGetKernelByEnum()

VX_API_ENTRY vx_kernel VX_API_CALL vxGetKernelByEnum ( vx_context context,
vx_enum kernel )

#include <vx_api.h>

Obtains a reference to the kernel using the vx_kernel_e enumeration.

Enum values above the standard set are assumed to apply to loaded libraries.

Parameters
[in]contextThe reference to the implementation context.
[in]kernelA value from vx_kernel_e or a vendor or client-defined value.
Returns
A vx_kernel reference. Any possible errors preventing a successful completion of the function should be checked using vxGetStatus.
Precondition
vxLoadKernels if the kernel is not provided by the OpenVX implementation.

◆ vxGetKernelByName()

VX_API_ENTRY vx_kernel VX_API_CALL vxGetKernelByName ( vx_context context,
const vx_char * name )

#include <vx_api.h>

Obtains a reference to a kernel using a string to specify the name.

User Kernels follow a "dotted" heirarchical syntax. For example: "com.company.example.xyz". The following are strings specifying the kernel names:

org.khronos.openvx.color_convert

org.khronos.openvx.channel_extract

org.khronos.openvx.channel_combine

org.khronos.openvx.sobel_3x3

org.khronos.openvx.magnitude

org.khronos.openvx.phase

org.khronos.openvx.scale_image

org.khronos.openvx.table_lookup

org.khronos.openvx.histogram

org.khronos.openvx.equalize_histogram

org.khronos.openvx.absdiff

org.khronos.openvx.mean_stddev

org.khronos.openvx.threshold

org.khronos.openvx.integral_image

org.khronos.openvx.dilate_3x3

org.khronos.openvx.erode_3x3

org.khronos.openvx.median_3x3

org.khronos.openvx.box_3x3

org.khronos.openvx.gaussian_3x3

org.khronos.openvx.custom_convolution

org.khronos.openvx.gaussian_pyramid

org.khronos.openvx.minmaxloc

org.khronos.openvx.convertdepth

org.khronos.openvx.canny_edge_detector

org.khronos.openvx.and

org.khronos.openvx.or

org.khronos.openvx.xor

org.khronos.openvx.not

org.khronos.openvx.multiply

org.khronos.openvx.add

org.khronos.openvx.subtract

org.khronos.openvx.warp_affine

org.khronos.openvx.warp_perspective

org.khronos.openvx.harris_corners

org.khronos.openvx.fast_corners

org.khronos.openvx.optical_flow_pyr_lk

org.khronos.openvx.remap

org.khronos.openvx.halfscale_gaussian

org.khronos.openvx.laplacian_pyramid

org.khronos.openvx.laplacian_reconstruct

org.khronos.openvx.non_linear_filter

org.khronos.openvx.match_template

org.khronos.openvx.lbp

org.khronos.openvx.hough_lines_p

org.khronos.openvx.tensor_multiply

org.khronos.openvx.tensor_add

org.khronos.openvx.tensor_subtract

org.khronos.openvx.tensor_table_lookup

org.khronos.openvx.tensor_transpose

org.khronos.openvx.tensor_convert_depth

org.khronos.openvx.tensor_matrix_multiply

org.khronos.openvx.copy

org.khronos.openvx.non_max_suppression

org.khronos.openvx.scalar_operation

org.khronos.openvx.hog_features

org.khronos.openvx.hog_cells

org.khronos.openvx.bilateral_filter

org.khronos.openvx.select

org.khronos.openvx.min

org.khronos.openvx.max

org.khronos.openvx.weighted_average

Parameters
[in]contextThe reference to the implementation context.
[in]nameThe string of the name of the kernel to get.
Returns
A kernel reference. Any possible errors preventing a successful completion of the function should be checked using vxGetStatus.
Precondition
vxLoadKernels if the kernel is not provided by the OpenVX implementation.
Note
User Kernels should follow a "dotted" hierarchical syntax. For example: "com.company.example.xyz".

◆ vxQueryKernel()

VX_API_ENTRY vx_status VX_API_CALL vxQueryKernel ( vx_kernel kernel,
vx_enum attribute,
void * ptr,
vx_size size )

#include <vx_api.h>

This allows the client to query the kernel to get information about the number of parameters, enum values, etc.

Parameters
[in]kernelThe kernel reference to query.
[in]attributeThe attribute to query. Use a vx_kernel_attribute_e.
[out]ptrThe pointer to the location at which to store the resulting value.
[in]sizeThe size of the container to which ptr points.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors; any other value indicates failure.
VX_ERROR_INVALID_REFERENCEkernel is not a valid vx_kernel reference.
VX_ERROR_INVALID_PARAMETERSIf any of the other parameters are incorrect.
VX_ERROR_NOT_SUPPORTEDIf the attribute value is not supported in this implementation.

◆ vxReleaseKernel()

VX_API_ENTRY vx_status VX_API_CALL vxReleaseKernel ( vx_kernel * kernel)

#include <vx_api.h>

Release the reference to the kernel. The object may not be garbage collected until its total reference count is zero.

Parameters
[in]kernelThe pointer to the kernel reference to release.
Postcondition
After returning from this function the reference is zeroed.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors; any other value indicates failure.
VX_ERROR_INVALID_REFERENCEkernel is not a valid vx_kernel reference.