CoreFlow 1.0.0
A modern orchestration and execution runtime
|
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. | |
The Public Kernel API.
#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 struct Kernel* vx_kernel |
#include <vx_types.h>
An opaque reference to the descriptor of a kernel.
typedef struct _vx_kernel_info_t 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.
#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_KERNEL_NAME | Queries the name of the kernel. Not settable. Read-only. Use a |
VX_KERNEL_ENUM | Queries the enum of the kernel. Not settable. Read-only. Use a |
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
|
enum 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
VX_TYPE_IMAGE
for a vx_image
in the size field of vxGetParameterByIndex
or vxSetParameterByIndex
* VX_TYPE_ARRAY
for a vx_array
in the size field of vxGetParameterByIndex
or vxSetParameterByIndex
* Enumerator | |
---|---|
VX_KERNEL_COLOR_CONVERT | The Color Space conversion kernel. The conversions are based on the
|
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.
|
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.
|
VX_KERNEL_SOBEL_3x3 | The Sobel 3x3 Filter Kernel.
|
VX_KERNEL_MAGNITUDE | The Magnitude Kernel. This kernel produces a magnitude plane from two input gradients.
|
VX_KERNEL_PHASE | The Phase Kernel. This kernel produces a phase plane from two input gradients.
|
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.
|
VX_KERNEL_TABLE_LOOKUP | The Table Lookup kernel.
|
VX_KERNEL_HISTOGRAM | The Histogram Kernel.
|
VX_KERNEL_EQUALIZE_HISTOGRAM | The Histogram Equalization Kernel.
|
VX_KERNEL_ABSDIFF | The Absolute Difference Kernel.
|
VX_KERNEL_MEAN_STDDEV | The Mean and Standard Deviation Kernel. |
VX_KERNEL_THRESHOLD | The Threshold Kernel.
|
VX_KERNEL_INTEGRAL_IMAGE | The Integral Image Kernel.
|
VX_KERNEL_DILATE_3x3 | The dilate kernel.
|
VX_KERNEL_ERODE_3x3 | The erode kernel.
|
VX_KERNEL_MEDIAN_3x3 | The median image filter.
|
VX_KERNEL_BOX_3x3 | The box filter kernel.
|
VX_KERNEL_GAUSSIAN_3x3 | The gaussian filter kernel.
|
VX_KERNEL_CUSTOM_CONVOLUTION | The custom convolution kernel.
|
VX_KERNEL_GAUSSIAN_PYRAMID | The gaussian image pyramid kernel.
|
VX_KERNEL_MINMAXLOC | The min and max location kernel.
|
VX_KERNEL_CONVERTDEPTH | The bit-depth conversion kernel.
|
VX_KERNEL_CANNY_EDGE_DETECTOR | The Canny Edge Detector.
|
VX_KERNEL_AND | The Bitwise And Kernel.
|
VX_KERNEL_OR | The Bitwise Inclusive Or Kernel.
|
VX_KERNEL_XOR | The Bitwise Exclusive Or Kernel.
|
VX_KERNEL_NOT | The Bitwise Not Kernel.
|
VX_KERNEL_MULTIPLY | The Pixelwise Multiplication Kernel.
|
VX_KERNEL_ADD | The Addition Kernel.
|
VX_KERNEL_SUBTRACT | The Subtraction Kernel.
|
VX_KERNEL_WARP_AFFINE | The Warp Affine Kernel.
|
VX_KERNEL_WARP_PERSPECTIVE | The Warp Perspective Kernel.
|
VX_KERNEL_HARRIS_CORNERS | The Harris Corners Kernel.
|
VX_KERNEL_FAST_CORNERS | The FAST Corners Kernel.
|
VX_KERNEL_OPTICAL_FLOW_PYR_LK | The Optical Flow Pyramid (LK) Kernel.
|
VX_KERNEL_REMAP | The Remap Kernel.
|
VX_KERNEL_HALFSCALE_GAUSSIAN | The Half Scale Gaussian Kernel.
|
VX_KERNEL_MAX_1_0 | |
VX_KERNEL_LAPLACIAN_PYRAMID | The Laplacian Image Pyramid Kernel.
|
VX_KERNEL_LAPLACIAN_RECONSTRUCT | The Laplacian Pyramid Reconstruct Kernel.
|
VX_KERNEL_NON_LINEAR_FILTER | The Non Linear Filter Kernel.
|
VX_KERNEL_MAX_1_1 | |
VX_KERNEL_MATCH_TEMPLATE | The Match Template Kernel.
|
VX_KERNEL_LBP | The LBP Kernel.
|
VX_KERNEL_HOUGH_LINES_P | The hough lines probability Kernel.
|
VX_KERNEL_TENSOR_MULTIPLY | The tensor multiply Kernel.
|
VX_KERNEL_TENSOR_ADD | The tensor add Kernel.
|
VX_KERNEL_TENSOR_SUBTRACT | The tensor subtract Kernel.
|
VX_KERNEL_TENSOR_TABLE_LOOKUP | The tensor table look up Kernel.
|
VX_KERNEL_TENSOR_TRANSPOSE | The tensor transpose Kernel.
|
VX_KERNEL_TENSOR_CONVERT_DEPTH | The tensor convert depth Kernel.
|
VX_KERNEL_TENSOR_MATRIX_MULTIPLY | The tensor matrix multiply Kernel.
|
VX_KERNEL_COPY | The data object copy kernel.
|
VX_KERNEL_NON_MAX_SUPPRESSION | The non-max suppression kernel.
|
VX_KERNEL_SCALAR_OPERATION | The scalar operation kernel.
|
VX_KERNEL_HOG_FEATURES | The HOG features kernel.
|
VX_KERNEL_HOG_CELLS | The HOG Cells kernel.
|
VX_KERNEL_BILATERAL_FILTER | The bilateral filter kernel.
|
VX_KERNEL_SELECT | The select kernel.
|
VX_KERNEL_MAX_1_2 | |
VX_KERNEL_MAX | The max kernel.
|
VX_KERNEL_MIN | The min kernel.
|
VX_KERNEL_WEIGHTED_AVERAGE | The weigthed average kernel.
|
enum 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. |
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.
[in] | context | The reference to the implementation context. |
[in] | kernel | A value from vx_kernel_e or a vendor or client-defined value. |
vx_kernel
reference. Any possible errors preventing a successful completion of the function should be checked using vxGetStatus
.vxLoadKernels
if the kernel is not provided by the OpenVX implementation. 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
[in] | context | The reference to the implementation context. |
[in] | name | The string of the name of the kernel to get. |
vxGetStatus
.vxLoadKernels
if the kernel is not provided by the OpenVX implementation. 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.
[in] | kernel | The kernel reference to query. |
[in] | attribute | The attribute to query. Use a vx_kernel_attribute_e . |
[out] | ptr | The pointer to the location at which to store the resulting value. |
[in] | size | The size of the container to which ptr points. |
vx_status_e
enumeration. VX_SUCCESS | No errors; any other value indicates failure. |
VX_ERROR_INVALID_REFERENCE | kernel is not a valid vx_kernel reference. |
VX_ERROR_INVALID_PARAMETERS | If any of the other parameters are incorrect. |
VX_ERROR_NOT_SUPPORTED | If the attribute value is not supported in this implementation. |
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.
[in] | kernel | The pointer to the kernel reference to release. |
vx_status_e
enumeration. VX_SUCCESS | No errors; any other value indicates failure. |
VX_ERROR_INVALID_REFERENCE | kernel is not a valid vx_kernel reference. |