/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-mivisionx/checkouts/docs-5.7.1/amd_openvx/openvx/include/VX/vx_api.h File Reference#
The API definition for OpenVX. More...
Go to the source code of this file.
Macros | |
#define | vxFormatArrayPointer(ptr, index, stride) (&(((vx_uint8*)(ptr))[(index) * (stride)])) |
Accesses a specific indexed element in an array. More... | |
#define | vxArrayItem(type, ptr, index, stride) (*(type *)(vxFormatArrayPointer((ptr), (index), (stride)))) |
Allows access to an array item as a typecast pointer deference. More... | |
Functions | |
VX_API_ENTRY vx_context VX_API_CALL | vxCreateContext (void) |
Creates a vx_context . More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseContext (vx_context *context) |
Releases the OpenVX object context. More... | |
VX_API_ENTRY vx_context VX_API_CALL | vxGetContext (vx_reference reference) |
Retrieves the context from any reference from within a context. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryContext (vx_context context, vx_enum attribute, void *ptr, vx_size size) |
Queries the context for some specific information. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetContextAttribute (vx_context context, vx_enum attribute, const void *ptr, vx_size size) |
Sets an attribute on the context. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxHint (vx_reference reference, vx_enum hint, const void *data, vx_size data_size) |
Provides a generic API to give platform-specific hints to the implementation. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxDirective (vx_reference reference, vx_enum directive) |
Provides a generic API to give platform-specific directives to the implementations. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxGetStatus (vx_reference reference) |
Provides a generic API to return status values from Object constructors if they fail. More... | |
VX_API_ENTRY vx_enum VX_API_CALL | vxRegisterUserStruct (vx_context context, vx_size size) |
Registers user-defined structures to the context. More... | |
VX_API_ENTRY vx_enum VX_API_CALL | vxRegisterUserStructWithName (vx_context context, vx_size size, const vx_char *type_name) |
Registers user-defined structures to the context, and associates a name to it. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxGetUserStructNameByEnum (vx_context context, vx_enum user_struct_type, vx_char *type_name, vx_size name_size) |
Returns the name of the user-defined structure associated with the enumeration given. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxGetUserStructEnumByName (vx_context context, const vx_char *type_name, vx_enum *user_struct_type) |
Returns the enum of the user-defined structure associated with the name given. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxAllocateUserKernelId (vx_context context, vx_enum *pKernelEnumId) |
Allocates and registers user-defined kernel enumeration to a context. The allocated enumeration is from available pool of 4096 enumerations reserved for dynamic allocation from VX_KERNEL_BASE(VX_ID_USER,0). More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxAllocateUserKernelLibraryId (vx_context context, vx_enum *pLibraryId) |
Allocates and registers user-defined kernel library ID to a context. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetImmediateModeTarget (vx_context context, vx_enum target_enum, const char *target_string) |
Sets the default target of the immediate mode. Upon successful execution of this function any future execution of immediate mode function is attempted on the new default target of the context. More... | |
VX_API_ENTRY vx_image VX_API_CALL | vxCreateImage (vx_context context, vx_uint32 width, vx_uint32 height, vx_df_image color) |
Creates an opaque reference to an image buffer. More... | |
VX_API_ENTRY vx_image VX_API_CALL | vxCreateImageFromROI (vx_image img, const vx_rectangle_t *rect) |
Creates an image from another image given a rectangle. This second reference refers to the data in the original image. Updates to this image updates the parent image. The rectangle must be defined within the pixel space of the parent image. More... | |
VX_API_ENTRY vx_image VX_API_CALL | vxCreateUniformImage (vx_context context, vx_uint32 width, vx_uint32 height, vx_df_image color, const vx_pixel_value_t *value) |
Creates a reference to an image object that has a singular, uniform value in all pixels. The uniform image created is read-only. More... | |
VX_API_ENTRY vx_image VX_API_CALL | vxCreateVirtualImage (vx_graph graph, vx_uint32 width, vx_uint32 height, vx_df_image color) |
Creates an opaque reference to an image buffer with no direct user access. This function allows setting the image width, height, or format. More... | |
VX_API_ENTRY vx_image VX_API_CALL | vxCreateImageFromHandle (vx_context context, vx_df_image color, const vx_imagepatch_addressing_t addrs[], void *const ptrs[], vx_enum memory_type) |
Creates a reference to an image object that was externally allocated. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSwapImageHandle (vx_image image, void *const new_ptrs[], void *prev_ptrs[], vx_size num_planes) |
Swaps the image handle of an image previously created from handle. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryImage (vx_image image, vx_enum attribute, void *ptr, vx_size size) |
Retrieves various attributes of an image. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetImageAttribute (vx_image image, vx_enum attribute, const void *ptr, vx_size size) |
Allows setting attributes on the image. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetImagePixelValues (vx_image image, const vx_pixel_value_t *pixel_value) |
Initialize an image with the given pixel value. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseImage (vx_image *image) |
Releases a reference to an image object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY void *VX_API_CALL | vxFormatImagePatchAddress1d (void *ptr, vx_uint32 index, const vx_imagepatch_addressing_t *addr) |
Accesses a specific indexed pixel in an image patch. More... | |
VX_API_ENTRY void *VX_API_CALL | vxFormatImagePatchAddress2d (void *ptr, vx_uint32 x, vx_uint32 y, const vx_imagepatch_addressing_t *addr) |
Accesses a specific pixel at a 2d coordinate in an image patch. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxGetValidRegionImage (vx_image image, vx_rectangle_t *rect) |
Retrieves the valid region of the image as a rectangle. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyImagePatch (vx_image image, const vx_rectangle_t *image_rect, vx_uint32 image_plane_index, const vx_imagepatch_addressing_t *user_addr, void *user_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy a rectangular patch from/into an image object plane. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxMapImagePatch (vx_image image, const vx_rectangle_t *rect, vx_uint32 plane_index, vx_map_id *map_id, vx_imagepatch_addressing_t *addr, void **ptr, vx_enum usage, vx_enum mem_type, vx_uint32 flags) |
Allows the application to get direct access to a rectangular patch of an image object plane. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxUnmapImagePatch (vx_image image, vx_map_id map_id) |
Unmap and commit potential changes to a image object patch that were previously mapped. Unmapping an image patch invalidates the memory location from which the patch could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior. More... | |
VX_API_ENTRY vx_image VX_API_CALL | vxCreateImageFromChannel (vx_image img, vx_enum channel) |
Create a sub-image from a single plane channel of another image. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetImageValidRectangle (vx_image image, const vx_rectangle_t *rect) |
Sets the valid rectangle for an image according to a supplied rectangle. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxRegisterKernelLibrary (vx_context context, const vx_char *module, vx_publish_kernels_f publish, vx_unpublish_kernels_f unpublish) |
Registers a module with kernels in a context. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxLoadKernels (vx_context context, const vx_char *module) |
Loads a library of kernels, called module, into a context. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxUnloadKernels (vx_context context, const vx_char *module) |
Unloads all kernels from the OpenVX context that had been loaded from the module using the vxLoadKernels function. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
VX_API_ENTRY vx_kernel VX_API_CALL | vxAddUserKernel (vx_context context, const vx_char name[VX_MAX_KERNEL_NAME], vx_enum enumeration, vx_kernel_f func_ptr, vx_uint32 numParams, vx_kernel_validate_f validate, vx_kernel_initialize_f init, vx_kernel_deinitialize_f deinit) |
Allows users to add custom kernels to a context at run-time. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxFinalizeKernel (vx_kernel kernel) |
This API is called after all parameters have been added to the kernel and the kernel is ready to be used. Notice that the reference to the kernel created by vxAddUserKernel is still valid after the call to vxFinalizeKernel. If an error occurs, the kernel is not available for usage by the clients of OpenVX. Typically this is due to a mismatch between the number of parameters requested and given. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxAddParameterToKernel (vx_kernel kernel, vx_uint32 index, vx_enum dir, vx_enum data_type, vx_enum state) |
Allows users to set the signatures of the custom kernel. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxRemoveKernel (vx_kernel kernel) |
Removes a custom kernel from its context and releases it. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetKernelAttribute (vx_kernel kernel, vx_enum attribute, const void *ptr, vx_size size) |
Sets kernel attributes. More... | |
VX_API_ENTRY vx_parameter VX_API_CALL | vxGetKernelParameterByIndex (vx_kernel kernel, vx_uint32 index) |
Retrieves a vx_parameter from a vx_kernel . More... | |
VX_API_ENTRY vx_graph VX_API_CALL | vxCreateGraph (vx_context context) |
Creates an empty graph. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseGraph (vx_graph *graph) |
Releases a reference to a graph. The object may not be garbage collected until its total reference count is zero. Once the reference count is zero, all node references in the graph are automatically released as well. Releasing the graph will only release the nodes if the nodes were not previously released by the application. Data referenced by those nodes may not be released as the user may still have references to the data. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxVerifyGraph (vx_graph graph) |
Verifies the state of the graph before it is executed. This is useful to catch programmer errors and contract errors. If not verified, the graph verifies before being processed. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxProcessGraph (vx_graph graph) |
This function causes the synchronous processing of a graph. If the graph has not been verified, then the implementation verifies the graph immediately. If verification fails this function returns a status identical to what vxVerifyGraph would return. After the graph verfies successfully then processing occurs. If the graph was previously verified via vxVerifyGraph or vxProcessGraph then the graph is processed. This function blocks until the graph is completed. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxScheduleGraph (vx_graph graph) |
Schedules a graph for future execution. If the graph has not been verified, then the implementation verifies the graph immediately. If verification fails this function returns a status identical to what vxVerifyGraph would return. After the graph verfies successfully then processing occurs. If the graph was previously verified via vxVerifyGraph or vxProcessGraph then the graph is processed. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxWaitGraph (vx_graph graph) |
Waits for a specific graph to complete. If the graph has been scheduled multiple times since the last call to vxWaitGraph, then vxWaitGraph returns only when the last scheduled execution completes. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryGraph (vx_graph graph, vx_enum attribute, void *ptr, vx_size size) |
Allows the user to query attributes of the Graph. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetGraphAttribute (vx_graph graph, vx_enum attribute, const void *ptr, vx_size size) |
Allows the attributes of the Graph to be set to the provided value. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxAddParameterToGraph (vx_graph graph, vx_parameter parameter) |
Adds the given parameter extracted from a vx_node to the graph. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetGraphParameterByIndex (vx_graph graph, vx_uint32 index, vx_reference value) |
Sets a reference to the parameter on the graph. The implementation must set this parameter on the originating node as well. More... | |
VX_API_ENTRY vx_parameter VX_API_CALL | vxGetGraphParameterByIndex (vx_graph graph, vx_uint32 index) |
Retrieves a vx_parameter from a vx_graph . More... | |
VX_API_ENTRY vx_bool VX_API_CALL | vxIsGraphVerified (vx_graph graph) |
Returns a Boolean to indicate the state of graph verification. More... | |
VX_API_ENTRY vx_node VX_API_CALL | vxCreateGenericNode (vx_graph graph, vx_kernel kernel) |
Creates a reference to a node object for a given kernel. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryNode (vx_node node, vx_enum attribute, void *ptr, vx_size size) |
Allows a user to query information out of a node. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetNodeAttribute (vx_node node, vx_enum attribute, const void *ptr, vx_size size) |
Allows a user to set attribute of a node before Graph Validation. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseNode (vx_node *node) |
Releases a reference to a Node object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxRemoveNode (vx_node *node) |
Removes a Node from its parent Graph and releases it. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxAssignNodeCallback (vx_node node, vx_nodecomplete_f callback) |
Assigns a callback to a node. If a callback already exists in this node, this function must return an error and the user may clear the callback by passing a NULL pointer as the callback. More... | |
VX_API_ENTRY vx_nodecomplete_f VX_API_CALL | vxRetrieveNodeCallback (vx_node node) |
Retrieves the current node callback function pointer set on the node. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetNodeTarget (vx_node node, vx_enum target_enum, const char *target_string) |
Sets the node target to the provided value. A success invalidates the graph that the node belongs to (vxVerifyGraph must be called before the next execution) More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReplicateNode (vx_graph graph, vx_node first_node, vx_bool replicate[], vx_uint32 number_of_parameters) |
Creates replicas of the same node first_node to process a set of objects stored in vx_pyramid or vx_object_array . first_node needs to have as parameter levels 0 of a vx_pyramid or the index 0 of a vx_object_array . Replica nodes are not accessible by the application through any means. An application request for removal of first_node from the graph will result in removal of all replicas. Any change of parameter or attribute of first_node will be propagated to the replicas. vxVerifyGraph shall enforce consistency of parameters and attributes in the replicas. More... | |
VX_API_ENTRY vx_parameter VX_API_CALL | vxGetParameterByIndex (vx_node node, vx_uint32 index) |
Retrieves a vx_parameter from a vx_node . More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseParameter (vx_parameter *param) |
Releases a reference to a parameter object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetParameterByIndex (vx_node node, vx_uint32 index, vx_reference value) |
Sets the specified parameter data for a kernel on the node. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetParameterByReference (vx_parameter parameter, vx_reference value) |
Associates a parameter reference and a data reference with a kernel on a node. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryParameter (vx_parameter parameter, vx_enum attribute, void *ptr, vx_size size) |
Allows the client to query a parameter to determine its meta-information. More... | |
VX_API_ENTRY vx_scalar VX_API_CALL | vxCreateScalar (vx_context context, vx_enum data_type, const void *ptr) |
Creates a reference to a scalar object. Also see sub_node_parameters. More... | |
VX_API_ENTRY vx_scalar VX_API_CALL | vxCreateScalarWithSize (vx_context context, vx_enum data_type, const void *ptr, vx_size size) |
Creates a reference to a scalar object. Also see sub_node_parameters. More... | |
VX_API_ENTRY vx_scalar VX_API_CALL | vxCreateVirtualScalar (vx_graph graph, vx_enum data_type) |
Creates an opaque reference to a scalar object with no direct user access. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseScalar (vx_scalar *scalar) |
Releases a reference to a scalar object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryScalar (vx_scalar scalar, vx_enum attribute, void *ptr, vx_size size) |
Queries attributes from a scalar. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyScalar (vx_scalar scalar, void *user_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy from/into a scalar object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyScalarWithSize (vx_scalar scalar, vx_size size, void *user_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy from/into a scalar object with size. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryReference (vx_reference ref, vx_enum attribute, void *ptr, vx_size size) |
Queries any reference type for some basic information like count or type. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseReference (vx_reference *ref_ptr) |
Releases a reference. The reference may potentially refer to multiple OpenVX objects of different types. This function can be used instead of calling a specific release function for each individual object type (e.g. vxRelease<object>). The object will not be destroyed until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxRetainReference (vx_reference ref) |
Increments the reference counter of an object This function is used to express the fact that the OpenVX object is referenced multiple times by an application. Each time this function is called for an object, the application will need to release the object one additional time before it can be destructed. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetReferenceName (vx_reference ref, const vx_char *name) |
Name a reference. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryDelay (vx_delay delay, vx_enum attribute, void *ptr, vx_size size) |
Queries a vx_delay object attribute. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseDelay (vx_delay *delay) |
Releases a reference to a delay object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_delay VX_API_CALL | vxCreateDelay (vx_context context, vx_reference exemplar, vx_size num_slots) |
Creates a Delay object. More... | |
VX_API_ENTRY vx_reference VX_API_CALL | vxGetReferenceFromDelay (vx_delay delay, vx_int32 index) |
Retrieves a reference to a delay slot object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxAgeDelay (vx_delay delay) |
Shifts the internal delay ring by one. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxRegisterAutoAging (vx_graph graph, vx_delay delay) |
Register a delay for auto-aging. More... | |
VX_API_ENTRY void VX_API_CALL | vxAddLogEntry (vx_reference ref, vx_status status, const char *message,...) |
Adds a line to the log. More... | |
VX_API_ENTRY void VX_API_CALL | vxRegisterLogCallback (vx_context context, vx_log_callback_f callback, vx_bool reentrant) |
Registers a callback facility to the OpenVX implementation to receive error logs. More... | |
VX_API_ENTRY vx_lut VX_API_CALL | vxCreateLUT (vx_context context, vx_enum data_type, vx_size count) |
Creates LUT object of a given type. The value of VX_LUT_OFFSET is equal to 0 for data_type = VX_TYPE_UINT8 , and (vx_uint32)(count/2) for VX_TYPE_INT16 . More... | |
VX_API_ENTRY vx_lut VX_API_CALL | vxCreateVirtualLUT (vx_graph graph, vx_enum data_type, vx_size count) |
Creates an opaque reference to a LUT object with no direct user access. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseLUT (vx_lut *lut) |
Releases a reference to a LUT object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryLUT (vx_lut lut, vx_enum attribute, void *ptr, vx_size size) |
Queries attributes from a LUT. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyLUT (vx_lut lut, void *user_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy from/into a LUT object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxMapLUT (vx_lut lut, vx_map_id *map_id, void **ptr, vx_enum usage, vx_enum mem_type, vx_bitfield flags) |
Allows the application to get direct access to LUT object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxUnmapLUT (vx_lut lut, vx_map_id map_id) |
Unmap and commit potential changes to LUT object that was previously mapped. Unmapping a LUT invalidates the memory location from which the LUT data could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior. More... | |
VX_API_ENTRY vx_distribution VX_API_CALL | vxCreateDistribution (vx_context context, vx_size numBins, vx_int32 offset, vx_uint32 range) |
Creates a reference to a 1D Distribution of a consecutive interval [offset, offset + range - 1] defined by a start offset and valid range, divided equally into numBins parts. More... | |
VX_API_ENTRY vx_distribution VX_API_CALL | vxCreateVirtualDistribution (vx_graph graph, vx_size numBins, vx_int32 offset, vx_uint32 range) |
Creates an opaque reference to a 1D Distribution object without direct user access. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseDistribution (vx_distribution *distribution) |
Releases a reference to a distribution object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryDistribution (vx_distribution distribution, vx_enum attribute, void *ptr, vx_size size) |
Queries a Distribution object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyDistribution (vx_distribution distribution, void *user_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy from/into a distribution object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxMapDistribution (vx_distribution distribution, vx_map_id *map_id, void **ptr, vx_enum usage, vx_enum mem_type, vx_bitfield flags) |
Allows the application to get direct access to distribution object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxUnmapDistribution (vx_distribution distribution, vx_map_id map_id) |
Unmap and commit potential changes to distribution object that was previously mapped. Unmapping a distribution invalidates the memory location from which the distribution data could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior. More... | |
VX_API_ENTRY vx_threshold VX_API_CALL | vxCreateThresholdForImage (vx_context context, vx_enum thresh_type, vx_df_image input_format, vx_df_image output_format) |
Creates a threshold object and returns a reference to it. More... | |
VX_API_ENTRY vx_threshold VX_API_CALL | vxCreateVirtualThresholdForImage (vx_graph graph, vx_enum thresh_type, vx_df_image input_format, vx_df_image output_format) |
Creates an opaque reference to a threshold object without direct user access. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyThresholdValue (vx_threshold thresh, vx_pixel_value_t *value_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy the thresholding value from/into a threshold object with type VX_THRESHOLD_TYPE_BINARY . More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyThresholdRange (vx_threshold thresh, vx_pixel_value_t *lower_value_ptr, vx_pixel_value_t *upper_value_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy thresholding values from/into a threshold object with type VX_THRESHOLD_TYPE_RANGE . More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyThresholdOutput (vx_threshold thresh, vx_pixel_value_t *true_value_ptr, vx_pixel_value_t *false_value_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy the true and false output values from/into a threshold object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseThreshold (vx_threshold *thresh) |
Releases a reference to a threshold object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetThresholdAttribute (vx_threshold thresh, vx_enum attribute, const void *ptr, vx_size size) |
Sets attributes on the threshold object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryThreshold (vx_threshold thresh, vx_enum attribute, void *ptr, vx_size size) |
Queries an attribute on the threshold object. More... | |
VX_API_ENTRY vx_matrix VX_API_CALL | vxCreateMatrix (vx_context c, vx_enum data_type, vx_size columns, vx_size rows) |
Creates a reference to a matrix object. More... | |
VX_API_ENTRY vx_matrix VX_API_CALL | vxCreateVirtualMatrix (vx_graph graph, vx_enum data_type, vx_size columns, vx_size rows) |
Creates an opaque reference to a matrix object without direct user access. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseMatrix (vx_matrix *mat) |
Releases a reference to a matrix object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryMatrix (vx_matrix mat, vx_enum attribute, void *ptr, vx_size size) |
Queries an attribute on the matrix object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyMatrix (vx_matrix matrix, void *user_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy from/into a matrix object. More... | |
VX_API_ENTRY vx_matrix VX_API_CALL | vxCreateMatrixFromPattern (vx_context context, vx_enum pattern, vx_size columns, vx_size rows) |
Creates a reference to a matrix object from a boolean pattern. More... | |
VX_API_ENTRY vx_matrix VX_API_CALL | vxCreateMatrixFromPatternAndOrigin (vx_context context, vx_enum pattern, vx_size columns, vx_size rows, vx_size origin_col, vx_size origin_row) |
Creates a reference to a matrix object from a boolean pattern, with a user-specified origin. More... | |
VX_API_ENTRY vx_convolution VX_API_CALL | vxCreateConvolution (vx_context context, vx_size columns, vx_size rows) |
Creates a reference to a convolution matrix object. More... | |
VX_API_ENTRY vx_convolution VX_API_CALL | vxCreateVirtualConvolution (vx_graph graph, vx_size columns, vx_size rows) |
Creates an opaque reference to a convolution matrix object without direct user access. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseConvolution (vx_convolution *conv) |
Releases the reference to a convolution matrix. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryConvolution (vx_convolution conv, vx_enum attribute, void *ptr, vx_size size) |
Queries an attribute on the convolution matrix object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetConvolutionAttribute (vx_convolution conv, vx_enum attribute, const void *ptr, vx_size size) |
Sets attributes on the convolution object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyConvolutionCoefficients (vx_convolution conv, void *user_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy coefficients from/into a convolution object. More... | |
VX_API_ENTRY vx_pyramid VX_API_CALL | vxCreatePyramid (vx_context context, vx_size levels, vx_float32 scale, vx_uint32 width, vx_uint32 height, vx_df_image format) |
Creates a reference to a pyramid object of the supplied number of levels. More... | |
VX_API_ENTRY vx_pyramid VX_API_CALL | vxCreateVirtualPyramid (vx_graph graph, vx_size levels, vx_float32 scale, vx_uint32 width, vx_uint32 height, vx_df_image format) |
Creates a reference to a virtual pyramid object of the supplied number of levels. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleasePyramid (vx_pyramid *pyr) |
Releases a reference to a pyramid object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryPyramid (vx_pyramid pyr, vx_enum attribute, void *ptr, vx_size size) |
Queries an attribute from an image pyramid. More... | |
VX_API_ENTRY vx_image VX_API_CALL | vxGetPyramidLevel (vx_pyramid pyr, vx_uint32 index) |
Retrieves a level of the pyramid as a vx_image , which can be used elsewhere in OpenVX. A call to vxReleaseImage is necessary to release an image for each call of vxGetPyramidLevel. More... | |
VX_API_ENTRY vx_remap VX_API_CALL | vxCreateRemap (vx_context context, vx_uint32 src_width, vx_uint32 src_height, vx_uint32 dst_width, vx_uint32 dst_height) |
Creates a remap table object. More... | |
VX_API_ENTRY vx_remap VX_API_CALL | vxCreateVirtualRemap (vx_graph graph, vx_uint32 src_width, vx_uint32 src_height, vx_uint32 dst_width, vx_uint32 dst_height) |
Creates an opaque reference to a remap table object without direct user access. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseRemap (vx_remap *table) |
Releases a reference to a remap table object. The object may not be garbage collected until its total reference count is zero. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxMapRemapPatch (vx_remap remap, const vx_rectangle_t *rect, vx_map_id *map_id, vx_size *stride_y, void **ptr, vx_enum coordinate_type, vx_enum usage, vx_enum mem_type) |
Allows the application to get direct access to a rectangular patch of a remap object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxUnmapRemapPatch (vx_remap remap, vx_map_id map_id) |
Unmap and commit potential changes to a remap object patch that was previously mapped. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyRemapPatch (vx_remap remap, const vx_rectangle_t *rect, vx_size user_stride_y, void *user_ptr, vx_enum user_coordinate_type, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy a rectangular patch from/into a remap object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryRemap (vx_remap table, vx_enum attribute, void *ptr, vx_size size) |
Queries attributes from a Remap table. More... | |
VX_API_ENTRY vx_array VX_API_CALL | vxCreateArray (vx_context context, vx_enum item_type, vx_size capacity) |
Creates a reference to an Array object. More... | |
VX_API_ENTRY vx_array VX_API_CALL | vxCreateVirtualArray (vx_graph graph, vx_enum item_type, vx_size capacity) |
Creates an opaque reference to a virtual Array with no direct user access. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseArray (vx_array *arr) |
Releases a reference of an Array object. The object may not be garbage collected until its total reference count is zero. After returning from this function the reference is zeroed. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryArray (vx_array arr, vx_enum attribute, void *ptr, vx_size size) |
Queries the Array for some specific information. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxAddArrayItems (vx_array arr, vx_size count, const void *ptr, vx_size stride) |
Adds items to the Array. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxTruncateArray (vx_array arr, vx_size new_num_items) |
Truncates an Array (remove items from the end). More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyArrayRange (vx_array array, vx_size range_start, vx_size range_end, vx_size user_stride, void *user_ptr, vx_enum usage, vx_enum user_mem_type) |
Allows the application to copy a range from/into an array object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxMapArrayRange (vx_array array, vx_size range_start, vx_size range_end, vx_map_id *map_id, vx_size *stride, void **ptr, vx_enum usage, vx_enum mem_type, vx_uint32 flags) |
Allows the application to get direct access to a range of an array object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxUnmapArrayRange (vx_array array, vx_map_id map_id) |
Unmap and commit potential changes to an array object range that was previously mapped. Unmapping an array range invalidates the memory location from which the range could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior. More... | |
VX_API_ENTRY vx_object_array VX_API_CALL | vxCreateObjectArray (vx_context context, vx_reference exemplar, vx_size count) |
Creates a reference to an ObjectArray of count objects. More... | |
VX_API_ENTRY vx_object_array VX_API_CALL | vxCreateVirtualObjectArray (vx_graph graph, vx_reference exemplar, vx_size count) |
Creates an opaque reference to a virtual ObjectArray with no direct user access. More... | |
VX_API_ENTRY vx_reference VX_API_CALL | vxGetObjectArrayItem (vx_object_array arr, vx_uint32 index) |
Retrieves the reference to the OpenVX Object in location index of the ObjectArray. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseObjectArray (vx_object_array *arr) |
Releases a reference of an ObjectArray object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryObjectArray (vx_object_array arr, vx_enum attribute, void *ptr, vx_size size) |
Queries an atribute from the ObjectArray. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetMetaFormatAttribute (vx_meta_format meta, vx_enum attribute, const void *ptr, vx_size size) |
This function allows a user to set the attributes of a vx_meta_format object in a kernel output validator. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSetMetaFormatFromReference (vx_meta_format meta, vx_reference exemplar) |
Set a meta format object from an exemplar data object reference. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryMetaFormatAttribute (vx_meta_format meta, vx_enum attribute, void *ptr, vx_size size) |
This function allows a user to query the attributes of a vx_meta_format object in a kernel parameter. More... | |
VX_API_ENTRY vx_tensor VX_API_CALL | vxCreateTensor (vx_context context, vx_size number_of_dims, const vx_size *dims, vx_enum data_type, vx_int8 fixed_point_position) |
Creates an opaque reference to a tensor data buffer. More... | |
VX_API_ENTRY vx_object_array VX_API_CALL | vxCreateImageObjectArrayFromTensor (vx_tensor tensor, const vx_rectangle_t *rect, vx_size array_size, vx_size jump, vx_df_image image_format) |
Creates an array of images into the multi-dimension data, this can be adjacent 2D images or not depending on the stride value. The stride value is representing bytes in the third dimension. The OpenVX image object that points to a three dimension data and access it as an array of images. This has to be portion of the third lowest dimension, and the stride correspond to that third dimension. The returned Object array is an array of images. Where the image data is pointing to a specific memory in the input tensor. More... | |
VX_API_ENTRY vx_tensor VX_API_CALL | vxCreateTensorFromView (vx_tensor tensor, vx_size number_of_dims, const vx_size *view_start, const vx_size *view_end) |
Creates a tensor data from another tensor data given a view. This second reference refers to the data in the original tensor data. Updates to this tensor data updates the parent tensor data. The view must be defined within the dimensions of the parent tensor data. More... | |
VX_API_ENTRY vx_tensor VX_API_CALL | vxCreateVirtualTensor (vx_graph graph, vx_size number_of_dims, const vx_size *dims, vx_enum data_type, vx_int8 fixed_point_position) |
Creates an opaque reference to a tensor data buffer with no direct user access. This function allows setting the tensor data dimensions or data format. More... | |
VX_API_ENTRY vx_tensor VX_API_CALL | vxCreateTensorFromHandle (vx_context context, vx_size number_of_dims, const vx_size *dims, vx_enum data_type, vx_int8 fixed_point_position, const vx_size *stride, void *ptr, vx_enum memory_type) |
Creates a reference to an tensor object that was externally allocated. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxSwapTensorHandle (vx_tensor tensor, void *new_ptr, void **prev_ptr) |
Swaps the tensor handle of an tensor previously created from handle. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxCopyTensorPatch (vx_tensor tensor, vx_size number_of_dims, const vx_size *view_start, const vx_size *view_end, const vx_size *user_stride, void *user_ptr, vx_enum usage, vx_enum user_memory_type) |
Allows the application to copy a view patch from/into an tensor object . More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxMapTensorPatch (vx_tensor tensor, vx_size number_of_dims, const vx_size *view_start, const vx_size *view_end, vx_map_id *map_id, vx_size *stride, void **ptr, vx_enum usage, vx_enum mem_type) |
Allows the application to get direct access to a patch of tensor object. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxUnmapTensorPatch (vx_tensor tensor, const vx_map_id map_id) |
Unmap and commit potential changes to a tensor object patch that was previously mapped. Unmapping a tensor patch invalidates the memory location from which the patch could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxQueryTensor (vx_tensor tensor, vx_enum attribute, void *ptr, vx_size size) |
Retrieves various attributes of a tensor data. More... | |
VX_API_ENTRY vx_status VX_API_CALL | vxReleaseTensor (vx_tensor *tensor) |
Releases a reference to a tensor data object. The object may not be garbage collected until its total reference count is zero. More... | |
Detailed Description
The API definition for OpenVX.
Macro Definition Documentation
◆ vxArrayItem
#define vxArrayItem | ( | type, | |
ptr, | |||
index, | |||
stride | |||
) | (*(type *)(vxFormatArrayPointer((ptr), (index), (stride)))) |
Allows access to an array item as a typecast pointer deference.
- Parameters
-
[in] type The type of the item to access. [in] ptr The base pointer for the array range. [in] index The index of the element, not byte, to access. [in] stride The 'number of bytes' between the beginning of two consecutive elements.
◆ vxFormatArrayPointer
#define vxFormatArrayPointer | ( | ptr, | |
index, | |||
stride | |||
) | (&(((vx_uint8*)(ptr))[(index) * (stride)])) |
Accesses a specific indexed element in an array.
- Parameters
-
[in] ptr The base pointer for the array range. [in] index The index of the element, not byte, to access. [in] stride The 'number of bytes' between the beginning of two consecutive elements.
Function Documentation
◆ vxAddArrayItems()
VX_API_ENTRY vx_status VX_API_CALL vxAddArrayItems | ( | vx_array | arr, |
vx_size | count, | ||
const void * | ptr, | ||
vx_size | stride | ||
) |
Adds items to the Array.
This function increases the container size.
By default, the function does not reallocate memory, so if the container is already full (number of elements is equal to capacity) or it doesn't have enough space, the function returns VX_FAILURE
error code.
- Parameters
-
[in] arr The reference to the Array. [in] count The total number of elements to insert. [in] ptr The location from which to read the input values. [in] stride The number of bytes between the beginning of two consecutive elements.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE arr is not a valid vx_array
reference.VX_FAILURE If the Array is full. VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect.
◆ vxAddLogEntry()
VX_API_ENTRY void VX_API_CALL vxAddLogEntry | ( | vx_reference | ref, |
vx_status | status, | ||
const char * | message, | ||
... | |||
) |
Adds a line to the log.
- Parameters
-
[in] ref The reference to add the log entry against. Some valid value must be provided. [in] status The status code. VX_SUCCESS
status entries are ignored and not added.[in] message The human readable message to add to the log. [in] ... a list of variable arguments to the message.
- Note
- Messages may not exceed
VX_MAX_LOG_MESSAGE_LEN
bytes and will be truncated in the log if they exceed this limit.
◆ vxAddParameterToGraph()
VX_API_ENTRY vx_status VX_API_CALL vxAddParameterToGraph | ( | vx_graph | graph, |
vx_parameter | parameter | ||
) |
Adds the given parameter extracted from a vx_node
to the graph.
- Parameters
-
[in] graph The graph reference that contains the node. [in] parameter The parameter reference to add to the graph from the node.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS Parameter added to Graph; any other value indicates failure. VX_ERROR_INVALID_REFERENCE graph is not a valid vx_graph
reference or parameter is not a validvx_parameter
reference.VX_ERROR_INVALID_PARAMETERS The parameter is of a node not in this graph.
◆ vxAddParameterToKernel()
VX_API_ENTRY vx_status VX_API_CALL vxAddParameterToKernel | ( | vx_kernel | kernel, |
vx_uint32 | index, | ||
vx_enum | dir, | ||
vx_enum | data_type, | ||
vx_enum | state | ||
) |
Allows users to set the signatures of the custom kernel.
- Parameters
-
[in] kernel The reference to the kernel added with vxAddUserKernel
.[in] index The index of the parameter to add. [in] dir The direction of the parameter. This must be either VX_INPUT
orVX_OUTPUT
.[in] data_type The type of parameter. This must be a value from vx_type_e
.[in] state The state of the parameter (required or not). This must be a value from vx_parameter_state_e
.
- Returns
- A
vx_status_e
enumerated value.
- Return values
-
VX_SUCCESS Parameter is successfully set on kernel; any other value indicates failure. VX_ERROR_INVALID_REFERENCE kernel is not a valid vx_kernel
reference.VX_ERROR_INVALID_PARAMETERS If the parameter is not valid for any reason.
- Precondition
vxAddUserKernel
◆ vxAddUserKernel()
VX_API_ENTRY vx_kernel VX_API_CALL vxAddUserKernel | ( | vx_context | context, |
const vx_char | name[VX_MAX_KERNEL_NAME], | ||
vx_enum | enumeration, | ||
vx_kernel_f | func_ptr, | ||
vx_uint32 | numParams, | ||
vx_kernel_validate_f | validate, | ||
vx_kernel_initialize_f | init, | ||
vx_kernel_deinitialize_f | deinit | ||
) |
Allows users to add custom kernels to a context at run-time.
- Parameters
-
[in] context The reference to the context the kernel must be added to. [in] name The string to use to match the kernel. [in] enumeration The enumerated value of the kernel to be used by clients. [in] func_ptr The process-local function pointer to be invoked. [in] numParams The number of parameters for this kernel. [in] validate The pointer to vx_kernel_validate_f
, which validates parameters to this kernel.[in] init The kernel initialization function. [in] deinit The kernel de-initialization function.
- Returns
- A
vx_kernel
reference. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxAgeDelay()
VX_API_ENTRY vx_status VX_API_CALL vxAgeDelay | ( | vx_delay | delay | ) |
Shifts the internal delay ring by one.
This function performs a shift of the internal delay ring by one. This means that, the data originally at index 0 move to index -1 and so forth until index . The data originally at index move to index 0. Here is the number of slots in delay ring. When a delay is aged, any graph making use of this delay (delay object itself or data objects in delay slots) gets its data automatically updated accordingly.
- Parameters
-
[in] delay
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS Delay was aged; any other value indicates failure. VX_ERROR_INVALID_REFERENCE delay is not a valid vx_delay
reference.
◆ vxAllocateUserKernelId()
VX_API_ENTRY vx_status VX_API_CALL vxAllocateUserKernelId | ( | vx_context | context, |
vx_enum * | pKernelEnumId | ||
) |
Allocates and registers user-defined kernel enumeration to a context. The allocated enumeration is from available pool of 4096 enumerations reserved for dynamic allocation from VX_KERNEL_BASE(VX_ID_USER,0).
- Parameters
-
[in] context The reference to the implementation context. [out] pKernelEnumId pointer to return vx_enum
for user-defined kernel.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE If the context is not a valid vx_context
reference.VX_ERROR_NO_RESOURCES The enumerations has been exhausted.
◆ vxAllocateUserKernelLibraryId()
VX_API_ENTRY vx_status VX_API_CALL vxAllocateUserKernelLibraryId | ( | vx_context | context, |
vx_enum * | pLibraryId | ||
) |
Allocates and registers user-defined kernel library ID to a context.
The allocated library ID is from available pool of library IDs (1..255) reserved for dynamic allocation. The returned libraryId can be used by user-kernel library developer to specify individual kernel enum IDs in a header file, shown below:
- Parameters
-
[in] context The reference to the implementation context. [out] pLibraryId pointer to vx_enum
for user-kernel libraryId.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_NO_RESOURCES The enumerations has been exhausted.
◆ vxAssignNodeCallback()
VX_API_ENTRY vx_status VX_API_CALL vxAssignNodeCallback | ( | vx_node | node, |
vx_nodecomplete_f | callback | ||
) |
Assigns a callback to a node. If a callback already exists in this node, this function must return an error and the user may clear the callback by passing a NULL pointer as the callback.
- Parameters
-
[in] node The reference to the node. [in] callback The callback to associate with completion of this specific node.
- Warning
- This must be used with extreme caution as it can ruin optimizations in the power/performance efficiency of a graph.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS Callback assigned; any other value indicates failure. VX_ERROR_INVALID_REFERENCE node is not a valid vx_node
reference.
◆ vxCopyArrayRange()
VX_API_ENTRY vx_status VX_API_CALL vxCopyArrayRange | ( | vx_array | array, |
vx_size | range_start, | ||
vx_size | range_end, | ||
vx_size | user_stride, | ||
void * | user_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy a range from/into an array object.
- Parameters
-
[in] array The reference to the array object that is the source or the destination of the copy. [in] range_start The index of the first item of the array object to copy. [in] range_end The index of the item following the last item of the array object to copy. (range_end range_start) items are copied from index range_start included. The range must be within the bounds of the array: 0 <= range_start < range_end <= number of items in the array. [in] user_stride The number of bytes between the beginning of two consecutive items in the user memory pointed by user_ptr. The layout of the user memory must follow an item major order: user_stride >= element size in bytes. [in] user_ptr The address of the memory location where to store the requested data if the copy was requested in read mode, or from where to get the data to store into the array object if the copy was requested in write mode. The accessible memory must be large enough to contain the specified range with the specified stride: accessible memory in bytes >= (range_end range_start) * user_stride. [in] usage This declares the effect of the copy with regard to the array object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that data are copied from the array object into the user memory.VX_WRITE_ONLY
means that data are copied into the array object from the user memory.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the memory type of the memory referenced by the user_addr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_OPTIMIZED_AWAY This is a reference to a virtual array that cannot be accessed by the application. VX_ERROR_INVALID_REFERENCE array is not a valid vx_array
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyConvolutionCoefficients()
VX_API_ENTRY vx_status VX_API_CALL vxCopyConvolutionCoefficients | ( | vx_convolution | conv, |
void * | user_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy coefficients from/into a convolution object.
- Parameters
-
[in] conv The reference to the convolution object that is the source or the destination of the copy. [in] user_ptr The address of the memory location where to store the requested coefficient data if the copy was requested in read mode, or from where to get the coefficient data to store into the convolution object if the copy was requested in write mode. In the user memory, the convolution coefficient data is structured as a row-major 2D array with elements of the type corresponding to VX_TYPE_CONVOLUTION
, with a number of rows corresponding toVX_CONVOLUTION_ROWS
and a number of columns corresponding toVX_CONVOLUTION_COLUMNS
. The accessible memory must be large enough to contain this 2D array: accessible memory in bytes >= sizeof(data_element) * rows * columns.[in] usage This declares the effect of the copy with regard to the convolution object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that data are copied from the convolution object into the user memory.VX_WRITE_ONLY
means that data are copied into the convolution object from the user memory.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the memory type of the memory referenced by the user_addr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE conv is not a valid vx_convolution
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyDistribution()
VX_API_ENTRY vx_status VX_API_CALL vxCopyDistribution | ( | vx_distribution | distribution, |
void * | user_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy from/into a distribution object.
- Parameters
-
[in] distribution The reference to the distribution object that is the source or the destination of the copy. [in] user_ptr The address of the memory location where to store the requested data if the copy was requested in read mode, or from where to get the data to store into the distribution object if the copy was requested in write mode. In the user memory, the distribution is represented as a vx_uint32
array with a number of elements equal to the value returned viaVX_DISTRIBUTION_BINS
. The accessible memory must be large enough to contain this vx_uint32 array: accessible memory in bytes >= sizeof(vx_uint32) * num_bins.[in] usage This declares the effect of the copy with regard to the distribution object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that data are copied from the distribution object into the user memory.VX_WRITE_ONLY
means that data are copied into the distribution object from the user memory.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the memory type of the memory referenced by the user_addr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE distribution is not a valid vx_distribution
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyImagePatch()
VX_API_ENTRY vx_status VX_API_CALL vxCopyImagePatch | ( | vx_image | image, |
const vx_rectangle_t * | image_rect, | ||
vx_uint32 | image_plane_index, | ||
const vx_imagepatch_addressing_t * | user_addr, | ||
void * | user_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy a rectangular patch from/into an image object plane.
- Parameters
-
[in] image The reference to the image object that is the source or the destination of the copy. [in] image_rect The coordinates of the image patch. The patch must be within the bounds of the image. (start_x, start_y) gives the coordinates of the topleft pixel inside the patch, while (end_x, end_y) gives the coordinates of the bottomright element out of the patch. Must be 0 <= start < end <= number of pixels in the image dimension. [in] image_plane_index The plane index of the image object that is the source or the destination of the patch copy. [in] user_addr The address of a structure describing the layout of the user memory location pointed by user_ptr. In the structure, only dim_x, dim_y, stride_x and stride_y fields must be provided, other fields are ignored by the function. The layout of the user memory must follow a row major order: stride_x >= pixel size in bytes, and stride_y >= stride_x * dim_x. [in] user_ptr The address of the memory location where to store the requested data if the copy was requested in read mode, or from where to get the data to store into the image object if the copy was requested in write mode. The accessible memory must be large enough to contain the specified patch with the specified layout: accessible memory in bytes >= (end_y - start_y) * stride_y. [in] usage This declares the effect of the copy with regard to the image object using the vx_accessor_e
enumeration. For uniform images, only VX_READ_ONLY is supported. For other images, OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that data is copied from the image object into the application memoryVX_WRITE_ONLY
means that data is copied into the image object from the application memory
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the memory type of the memory referenced by the user_addr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_OPTIMIZED_AWAY This is a reference to a virtual image that cannot be accessed by the application. VX_ERROR_INVALID_REFERENCE image is not a valid vx_image
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Note
- The application may ask for data outside the bounds of the valid region, but such data has an undefined value.
-
Some special restrictions apply to
VX_DF_IMAGE_U1
images.
◆ vxCopyLUT()
VX_API_ENTRY vx_status VX_API_CALL vxCopyLUT | ( | vx_lut | lut, |
void * | user_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy from/into a LUT object.
- Parameters
-
[in] lut The reference to the LUT object that is the source or the destination of the copy. [in] user_ptr The address of the memory location where to store the requested data if the copy was requested in read mode, or from where to get the data to store into the LUT object if the copy was requested in write mode. In the user memory, the LUT is represented as a array with elements of the type corresponding to VX_LUT_TYPE
, and with a number of elements equal to the value returned viaVX_LUT_COUNT
. The accessible memory must be large enough to contain this array: accessible memory in bytes >= sizeof(data_element) * count.[in] usage This declares the effect of the copy with regard to the LUT object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that data are copied from the LUT object into the user memory.VX_WRITE_ONLY
means that data are copied into the LUT object from the user memory.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the memory type of the memory referenced by the user_addr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE lut is not a valid vx_lut
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyMatrix()
VX_API_ENTRY vx_status VX_API_CALL vxCopyMatrix | ( | vx_matrix | matrix, |
void * | user_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy from/into a matrix object.
- Parameters
-
[in] matrix The reference to the matrix object that is the source or the destination of the copy. [in] user_ptr The address of the memory location where to store the requested data if the copy was requested in read mode, or from where to get the data to store into the matrix object if the copy was requested in write mode. In the user memory, the matrix is structured as a row-major 2D array with elements of the type corresponding to VX_MATRIX_TYPE
, with a number of rows corresponding toVX_MATRIX_ROWS
and a number of columns corresponding toVX_MATRIX_COLUMNS
. The accessible memory must be large enough to contain this 2D array: accessible memory in bytes >= sizeof(data_element) * rows * columns.[in] usage This declares the effect of the copy with regard to the matrix object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that data are copied from the matrix object into the user memory.VX_WRITE_ONLY
means that data are copied into the matrix object from the user memory.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the memory type of the memory referenced by the user_addr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE matrix is not a valid vx_matrix
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyRemapPatch()
VX_API_ENTRY vx_status VX_API_CALL vxCopyRemapPatch | ( | vx_remap | remap, |
const vx_rectangle_t * | rect, | ||
vx_size | user_stride_y, | ||
void * | user_ptr, | ||
vx_enum | user_coordinate_type, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy a rectangular patch from/into a remap object.
The patch is specified within the destination dimensions and its data provide the corresponding coordinate within the source dimensions. The patch in user memory is a 2D array of elements of the type associated with the coordinate_type
parameter (i.e., vx_coordinates2df_t
for VX_TYPE_COORDINATES2DF
). The memory layout of this array follows a row-major order where rows are compact (without any gap between elements), and where the potential padding after each line is determined by the user_stride_y
parameter.
- Parameters
-
[in] remap The reference to the remap object that is the source or the destination of the patch copy. [in] rect The coordinates of remap patch. The patch must be specified within the bounds of the remap destination dimensions ( VX_REMAP_DESTINATION_WIDTH
xVX_REMAP_DESTINATION_HEIGHT
). (start_x, start_y) gives the coordinate of the topleft element inside the patch, while (end_x, end_y) gives the coordinate of the bottomright element out of the patch.[in] user_stride_y The difference between the address of the first element of two successive lines of the remap patch in user memory (pointed by user_ptr
). The layout of the user memory must follow a row major order and user_stride_y must follow the following rule : user_stride_y >= sizeof(<ELEMENT_TYPE>) * (rect->end_x - rect->start_x).[in] user_ptr The address of the user memory location where to store the requested remap data if the copy was requested in read mode, or from where to get the remap data to store into the remap object if the copy was requested in write mode. user_ptr
is the address of the the top-left element of the remap patch. The accessible user memory must be large enough to contain the specified patch with the specified layout: accessible memory in bytes >= (rect->end_y - rect->start_y) * user_stride_y.[in] user_coordinate_type This declares the type of the source coordinate remap data in the user memory. It must be VX_TYPE_COORDINATES2DF
.[in] usage This declares the effect of the copy with regard to the remap object using the vx_accessor_e
enumeration. Only VX_READ_ONLY and VX_WRITE_ONLY are supported:VX_READ_ONLY
means that data is copied from the remap object into the user memory pointer byuser_ptr
. The potential padding after each line in user memory will stay unchanged.VX_WRITE_ONLY
means that data is copied into the remap object from the user memory.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the type of the memory pointer byuser_ptr
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE remap is not a valid vx_remap
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyScalar()
VX_API_ENTRY vx_status VX_API_CALL vxCopyScalar | ( | vx_scalar | scalar, |
void * | user_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy from/into a scalar object.
- Parameters
-
[in] scalar The reference to the scalar object that is the source or the destination of the copy. [in] user_ptr The address of the memory location where to store the requested data if the copy was requested in read mode, or from where to get the data to store into the scalar object if the copy was requested in write mode. In the user memory, the scalar is a variable of the type corresponding to VX_SCALAR_TYPE
. The accessible memory must be large enough to contain this variable.[in] usage This declares the effect of the copy with regard to the scalar object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that data are copied from the scalar object into the user memory.VX_WRITE_ONLY
means that data are copied into the scalar object from the user memory.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the memory type of the memory referenced by the user_addr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE scalar is not a valid vx_scalar
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyScalarWithSize()
VX_API_ENTRY vx_status VX_API_CALL vxCopyScalarWithSize | ( | vx_scalar | scalar, |
vx_size | size, | ||
void * | user_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy from/into a scalar object with size.
- Parameters
-
[in] scalar The reference to the scalar object that is the source or the destination of the copy. [in] size The size in bytes of the container to which user_ptr points. [in] user_ptr The address of the memory location where to store the requested data if the copy was requested in read mode, or from where to get the data to store into the scalar object if the copy was requested in write mode. In the user memory, the scalar is a variable of the type corresponding to VX_SCALAR_TYPE
. The accessible memory must be large enough to contain this variable.[in] usage This declares the effect of the copy with regard to the scalar object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that data are copied from the scalar object into the user memory.VX_WRITE_ONLY
means that data are copied into the scalar object from the user memory.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the memory type of the memory referenced by the user_addr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_ERROR_INVALID_REFERENCE The scalar reference is not actually a scalar reference. VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyTensorPatch()
VX_API_ENTRY vx_status VX_API_CALL vxCopyTensorPatch | ( | vx_tensor | tensor, |
vx_size | number_of_dims, | ||
const vx_size * | view_start, | ||
const vx_size * | view_end, | ||
const vx_size * | user_stride, | ||
void * | user_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_memory_type | ||
) |
Allows the application to copy a view patch from/into an tensor object .
- Parameters
-
[in] tensor The reference to the tensor object that is the source or the destination of the copy. [in] number_of_dims Number of patch dimension. Error return if 0 or greater than number of tensor dimensions. If smaller than number of tensor dimensions, the lower dimensions are assumed. [in] view_start Array of patch start points in each dimension [in] view_end Array of patch end points in each dimension [in] user_stride Array of user memory strides in each dimension [in] user_ptr The address of the memory location where to store the requested data if the copy was requested in read mode, or from where to get the data to store into the tensor object if the copy was requested in write mode. The accessible memory must be large enough to contain the specified patch with the specified layout:
accessible memory in bytes >= (end[last_dimension] - start[last_dimension]) * stride[last_dimension].
The layout of the user memory must follow a row major order.[in] usage This declares the effect of the copy with regard to the tensor object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that data is copied from the tensor object into the application memoryVX_WRITE_ONLY
means that data is copied into the tensor object from the application memory
[in] user_memory_type A vx_memory_type_e
enumeration that specifies the memory type of the memory referenced by the user_addr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_ERROR_OPTIMIZED_AWAY This is a reference to a virtual tensor that cannot be accessed by the application. VX_ERROR_INVALID_REFERENCE The tensor reference is not actually an tensor reference. VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyThresholdOutput()
VX_API_ENTRY vx_status VX_API_CALL vxCopyThresholdOutput | ( | vx_threshold | thresh, |
vx_pixel_value_t * | true_value_ptr, | ||
vx_pixel_value_t * | false_value_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy the true and false output values from/into a threshold object.
- Parameters
-
[in] thresh The reference to the threshold object that is the source or the destination of the copy. [in,out] true_value_ptr The address of the memory location where to store the true output value if the copy was requested in read mode, or from where to get the true output value to store into the threshold object if the copy was requested in write mode. [in,out] false_value_ptr The address of the memory location where to store the false output value if the copy was requested in read mode, or from where to get the false output value to store into the threshold object if the copy was requested in write mode. [in] usage This declares the effect of the copy with regard to the threshold object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that true and false output values are copied from the threshold object into the user memory. After the copy, only the field of (*true_value_ptr) and (*false_value_ptr) unions that corresponds to the output image format of the threshold object is meaningful.VX_WRITE_ONLY
means the field of the (*true_value_ptr) and (*false_value_ptr) unions corresponding to the output format of the threshold object is copied into the threshold object.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the type of the memory referenced bytrue_value_ptr
andfalse_value_ptr
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_ERROR_INVALID_REFERENCE The threshold reference is not actually a threshold reference. VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyThresholdRange()
VX_API_ENTRY vx_status VX_API_CALL vxCopyThresholdRange | ( | vx_threshold | thresh, |
vx_pixel_value_t * | lower_value_ptr, | ||
vx_pixel_value_t * | upper_value_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy thresholding values from/into a threshold object with type VX_THRESHOLD_TYPE_RANGE
.
- Parameters
-
[in] thresh The reference to the threshold object that is the source or the destination of the copy. [in,out] lower_value_ptr The address of the memory location where to store the lower thresholding value if the copy was requested in read mode, or from where to get the lower thresholding value to store into the threshold object if the copy was requested in write mode. [in,out] upper_value_ptr The address of the memory location where to store the upper thresholding value if the copy was requested in read mode, or from where to get the upper thresholding value to store into the threshold object if the copy was requested in write mode. [in] usage This declares the effect of the copy with regard to the threshold object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that thresholding values are copied from the threshold object into the user memory. After the copy, only the field of (*lower_value_ptr) and (*upper_value_ptr) unions that corresponds to the input image format of the threshold object is meaningful.VX_WRITE_ONLY
means the field of the (*lower_value_ptr) and (*upper_value_ptr) unions corresponding to the input format of the threshold object is copied into the threshold object.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the type of the memory referenced bylower_value_ptr
andupper_value_ptr
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_ERROR_INVALID_REFERENCE The threshold reference is not actually a threshold reference. VX_ERROR_NOT_COMPATIBLE The threshold object doesn't have type VX_THRESHOLD_TYPE_RANGE
VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCopyThresholdValue()
VX_API_ENTRY vx_status VX_API_CALL vxCopyThresholdValue | ( | vx_threshold | thresh, |
vx_pixel_value_t * | value_ptr, | ||
vx_enum | usage, | ||
vx_enum | user_mem_type | ||
) |
Allows the application to copy the thresholding value from/into a threshold object with type VX_THRESHOLD_TYPE_BINARY
.
- Parameters
-
[in] thresh The reference to the threshold object that is the source or the destination of the copy. [in,out] value_ptr The address of the memory location where to store the thresholding value if the copy was requested in read mode, or from where to get the thresholding value to store into the threshold object if the copy was requested in write mode. [in] usage This declares the effect of the copy with regard to the threshold object using the vx_accessor_e
enumeration. OnlyVX_READ_ONLY
andVX_WRITE_ONLY
are supported:VX_READ_ONLY
means that the thresholding value is copied from the threshold object into the user memory. After the copy, only the field of the (*value_ptr) union that corresponds to the input image format of the threshold object is meaningful.VX_WRITE_ONLY
means the field of the (*value_ptr) union corresponding to the input format of the threshold object is copied into the threshold object.
[in] user_mem_type A vx_memory_type_e
enumeration that specifies the type of the memory referenced byvalue_ptr
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_ERROR_INVALID_REFERENCE The threshold reference is not actually a threshold reference. VX_ERROR_NOT_COMPATIBLE The threshold object doesn't have type VX_THRESHOLD_TYPE_BINARY
VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
◆ vxCreateArray()
VX_API_ENTRY vx_array VX_API_CALL vxCreateArray | ( | vx_context | context, |
vx_enum | item_type, | ||
vx_size | capacity | ||
) |
Creates a reference to an Array object.
User must specify the Array capacity (i.e., the maximal number of items that the array can hold).
- Parameters
-
[in] context The reference to the overall Context. [in] item_type The type of data to hold. Must be greater than VX_TYPE_INVALID
and less than or equal toVX_TYPE_VENDOR_STRUCT_END
. Or must be avx_enum
returned fromvxRegisterUserStruct
.[in] capacity The maximal number of items that the array can hold. This value must be greater than zero.
- Returns
- An array reference
vx_array
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateContext()
VX_API_ENTRY vx_context VX_API_CALL vxCreateContext | ( | void | ) |
Creates a vx_context
.
This creates a top-level object context for OpenVX.
- Note
- This is required to do anything else.
- Returns
- The reference to the implementation context
vx_context
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
- Postcondition
vxReleaseContext
◆ vxCreateConvolution()
VX_API_ENTRY vx_convolution VX_API_CALL vxCreateConvolution | ( | vx_context | context, |
vx_size | columns, | ||
vx_size | rows | ||
) |
Creates a reference to a convolution matrix object.
- Parameters
-
[in] context The reference to the overall context. [in] columns The columns dimension of the convolution. Must be odd and greater than or equal to 3 and less than the value returned from VX_CONTEXT_CONVOLUTION_MAX_DIMENSION
.[in] rows The rows dimension of the convolution. Must be odd and greater than or equal to 3 and less than the value returned from VX_CONTEXT_CONVOLUTION_MAX_DIMENSION
.
- Returns
- A convolution reference
vx_convolution
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateDelay()
VX_API_ENTRY vx_delay VX_API_CALL vxCreateDelay | ( | vx_context | context, |
vx_reference | exemplar, | ||
vx_size | num_slots | ||
) |
Creates a Delay object.
This function creates a delay object with num_slots
slots. Each slot contains a clone of the exemplar. The clones only inherit the metadata of the exemplar. The data content of the exemplar is ignored and the clones have their data undefined at delay creation time. The function does not alter the exemplar. Also, it doesn't retain or release the reference to the exemplar.
- Note
- For the definition of metadata attributes see vxSetMetaFormatAttribute.
- Parameters
-
[in] context The reference to the context. [in] exemplar The exemplar object. Supported exemplar object types are:
[in] num_slots The number of objects in the delay. This value must be greater than zero.
- Returns
- A delay reference
vx_delay
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateDistribution()
VX_API_ENTRY vx_distribution VX_API_CALL vxCreateDistribution | ( | vx_context | context, |
vx_size | numBins, | ||
vx_int32 | offset, | ||
vx_uint32 | range | ||
) |
Creates a reference to a 1D Distribution of a consecutive interval [offset, offset + range - 1] defined by a start offset and valid range, divided equally into numBins parts.
- Parameters
-
[in] context The reference to the overall context. [in] numBins The number of bins in the distribution. [in] offset The start offset into the range value that marks the begining of the 1D Distribution. [in] range The total number of the consecutive values of the distribution interval.
- Returns
- A distribution reference
vx_distribution
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateGenericNode()
VX_API_ENTRY vx_node VX_API_CALL vxCreateGenericNode | ( | vx_graph | graph, |
vx_kernel | kernel | ||
) |
Creates a reference to a node object for a given kernel.
This node has no references assigned as parameters after completion. The client is then required to set these parameters manually by vxSetParameterByIndex
. When clients supply their own node creation functions (for use with User Kernels), this is the API to use along with the parameter setting API.
- Parameters
-
[in] graph The reference to the graph in which this node exists. [in] kernel The kernel reference to associate with this new node.
- Returns
- A node reference
vx_node
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
- Note
- A call to this API sets all parameters to NULL.
- Postcondition
- Call
vxSetParameterByIndex
for as many parameters as needed to be set.
◆ vxCreateGraph()
VX_API_ENTRY vx_graph VX_API_CALL vxCreateGraph | ( | vx_context | context | ) |
Creates an empty graph.
- Parameters
-
[in] context The reference to the implementation context.
- Returns
- A graph reference
vx_graph
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateImage()
VX_API_ENTRY vx_image VX_API_CALL vxCreateImage | ( | vx_context | context, |
vx_uint32 | width, | ||
vx_uint32 | height, | ||
vx_df_image | color | ||
) |
Creates an opaque reference to an image buffer.
Not guaranteed to exist until the vx_graph
containing it has been verified.
- Parameters
-
[in] context The reference to the implementation context. [in] width The image width in pixels. The image in the formats of VX_DF_IMAGE_NV12
,VX_DF_IMAGE_NV21
,VX_DF_IMAGE_IYUV
,VX_DF_IMAGE_UYVY
,VX_DF_IMAGE_YUYV
must have even width.[in] height The image height in pixels. The image in the formats of VX_DF_IMAGE_NV12
,VX_DF_IMAGE_NV21
,VX_DF_IMAGE_IYUV
must have even height.[in] color The VX_DF_IMAGE ( vx_df_image_e
) code that represents the format of the image and the color space.
- Returns
- An image reference
vx_image
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
- See also
- vxMapImagePatch to obtain direct memory access to the image data.
◆ vxCreateImageFromChannel()
VX_API_ENTRY vx_image VX_API_CALL vxCreateImageFromChannel | ( | vx_image | img, |
vx_enum | channel | ||
) |
Create a sub-image from a single plane channel of another image.
The sub-image refers to the data in the original image. Updates to this image update the parent image and reversely.
The function supports only channels that occupy an entire plane of a multi-planar images, as listed below. Other cases are not supported. VX_CHANNEL_Y from YUV4, IYUV, NV12, NV21 VX_CHANNEL_U from YUV4, IYUV VX_CHANNEL_V from YUV4, IYUV
- Parameters
-
[in] img The reference to the parent image. [in] channel The vx_channel_e
channel to use.
- Returns
- An image reference
vx_image
to the sub-image. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateImageFromHandle()
VX_API_ENTRY vx_image VX_API_CALL vxCreateImageFromHandle | ( | vx_context | context, |
vx_df_image | color, | ||
const vx_imagepatch_addressing_t | addrs[], | ||
void *const | ptrs[], | ||
vx_enum | memory_type | ||
) |
Creates a reference to an image object that was externally allocated.
- Parameters
-
[in] context The reference to the implementation context. [in] color See the vx_df_image_e
codes. This mandates the number of planes needed to be valid in the addrs and ptrs arrays based on the format given.[in] addrs[] The array of image patch addressing structures that define the dimension and stride of the array of pointers. See note below. [in] ptrs[] The array of platform-defined references to each plane. See note below. [in] memory_type vx_memory_type_e
. When givingVX_MEMORY_TYPE_HOST
the ptrs array is assumed to be HOST accessible pointers to memory.
- Returns
- An image reference
vx_image
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
- Note
- The user must call vxMapImagePatch prior to accessing the pixels of an image, even if the image was created via
vxCreateImageFromHandle
. Reads or writes to memory referenced by ptrs[ ] after callingvxCreateImageFromHandle
without first callingvxMapImagePatch
will result in undefined behavior. The property of addr[] and ptrs[] arrays is kept by the caller (It means that the implementation will make an internal copy of the provided information. addr and ptrs can then simply be application's local variables). Only dim_x, dim_y, stride_x and stride_y fields of thevx_imagepatch_addressing_t
need to be provided by the application. Other fields (step_x, step_y, scale_x & scale_y) are ignored by this function. The layout of the imported memory must follow a row-major order. In other words, stride_x should be sufficiently large so that there is no overlap between data elements corresponding to different pixels, and stride_y >= stride_x * dim_x.
In order to release the image back to the application we should use vxSwapImageHandle
. An exception is for VX_DF_IMAGE_U1
images where stride_x == 0 and instead stride_y >= ⌈dim_x / 8⌉.
Import type of the created image is available via the image attribute vx_image_attribute_e
parameter.
◆ vxCreateImageFromROI()
VX_API_ENTRY vx_image VX_API_CALL vxCreateImageFromROI | ( | vx_image | img, |
const vx_rectangle_t * | rect | ||
) |
Creates an image from another image given a rectangle. This second reference refers to the data in the original image. Updates to this image updates the parent image. The rectangle must be defined within the pixel space of the parent image.
- Parameters
-
[in] img The reference to the parent image. [in] rect The region of interest rectangle. Must contain points within the parent image pixel space.
- Returns
- An image reference
vx_image
to the sub-image. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateImageObjectArrayFromTensor()
VX_API_ENTRY vx_object_array VX_API_CALL vxCreateImageObjectArrayFromTensor | ( | vx_tensor | tensor, |
const vx_rectangle_t * | rect, | ||
vx_size | array_size, | ||
vx_size | jump, | ||
vx_df_image | image_format | ||
) |
Creates an array of images into the multi-dimension data, this can be adjacent 2D images or not depending on the stride value. The stride value is representing bytes in the third dimension. The OpenVX image object that points to a three dimension data and access it as an array of images. This has to be portion of the third lowest dimension, and the stride correspond to that third dimension. The returned Object array is an array of images. Where the image data is pointing to a specific memory in the input tensor.
- Parameters
-
[in] tensor The tensor data from which to extract the images. Has to be a 3d tensor. [in] rect Image coordinates within tensor data. [in] array_size Number of images to extract. [in] jump Delta between two images in the array. [in] image_format The requested image format. Should match the tensor data's data type.
- Returns
- An array of images pointing to the tensor data's data.
◆ vxCreateLUT()
VX_API_ENTRY vx_lut VX_API_CALL vxCreateLUT | ( | vx_context | context, |
vx_enum | data_type, | ||
vx_size | count | ||
) |
Creates LUT object of a given type. The value of VX_LUT_OFFSET
is equal to 0 for data_type = VX_TYPE_UINT8
, and (vx_uint32)(count/2) for VX_TYPE_INT16
.
- Parameters
-
[in] context The reference to the context. [in] data_type The type of data stored in the LUT. [in] count The number of entries desired.
- Note
- data_type can only be VX_TYPE_UINT8 or VX_TYPE_INT16. If data_type is VX_TYPE_UINT8, count should be not greater than 256. If data_type is VX_TYPE_INT16, count should not be greater than 65536.
- Returns
- An LUT reference
vx_lut
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateMatrix()
VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrix | ( | vx_context | c, |
vx_enum | data_type, | ||
vx_size | columns, | ||
vx_size | rows | ||
) |
Creates a reference to a matrix object.
- Parameters
-
[in] c The reference to the overall context. [in] data_type The vx_type_e that represents the data type of the matrix data elements. [in] columns The first dimensionality. [in] rows The second dimensionality.
- Returns
- An matrix reference
vx_matrix
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateMatrixFromPattern()
VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrixFromPattern | ( | vx_context | context, |
vx_enum | pattern, | ||
vx_size | columns, | ||
vx_size | rows | ||
) |
Creates a reference to a matrix object from a boolean pattern.
- See also
vxCreateMatrixFromPatternAndOrigin
for a description of the matrix patterns.
- Parameters
-
[in] context The reference to the overall context. [in] pattern The pattern of the matrix. See VX_MATRIX_PATTERN
.[in] columns The first dimensionality. [in] rows The second dimensionality.
- Returns
- A matrix reference
vx_matrix
of typeVX_TYPE_UINT8
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateMatrixFromPatternAndOrigin()
VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrixFromPatternAndOrigin | ( | vx_context | context, |
vx_enum | pattern, | ||
vx_size | columns, | ||
vx_size | rows, | ||
vx_size | origin_col, | ||
vx_size | origin_row | ||
) |
Creates a reference to a matrix object from a boolean pattern, with a user-specified origin.
The matrix created by this function is of type VX_TYPE_UINT8
, with the value 0 representing False, and the value 255 representing True. It supports the patterns as described below:
- VX_PATTERN_BOX is a matrix with dimensions equal to the given number of rows and columns, and all cells equal to 255. Dimensions of 3x3 and 5x5 must be supported.
- VX_PATTERN_CROSS is a matrix with dimensions equal to the given number of rows and columns, which both must be odd numbers. All cells in the center row and center column are equal to 255, and the rest are equal to zero. Dimensions of 3x3 and 5x5 must be supported.
- VX_PATTERN_DISK is a matrix with dimensions equal to the given number of rows (R) and columns (C), where R and C are odd and cell (c, r) is 255 if:
(r-R/2 + 0.5)^2 / (R/2)^2 + (c-C/2 + 0.5)^2/(C/2)^2 is less than or equal to 1,
and 0 otherwise.
A matrix created from pattern is read-only. The behavior when attempting to modify such a matrix is undefined.
- Parameters
-
[in] context The reference to the overall context. [in] pattern The pattern of the matrix. See VX_MATRIX_PATTERN
.[in] columns The first dimensionality. [in] rows The second dimensionality. [in] origin_col The origin (first dimensionality). [in] origin_row The origin (second dimensionality).
- Returns
- A matrix reference
vx_matrix
of typeVX_TYPE_UINT8
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateObjectArray()
VX_API_ENTRY vx_object_array VX_API_CALL vxCreateObjectArray | ( | vx_context | context, |
vx_reference | exemplar, | ||
vx_size | count | ||
) |
Creates a reference to an ObjectArray of count objects.
It uses the metadata of the exemplar to determine the object attributes, ignoring the object data. It does not alter the exemplar or keep or release the reference to the exemplar. For the definition of supported attributes see vxSetMetaFormatAttribute
. In case the exemplar is a virtual object it must be of immutable metadata, thus it is not allowed to be dimensionless or formatless.
- Parameters
-
[in] context The reference to the overall Context. [in] exemplar The exemplar object that defines the metadata of the created objects in the ObjectArray. [in] count Number of Objects to create in the ObjectArray. This value must be greater than zero.
- Returns
- An ObjectArray reference
vx_object_array
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
. Data objects are not initialized by this function.
◆ vxCreatePyramid()
VX_API_ENTRY vx_pyramid VX_API_CALL vxCreatePyramid | ( | vx_context | context, |
vx_size | levels, | ||
vx_float32 | scale, | ||
vx_uint32 | width, | ||
vx_uint32 | height, | ||
vx_df_image | format | ||
) |
Creates a reference to a pyramid object of the supplied number of levels.
- Parameters
-
[in] context The reference to the overall context. [in] levels The number of levels desired. This is required to be a non-zero value. [in] scale Used to indicate the scale between pyramid levels. This is required to be a non-zero positive value. VX_SCALE_PYRAMID_HALF
andVX_SCALE_PYRAMID_ORB
must be supported.[in] width The width of the 0th level image in pixels. [in] height The height of the 0th level image in pixels. [in] format The format of all images in the pyramid. NV12, NV21, IYUV, UYVY and YUYV formats are not supported.
- Returns
- A pyramid reference
vx_pyramid
containing the sub-images. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateRemap()
VX_API_ENTRY vx_remap VX_API_CALL vxCreateRemap | ( | vx_context | context, |
vx_uint32 | src_width, | ||
vx_uint32 | src_height, | ||
vx_uint32 | dst_width, | ||
vx_uint32 | dst_height | ||
) |
Creates a remap table object.
- Parameters
-
[in] context The reference to the overall context. [in] src_width Width of the source image in pixel. [in] src_height Height of the source image in pixels. [in] dst_width Width of the destination image in pixels. [in] dst_height Height of the destination image in pixels.
- Returns
- A remap reference
vx_remap
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateScalar()
VX_API_ENTRY vx_scalar VX_API_CALL vxCreateScalar | ( | vx_context | context, |
vx_enum | data_type, | ||
const void * | ptr | ||
) |
Creates a reference to a scalar object. Also see sub_node_parameters.
- Parameters
-
[in] context The reference to the system context. [in] data_type The type of data to hold. Must be greater than VX_TYPE_INVALID
and less than or equal toVX_TYPE_VENDOR_STRUCT_END
. Or must be avx_enum
returned fromvxRegisterUserStruct
.[in] ptr The pointer to the initial value of the scalar or NULL. If NULL, the initial value of the scalar, if any, is implementation dependent.
- Returns
- A scalar reference
vx_scalar
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateScalarWithSize()
VX_API_ENTRY vx_scalar VX_API_CALL vxCreateScalarWithSize | ( | vx_context | context, |
vx_enum | data_type, | ||
const void * | ptr, | ||
vx_size | size | ||
) |
Creates a reference to a scalar object. Also see sub_node_parameters.
- Parameters
-
[in] context The reference to the system context. [in] data_type The type of data to hold. Must be greater than VX_TYPE_INVALID
and less than or equal toVX_TYPE_VENDOR_STRUCT_END
. Or must be avx_enum
returned fromvxRegisterUserStruct
.[in] ptr The pointer to the initial value of the scalar. [in] size Size of data at ptr in bytes.
- Returns
- A scalar reference
vx_scalar
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateTensor()
VX_API_ENTRY vx_tensor VX_API_CALL vxCreateTensor | ( | vx_context | context, |
vx_size | number_of_dims, | ||
const vx_size * | dims, | ||
vx_enum | data_type, | ||
vx_int8 | fixed_point_position | ||
) |
Creates an opaque reference to a tensor data buffer.
Not guaranteed to exist until the vx_graph
containing it has been verified. Since functions using tensors, need to understand the context of each dimension. We describe a layout of the dimensions in each function using tensors. That layout is not mandatory. It is done specifically to explain the functions and not to mandate layout. Different implementation may have different layout. Therefore the layout description is logical and not physical. It refers to the order of dimensions given in this function.
- Parameters
-
[in] context The reference to the implementation context. [in] number_of_dims The number of dimensions. [in] dims Dimensions sizes in elements. [in] data_type The vx_type_e
that represents the data type of the tensor data elements.[in] fixed_point_position Specifies the fixed point position when the input element type is integer. if 0, calculations are performed in integer math.
- Returns
- A tensor data reference. Any possible errors preventing a successful creation should be checked using
vxGetStatus
.
◆ vxCreateTensorFromHandle()
VX_API_ENTRY vx_tensor VX_API_CALL vxCreateTensorFromHandle | ( | vx_context | context, |
vx_size | number_of_dims, | ||
const vx_size * | dims, | ||
vx_enum | data_type, | ||
vx_int8 | fixed_point_position, | ||
const vx_size * | stride, | ||
void * | ptr, | ||
vx_enum | memory_type | ||
) |
Creates a reference to an tensor object that was externally allocated.
- Parameters
-
[in] context The reference to the implementation context. [in] number_of_dims The number of dimensions. [in] dims Dimensions sizes in elements. [in] data_type The vx_type_e
that represents the data type of the tensor data elements.[in] fixed_point_position Specifies the fixed point position when the input element type is integer. if 0, calculations are performed in integer math. [in] stride An array of stride in all dimensions in bytes. The stride value at index 0 must be size of the tensor data element type. [in] ptr The platform-defined reference to tensor. See note below. [in] memory_type vx_memory_type_e
. When givingVX_MEMORY_TYPE_HOST
the ptr is assumed to be HOST accessible pointer to memory.
- Returns
- A tensor data reference. Any possible errors preventing a successful creation should be checked using
vxGetStatus
.
- Note
- The user must call vxMapTensorPatch prior to accessing the elements of a tensor, even if the tensor was created via
vxCreateTensorFromHandle
. Reads or writes to memory referenced by ptr after callingvxCreateTensorFromHandle
without first callingvxMapTensorPatch
will result in undefined behavior. The property of stride[] and ptr is kept by the caller (It means that the implementation will make an internal copy of the provided information. stride and ptr can then simply be application's local variables).
In order to release the tensor back to the application we should use vxSwapTensorHandle
.
◆ vxCreateTensorFromView()
VX_API_ENTRY vx_tensor VX_API_CALL vxCreateTensorFromView | ( | vx_tensor | tensor, |
vx_size | number_of_dims, | ||
const vx_size * | view_start, | ||
const vx_size * | view_end | ||
) |
Creates a tensor data from another tensor data given a view. This second reference refers to the data in the original tensor data. Updates to this tensor data updates the parent tensor data. The view must be defined within the dimensions of the parent tensor data.
- Parameters
-
[in] tensor The reference to the parent tensor data. [in] number_of_dims Number of dimensions in the view. Error return if 0 or greater than number of tensor dimensions. If smaller than number of tensor dimensions, the lower dimensions are assumed. [in] view_start View start coordinates [in] view_end View end coordinates
- Returns
- The reference to the sub-tensor. Any possible errors preventing a successful creation should be checked using
vxGetStatus
.
◆ vxCreateThresholdForImage()
VX_API_ENTRY vx_threshold VX_API_CALL vxCreateThresholdForImage | ( | vx_context | context, |
vx_enum | thresh_type, | ||
vx_df_image | input_format, | ||
vx_df_image | output_format | ||
) |
Creates a threshold object and returns a reference to it.
The threshold object defines the parameters of a thresholding operation to an input image, that generates an output image that can have a different format. The thresholding 'false' or 'true' output values are specified per pixel channels of the output format and can be modified with vxCopyThresholdOutput
. The default 'false' output value of pixels channels should be 0, and the default 'true' value should be non-zero. For standard image formats, default output pixel values are defined as following:
- VX_DF_IMAGE_RGB : false={0, 0, 0}, true={255,255,255}
- VX_DF_IMAGE_RGBX : false={0, 0, 0, 0}, true={255,255,255,255}
- VX_DF_IMAGE_NV12 : false={0, 0, 0}, true={255,255,255}
- VX_DF_IMAGE_NV21 : false={0, 0, 0}, true={255,255,255}
- VX_DF_IMAGE_UYVY : false={0, 0, 0}, true={255,255,255}
- VX_DF_IMAGE_YUYV : false={0, 0, 0}, true={255,255,255}
- VX_DF_IMAGE_IYUV : false={0, 0, 0}, true={255,255,255}
- VX_DF_IMAGE_YUV4 : false={0, 0, 0}, true={255,255,255}
- VX_DF_IMAGE_U8 : false=0, true=0xFF
- VX_DF_IMAGE_S16 : false=0, true=-1
- VX_DF_IMAGE_U16 : false=0, true=0xFFFF
- VX_DF_IMAGE_S32 : false=0, true=-1
- VX_DF_IMAGE_U32 : false=0, true=0xFFFFFFFF
- Parameters
-
[in] context The reference to the context in which the object is created. [in] thresh_type The type of thresholding operation. [in] input_format The format of images that will be used as input of the thresholding operation. [in] output_format The format of images that will be generated by the thresholding operation.
- Returns
- A threshold reference
vx_threshold
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateUniformImage()
VX_API_ENTRY vx_image VX_API_CALL vxCreateUniformImage | ( | vx_context | context, |
vx_uint32 | width, | ||
vx_uint32 | height, | ||
vx_df_image | color, | ||
const vx_pixel_value_t * | value | ||
) |
Creates a reference to an image object that has a singular, uniform value in all pixels. The uniform image created is read-only.
- Parameters
-
[in] context The reference to the implementation context. [in] width The image width in pixels. The image in the formats of VX_DF_IMAGE_NV12
,VX_DF_IMAGE_NV21
,VX_DF_IMAGE_IYUV
,VX_DF_IMAGE_UYVY
,VX_DF_IMAGE_YUYV
must have even width.[in] height The image height in pixels. The image in the formats of VX_DF_IMAGE_NV12
,VX_DF_IMAGE_NV21
,VX_DF_IMAGE_IYUV
must have even height.[in] color The VX_DF_IMAGE (vx_df_image_e) code that represents the format of the image and the color space. [in] value The pointer to the pixel value to which to set all pixels. See vx_pixel_value_t
.
- Returns
- An image reference
vx_image
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
- See also
vxMapImagePatch
to obtain direct memory access to the image data.
- Note
vxMapImagePatch
andvxUnmapImagePatch
may be called with a uniform image reference.
◆ vxCreateVirtualArray()
VX_API_ENTRY vx_array VX_API_CALL vxCreateVirtualArray | ( | vx_graph | graph, |
vx_enum | item_type, | ||
vx_size | capacity | ||
) |
Creates an opaque reference to a virtual Array with no direct user access.
Virtual Arrays are useful when item type or capacity are unknown ahead of time and the Array is used as internal graph edge. Virtual arrays are scoped within the parent graph only.
All of the following constructions are allowed.
- Parameters
-
[in] graph The reference to the parent graph. [in] item_type The type of data to hold. Must be greater than VX_TYPE_INVALID
and less than or equal toVX_TYPE_VENDOR_STRUCT_END
. Or must be avx_enum
returned fromvxRegisterUserStruct
. This may to set to zero to indicate an unspecified item type.[in] capacity The maximal number of items that the array can hold. This may be to set to zero to indicate an unspecified capacity.
- See also
- vxCreateArray for a type list.
- Returns
- A array reference
vx_array
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateVirtualConvolution()
VX_API_ENTRY vx_convolution VX_API_CALL vxCreateVirtualConvolution | ( | vx_graph | graph, |
vx_size | columns, | ||
vx_size | rows | ||
) |
Creates an opaque reference to a convolution matrix object without direct user access.
- Parameters
-
[in] graph The reference to the parent graph. [in] columns The columns dimension of the convolution. Must be odd and greater than or equal to 3 and less than the value returned from VX_CONTEXT_CONVOLUTION_MAX_DIMENSION
.[in] rows The rows dimension of the convolution. Must be odd and greater than or equal to 3 and less than the value returned from VX_CONTEXT_CONVOLUTION_MAX_DIMENSION
.
- See also
vxCreateConvolution
- Returns
- A convolution reference
vx_convolution
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateVirtualDistribution()
VX_API_ENTRY vx_distribution VX_API_CALL vxCreateVirtualDistribution | ( | vx_graph | graph, |
vx_size | numBins, | ||
vx_int32 | offset, | ||
vx_uint32 | range | ||
) |
Creates an opaque reference to a 1D Distribution object without direct user access.
- Parameters
-
[in] graph The reference to the parent graph. [in] numBins The number of bins in the distribution. [in] offset The start offset into the range value that marks the begining of the 1D Distribution. [in] range The total number of the consecutive values of the distribution interval.
- See also
vxCreateDistribution
- Returns
- A distribution reference
vx_distribution
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateVirtualImage()
VX_API_ENTRY vx_image VX_API_CALL vxCreateVirtualImage | ( | vx_graph | graph, |
vx_uint32 | width, | ||
vx_uint32 | height, | ||
vx_df_image | color | ||
) |
Creates an opaque reference to an image buffer with no direct user access. This function allows setting the image width, height, or format.
Virtual data objects allow users to connect various nodes within a graph via data references without access to that data, but they also permit the implementation to take maximum advantage of possible optimizations. Use this API to create a data reference to link two or more nodes together when the intermediate data are not required to be accessed by outside entities. This API in particular allows the user to define the image format of the data without requiring the exact dimensions. Virtual objects are scoped within the graph they are declared a part of, and can't be shared outside of this scope. All of the following constructions of virtual images are valid.
- Parameters
-
[in] graph The reference to the parent graph. [in] width The width of the image in pixels. A value of zero informs the interface that the value is unspecified. The image in the formats of VX_DF_IMAGE_NV12
,VX_DF_IMAGE_NV21
,VX_DF_IMAGE_IYUV
,VX_DF_IMAGE_UYVY
,VX_DF_IMAGE_YUYV
must have even width.[in] height The height of the image in pixels. A value of zero informs the interface that the value is unspecified. The image in the formats of VX_DF_IMAGE_NV12
,VX_DF_IMAGE_NV21
,VX_DF_IMAGE_IYUV
must have even height.[in] color The VX_DF_IMAGE ( vx_df_image_e
) code that represents the format of the image and the color space. A value ofVX_DF_IMAGE_VIRT
informs the interface that the format is unspecified.
- Returns
- An image reference
vx_image
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
- Note
- Passing this reference to
vxMapImagePatch
will return an error.
◆ vxCreateVirtualLUT()
VX_API_ENTRY vx_lut VX_API_CALL vxCreateVirtualLUT | ( | vx_graph | graph, |
vx_enum | data_type, | ||
vx_size | count | ||
) |
Creates an opaque reference to a LUT object with no direct user access.
- Parameters
-
[in] graph The reference to the parent graph. [in] data_type The type of data stored in the LUT. [in] count The number of entries desired.
- See also
vxCreateLUT
- Note
- data_type can only be VX_TYPE_UINT8 or VX_TYPE_INT16. If data_type is VX_TYPE_UINT8, count should be not greater than 256. If data_type is VX_TYPE_INT16, count should not be greater than 65536.
- Returns
- An LUT reference
vx_lut
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateVirtualMatrix()
VX_API_ENTRY vx_matrix VX_API_CALL vxCreateVirtualMatrix | ( | vx_graph | graph, |
vx_enum | data_type, | ||
vx_size | columns, | ||
vx_size | rows | ||
) |
Creates an opaque reference to a matrix object without direct user access.
- Parameters
-
[in] graph The reference to the parent graph. [in] data_type The vx_type_e that represents the data type of the matrix data elements. [in] columns The first dimensionality. [in] rows The second dimensionality.
- See also
vxCreateMatrix
- Returns
- An matrix reference
vx_matrix
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateVirtualObjectArray()
VX_API_ENTRY vx_object_array VX_API_CALL vxCreateVirtualObjectArray | ( | vx_graph | graph, |
vx_reference | exemplar, | ||
vx_size | count | ||
) |
Creates an opaque reference to a virtual ObjectArray with no direct user access.
This function creates an ObjectArray of count objects with similar behavior as vxCreateObjectArray
. The only difference is that the objects that are created are virtual in the given graph.
- Parameters
-
[in] graph Reference to the graph where to create the virtual ObjectArray. [in] exemplar The exemplar object that defines the type of object in the ObjectArray. Only exemplar type of vx_image
,vx_array
andvx_pyramid
are allowed.[in] count Number of Objects to create in the ObjectArray.
- Returns
- A ObjectArray reference
vx_object_array
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateVirtualPyramid()
VX_API_ENTRY vx_pyramid VX_API_CALL vxCreateVirtualPyramid | ( | vx_graph | graph, |
vx_size | levels, | ||
vx_float32 | scale, | ||
vx_uint32 | width, | ||
vx_uint32 | height, | ||
vx_df_image | format | ||
) |
Creates a reference to a virtual pyramid object of the supplied number of levels.
Virtual Pyramids can be used to connect Nodes together when the contents of the pyramids will not be accessed by the user of the API. All of the following constructions are valid:
- Parameters
-
[in] graph The reference to the parent graph. [in] levels The number of levels desired. This is required to be a non-zero value. [in] scale Used to indicate the scale between pyramid levels. This is required to be a non-zero positive value. VX_SCALE_PYRAMID_HALF
andVX_SCALE_PYRAMID_ORB
must be supported.[in] width The width of the 0th level image in pixels. This may be set to zero to indicate to the interface that the value is unspecified. [in] height The height of the 0th level image in pixels. This may be set to zero to indicate to the interface that the value is unspecified. [in] format The format of all images in the pyramid. This may be set to VX_DF_IMAGE_VIRT
to indicate that the format is unspecified.
- Returns
- A pyramid reference
vx_pyramid
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
- Note
- Images extracted with
vxGetPyramidLevel
behave as Virtual Images and causevxMapImagePatch
to return errors.
◆ vxCreateVirtualRemap()
VX_API_ENTRY vx_remap VX_API_CALL vxCreateVirtualRemap | ( | vx_graph | graph, |
vx_uint32 | src_width, | ||
vx_uint32 | src_height, | ||
vx_uint32 | dst_width, | ||
vx_uint32 | dst_height | ||
) |
Creates an opaque reference to a remap table object without direct user access.
- Parameters
-
[in] graph The reference to the parent graph. [in] src_width Width of the source image in pixel. [in] src_height Height of the source image in pixels. [in] dst_width Width of the destination image in pixels. [in] dst_height Height of the destination image in pixels.
- See also
vxCreateRemap
- Returns
- A remap reference
vx_remap
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateVirtualScalar()
VX_API_ENTRY vx_scalar VX_API_CALL vxCreateVirtualScalar | ( | vx_graph | graph, |
vx_enum | data_type | ||
) |
Creates an opaque reference to a scalar object with no direct user access.
- Parameters
-
[in] graph The reference to the parent graph. [in] data_type The type of data to hold. Must be greater than VX_TYPE_INVALID
and less than or equal toVX_TYPE_VENDOR_STRUCT_END
. Or must be avx_enum
returned fromvxRegisterUserStruct
.
- See also
vxCreateScalar
- Returns
- A scalar reference
vx_scalar
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxCreateVirtualTensor()
VX_API_ENTRY vx_tensor VX_API_CALL vxCreateVirtualTensor | ( | vx_graph | graph, |
vx_size | number_of_dims, | ||
const vx_size * | dims, | ||
vx_enum | data_type, | ||
vx_int8 | fixed_point_position | ||
) |
Creates an opaque reference to a tensor data buffer with no direct user access. This function allows setting the tensor data dimensions or data format.
Virtual data objects allow users to connect various nodes within a graph via data references without access to that data, but they also permit the implementation to take maximum advantage of possible optimizations. Use this API to create a data reference to link two or more nodes together when the intermediate data are not required to be accessed by outside entities. This API in particular allows the user to define the tensor data format of the data without requiring the exact dimensions. Virtual objects are scoped within the graph they are declared a part of, and can't be shared outside of this scope. Since functions using tensors, need to understand the context of each dimension. We describe a layout of the dimensions in each function. That layout is not mandated. It is done specifically to explain the functions and not to mandate layout. Different implementation may have different layout. Therfore the layout description is logical and not physical. It refers to the order of dimensions given in vxCreateTensor
and vxCreateVirtualTensor
.
- Parameters
-
[in] graph The reference to the parent graph. [in] number_of_dims The number of dimensions. [in] dims Dimensions sizes in elements. [in] data_type The vx_type_e
that represents the data type of the tensor data elements.[in] fixed_point_position Specifies the fixed point position when the input element type is integer. If 0, calculations are performed in integer math.
- Returns
- A tensor data reference.Any possible errors preventing a successful creation should be checked using
vxGetStatus
.
- Note
- Passing this reference to
vxCopyTensorPatch
will return an error.
◆ vxCreateVirtualThresholdForImage()
VX_API_ENTRY vx_threshold VX_API_CALL vxCreateVirtualThresholdForImage | ( | vx_graph | graph, |
vx_enum | thresh_type, | ||
vx_df_image | input_format, | ||
vx_df_image | output_format | ||
) |
Creates an opaque reference to a threshold object without direct user access.
- Parameters
-
[in] graph The reference to the parent graph. [in] thresh_type The type of thresholding operation. [in] input_format The format of images that will be used as input of the thresholding operation. [in] output_format The format of images that will be generated by the thresholding operation.
- See also
vxCreateThresholdForImage
- Returns
- A threshold reference
vx_threshold
. Any possible errors preventing a successful creation should be checked usingvxGetStatus
.
◆ vxDirective()
VX_API_ENTRY vx_status VX_API_CALL vxDirective | ( | vx_reference | reference, |
vx_enum | directive | ||
) |
Provides a generic API to give platform-specific directives to the implementations.
- Parameters
-
[in] reference The reference to the object to set the directive on. This could be vx_context
,vx_graph
,vx_node
,vx_image
,vx_array
, or any other reference.[in] directive The directive to set. See vx_directive_e
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE reference is not a valid vx_reference
reference.VX_ERROR_NOT_SUPPORTED If the directive is not supported.
- Note
- The performance counter directives are only available for the reference vx_context. Error VX_ERROR_NOT_SUPPORTED is returned when used with any other reference.
◆ vxFinalizeKernel()
VX_API_ENTRY vx_status VX_API_CALL vxFinalizeKernel | ( | vx_kernel | kernel | ) |
This API is called after all parameters have been added to the kernel and the kernel is ready to be used. Notice that the reference to the kernel created by vxAddUserKernel is still valid after the call to vxFinalizeKernel. If an error occurs, the kernel is not available for usage by the clients of OpenVX. Typically this is due to a mismatch between the number of parameters requested and given.
- Parameters
-
[in] kernel The reference to the loaded kernel from vxAddUserKernel
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE kernel is not a valid vx_kernel
reference.
- Precondition
vxAddUserKernel
andvxAddParameterToKernel
◆ vxFormatImagePatchAddress1d()
VX_API_ENTRY void* VX_API_CALL vxFormatImagePatchAddress1d | ( | void * | ptr, |
vx_uint32 | index, | ||
const vx_imagepatch_addressing_t * | addr | ||
) |
Accesses a specific indexed pixel in an image patch.
- Parameters
-
[in] ptr The base pointer of the patch as returned from vxMapImagePatch
.[in] index The 0 based index of the pixel count in the patch. Indexes increase horizontally by 1 then wrap around to the next row. [in] addr The pointer to the addressing mode information returned from vxMapImagePatch
.
- Returns
- void * Returns the pointer to the specified pixel.
- Precondition
vxMapImagePatch
- Note
- Some special restrictions apply to
VX_DF_IMAGE_U1
images.
◆ vxFormatImagePatchAddress2d()
VX_API_ENTRY void* VX_API_CALL vxFormatImagePatchAddress2d | ( | void * | ptr, |
vx_uint32 | x, | ||
vx_uint32 | y, | ||
const vx_imagepatch_addressing_t * | addr | ||
) |
Accesses a specific pixel at a 2d coordinate in an image patch.
- Parameters
-
[in] ptr The base pointer of the patch as returned from vxMapImagePatch
.[in] x The x dimension within the patch. [in] y The y dimension within the patch. [in] addr The pointer to the addressing mode information returned from vxMapImagePatch
.
- Returns
- void * Returns the pointer to the specified pixel.
- Precondition
vxMapImagePatch
- Note
- Some special restrictions apply to
VX_DF_IMAGE_U1
images.
◆ vxGetContext()
VX_API_ENTRY vx_context VX_API_CALL vxGetContext | ( | vx_reference | reference | ) |
Retrieves the context from any reference from within a context.
- Parameters
-
[in] reference The reference from which to extract the context.
- Returns
- The overall context that created the particular reference. Any possible errors preventing a successful completion of this function should be checked using
vxGetStatus
.
◆ vxGetGraphParameterByIndex()
VX_API_ENTRY vx_parameter VX_API_CALL vxGetGraphParameterByIndex | ( | vx_graph | graph, |
vx_uint32 | index | ||
) |
Retrieves a vx_parameter
from a vx_graph
.
- Parameters
-
[in] graph The graph. [in] index The index of the parameter.
- Returns
vx_parameter
reference. Any possible errors preventing a successful function completion should be checked usingvxGetStatus
.
◆ vxGetKernelByEnum()
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.
Enum values above the standard set are assumed to apply to loaded libraries.
- Parameters
-
[in] context The reference to the implementation context. [in] kernel A 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 usingvxGetStatus
.
- 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 | ||
) |
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] context The reference to the implementation context. [in] name The 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".
◆ vxGetKernelParameterByIndex()
VX_API_ENTRY vx_parameter VX_API_CALL vxGetKernelParameterByIndex | ( | vx_kernel | kernel, |
vx_uint32 | index | ||
) |
Retrieves a vx_parameter
from a vx_kernel
.
- Parameters
-
[in] kernel The reference to the kernel. [in] index The index of the parameter.
- Returns
- A
vx_parameter
reference. Any possible errors preventing a successful completion of the function should be checked usingvxGetStatus
.
◆ vxGetObjectArrayItem()
VX_API_ENTRY vx_reference VX_API_CALL vxGetObjectArrayItem | ( | vx_object_array | arr, |
vx_uint32 | index | ||
) |
Retrieves the reference to the OpenVX Object in location index of the ObjectArray.
This is a vx_reference, which can be used elsewhere in OpenVX. A call to vxRelease<Object> or vxReleaseReference
is necessary to release the Object for each call to this function.
- Parameters
-
[in] arr The ObjectArray. [in] index The index of the object in the ObjectArray.
- Returns
- A reference to an OpenVX data object. Any possible errors preventing a successful completion of the function should be checked using
vxGetStatus
.
◆ vxGetParameterByIndex()
VX_API_ENTRY vx_parameter VX_API_CALL vxGetParameterByIndex | ( | vx_node | node, |
vx_uint32 | index | ||
) |
Retrieves a vx_parameter
from a vx_node
.
- Parameters
-
[in] node The node from which to extract the parameter. [in] index The index of the parameter to which to get a reference.
- Returns
- A parameter reference
vx_parameter
. Any possible errors preventing a successful completion of the function should be checked usingvxGetStatus
.
◆ vxGetPyramidLevel()
VX_API_ENTRY vx_image VX_API_CALL vxGetPyramidLevel | ( | vx_pyramid | pyr, |
vx_uint32 | index | ||
) |
Retrieves a level of the pyramid as a vx_image
, which can be used elsewhere in OpenVX. A call to vxReleaseImage is necessary to release an image for each call of vxGetPyramidLevel.
- Parameters
-
[in] pyr The pyramid object. [in] index The index of the level, such that index is less than levels.
- Returns
- A
vx_image
reference. Any possible errors preventing a successful function completion should be checked usingvxGetStatus
.
◆ vxGetReferenceFromDelay()
VX_API_ENTRY vx_reference VX_API_CALL vxGetReferenceFromDelay | ( | vx_delay | delay, |
vx_int32 | index | ||
) |
Retrieves a reference to a delay slot object.
- Parameters
-
[in] delay The reference to the delay object. [in] index The index of the delay slot from which to extract the object reference.
- Returns
vx_reference
. Any possible errors preventing a successful completion of the function should be checked usingvxGetStatus
.
- Note
- The delay index is in the range . 0 is always the current object.
-
A reference retrieved with this function must not be given to its associated release API (e.g.
vxReleaseImage
) unlessvxRetainReference
is used.
◆ vxGetStatus()
VX_API_ENTRY vx_status VX_API_CALL vxGetStatus | ( | vx_reference | reference | ) |
Provides a generic API to return status values from Object constructors if they fail.
- Note
- Users do not need to strictly check every object creator as the errors should properly propagate and be detected during verification time or run-time. // status == VX_ERROR_INVALID_DIMENSIONSvxReleaseImage(&img);VX_API_ENTRY vx_status VX_API_CALL vxReleaseImage(vx_image *image)Releases a reference to an image object. The object may not be garbage collected until its total refe...VX_API_ENTRY vx_status VX_API_CALL vxGetStatus(vx_reference reference)Provides a generic API to return status values from Object constructors if they fail.VX_API_ENTRY vx_image VX_API_CALL vxCreateImage(vx_context context, vx_uint32 width, vx_uint32 height, vx_df_image color)Creates an opaque reference to an image buffer.struct _vx_reference * vx_referenceA generic opaque reference to any object within OpenVX.Definition: vx_types.h:145@ VX_DF_IMAGE_UYVYA single plane of 32-bit macro pixel of U0, Y0, V0, Y1 bytes. This uses the BT709 full range by defau...Definition: vx_types.h:728
- Precondition
- Appropriate Object Creator function.
- Postcondition
- Appropriate Object Release function.
- Parameters
-
[in] reference The reference to check for construction errors.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. * Some error occurred, please check enumeration list and constructor.
◆ vxGetUserStructEnumByName()
VX_API_ENTRY vx_status VX_API_CALL vxGetUserStructEnumByName | ( | vx_context | context, |
const vx_char * | type_name, | ||
vx_enum * | user_struct_type | ||
) |
Returns the enum of the user-defined structure associated with the name given.
- Parameters
-
[in] context The reference to the implementation context. [in] type_name Pointer to the '\0' terminated string that identifies the user struct type. The length of the string shall be lower than VX_MAX_REFERENCE_NAME bytes. [out] user_struct_type The enumeration value of the user struct
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS type_name was valid, and enumeration was found and returned VX_FAILURE type_name does not match any user struct enumeration.
- Precondition
vxRegisterUserStructWithName
should be called for this user struct.
◆ vxGetUserStructNameByEnum()
VX_API_ENTRY vx_status VX_API_CALL vxGetUserStructNameByEnum | ( | vx_context | context, |
vx_enum | user_struct_type, | ||
vx_char * | type_name, | ||
vx_size | name_size | ||
) |
Returns the name of the user-defined structure associated with the enumeration given.
- Parameters
-
[in] context The reference to the implementation context. [in] type_name The enumeration value of the user struct [out] name_size Name of the user struct [in] name_size The size of allocated buffer pointed to by type_name
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS user_struct_type was valid, and name was found and returned VX_ERROR_INVALID_PARAMETERS user_struct_type was not a valid user struct enumeration. VX_ERROR_NO_MEMORY name_size is too small to hold the name of the user struct type. VX_FAILURE user_struct_type does not have an associated type name.
- Precondition
vxRegisterUserStructWithName
should be called for this user struct.
◆ vxGetValidRegionImage()
VX_API_ENTRY vx_status VX_API_CALL vxGetValidRegionImage | ( | vx_image | image, |
vx_rectangle_t * | rect | ||
) |
Retrieves the valid region of the image as a rectangle.
- Parameters
-
[in] image The image from which to retrieve the valid region. [out] rect The destination rectangle.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE image is not a valid vx_image
reference.VX_ERROR_INVALID_PARAMETERS Invalid rect.
- Note
- This rectangle can be passed directly to
vxMapImagePatch
to get the full valid region of the image. -
Some special restrictions apply to
VX_DF_IMAGE_U1
images.
◆ vxHint()
VX_API_ENTRY vx_status VX_API_CALL vxHint | ( | vx_reference | reference, |
vx_enum | hint, | ||
const void * | data, | ||
vx_size | data_size | ||
) |
Provides a generic API to give platform-specific hints to the implementation.
- Parameters
-
[in] reference The reference to the object to hint at. This could be vx_context
,vx_graph
,vx_node
,vx_image
,vx_array
, or any other reference.[in] hint A vx_hint_e
hint to give to a vx_context. This is a platform-specific optimization or implementation mechanism.[in] data Optional vendor specific data. [in] data_size Size of the data structure data
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE reference is not a valid vx_reference
reference.VX_ERROR_NOT_SUPPORTED If the hint is not supported.
◆ vxIsGraphVerified()
VX_API_ENTRY vx_bool VX_API_CALL vxIsGraphVerified | ( | vx_graph | graph | ) |
Returns a Boolean to indicate the state of graph verification.
- Parameters
-
[in] graph The reference to the graph to check.
- Returns
- A
vx_bool
value.
- Return values
-
vx_true_e The graph is verified. vx_false_e The graph is not verified. It must be verified before execution either through vxVerifyGraph
or automatically throughvxProcessGraph
orvxScheduleGraph
.
◆ vxLoadKernels()
VX_API_ENTRY vx_status VX_API_CALL vxLoadKernels | ( | vx_context | context, |
const vx_char * | module | ||
) |
Loads a library of kernels, called module, into a context.
The module must be registered by vxRegisterKernelLibrary
if it is not a dynamic library or the module must be a dynamic library with by convention, two exported functions named vxPublishKernels
and vxUnpublishKernels
.
vxPublishKernels
must have type vx_publish_kernels_f
, and must add kernels to the context by calling vxAddUserKernel
for each new kernel. vxPublishKernels
is called by vxLoadKernels
.
vxUnpublishKernels
must have type vx_unpublish_kernels_f
, and must remove kernels from the context by calling vxRemoveKernel
for each kernel the vxPublishKernels
has added. vxUnpublishKernels
is called by vxUnloadKernels
.
- Note
- When all references to loaded kernels are released, the module may be automatically unloaded.
- Parameters
-
[in] context The reference to the context the kernels must be added to. [in] module The short name of the module to load. On systems where there are specific naming conventions for modules, the name passed should ignore such conventions. For example: libxyz.so
should be passed as justxyz
and the implementation will do the right thing that the platform requires.
- Note
- This API uses the system pre-defined paths for modules.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE context is not a valid vx_context
reference.VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect.
- Precondition
vxRegisterKernelLibrary
if the module is not a dynamic library
- See also
- vxGetKernelByName
◆ vxMapArrayRange()
VX_API_ENTRY vx_status VX_API_CALL vxMapArrayRange | ( | vx_array | array, |
vx_size | range_start, | ||
vx_size | range_end, | ||
vx_map_id * | map_id, | ||
vx_size * | stride, | ||
void ** | ptr, | ||
vx_enum | usage, | ||
vx_enum | mem_type, | ||
vx_uint32 | flags | ||
) |
Allows the application to get direct access to a range of an array object.
- Parameters
-
[in] array The reference to the array object that contains the range to map. [in] range_start The index of the first item of the array object to map. [in] range_end The index of the item following the last item of the array object to map. (range_end range_start) items are mapped, starting from index range_start included. The range must be within the bounds of the array: Must be 0 <= range_start < range_end <= number of items. [out] map_id The address of a vx_map_id
variable where the function returns a map identifier.- (*map_id) must eventually be provided as the map_id parameter of a call to
vxUnmapArrayRange
.
[out] stride The address of a vx_size variable where the function returns the memory layout of the mapped array range. The function sets (*stride) to the number of bytes between the beginning of two consecutive items. The application must consult (*stride) to access the array items starting from address (*ptr). The layout of the mapped array follows an item major order: (*stride) >= item size in bytes. [out] ptr The address of a pointer that the function sets to the address where the requested data can be accessed. The returned (*ptr) address is only valid between the call to the function and the corresponding call to vxUnmapArrayRange
.[in] usage This declares the access mode for the array range, using the vx_accessor_e
enumeration.VX_READ_ONLY
: after the function call, the content of the memory location pointed by (*ptr) contains the array range data. Writing into this memory location is forbidden and its behavior is undefined.VX_READ_AND_WRITE
: after the function call, the content of the memory location pointed by (*ptr) contains the array range data; writing into this memory is allowed only for the location of items and will result in a modification of the affected items in the array object once the range is unmapped. Writing into a gap between items (when (*stride) > item size in bytes) is forbidden and its behavior is undefined.VX_WRITE_ONLY
: after the function call, the memory location pointed by (*ptr) contains undefined data; writing each item of the range is required prior to unmapping. Items not written by the application before unmap will become undefined after unmap, even if they were well defined before map. Like for VX_READ_AND_WRITE, writing into a gap between items is forbidden and its behavior is undefined.
[in] mem_type A vx_memory_type_e
enumeration that specifies the type of the memory where the array range is requested to be mapped.[in] flags An integer that allows passing options to the map operation. Use the vx_map_flag_e
enumeration. - (*map_id) must eventually be provided as the map_id parameter of a call to
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_OPTIMIZED_AWAY This is a reference to a virtual array that cannot be accessed by the application. VX_ERROR_INVALID_REFERENCE array is not a valid vx_array
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Postcondition
vxUnmapArrayRange
with same (*map_id) value.
◆ vxMapDistribution()
VX_API_ENTRY vx_status VX_API_CALL vxMapDistribution | ( | vx_distribution | distribution, |
vx_map_id * | map_id, | ||
void ** | ptr, | ||
vx_enum | usage, | ||
vx_enum | mem_type, | ||
vx_bitfield | flags | ||
) |
Allows the application to get direct access to distribution object.
- Parameters
-
[in] distribution The reference to the distribution object to map. [out] map_id The address of a vx_map_id
variable where the function returns a map identifier.- (*map_id) must eventually be provided as the map_id parameter of a call to
vxUnmapDistribution
.
[out] ptr The address of a pointer that the function sets to the address where the requested data can be accessed. In the mapped memory area, data are structured as a vx_uint32 array with a number of elements equal to the value returned via VX_DISTRIBUTION_BINS
. Each element of this array corresponds to a bin of the distribution, with a range-major ordering. Accessing the memory out of the bound of this array is forbidden and has an undefined behavior. The returned (*ptr) address is only valid between the call to the function and the corresponding call tovxUnmapDistribution
.[in] usage This declares the access mode for the distribution, using the vx_accessor_e
enumeration.VX_READ_ONLY
: after the function call, the content of the memory location pointed by (*ptr) contains the distribution data. Writing into this memory location is forbidden and its behavior is undefined.VX_READ_AND_WRITE
: after the function call, the content of the memory location pointed by (*ptr) contains the distribution data; writing into this memory is allowed only for the location of bins and will result in a modification of the affected bins in the distribution object once the distribution is unmapped.VX_WRITE_ONLY
: after the function call, the memory location pointed by (*ptr) contains undefined data; writing each bin of distribution is required prior to unmapping. Bins not written by the application before unmap will become undefined after unmap, even if they were well defined before map.
[in] mem_type A vx_memory_type_e
enumeration that specifies the type of the memory where the distribution is requested to be mapped.[in] flags An integer that allows passing options to the map operation. Use 0 for this option. - (*map_id) must eventually be provided as the map_id parameter of a call to
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE distribution is not a valid vx_distribution
reference. reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Postcondition
vxUnmapDistribution
with same (*map_id) value.
◆ vxMapImagePatch()
VX_API_ENTRY vx_status VX_API_CALL vxMapImagePatch | ( | vx_image | image, |
const vx_rectangle_t * | rect, | ||
vx_uint32 | plane_index, | ||
vx_map_id * | map_id, | ||
vx_imagepatch_addressing_t * | addr, | ||
void ** | ptr, | ||
vx_enum | usage, | ||
vx_enum | mem_type, | ||
vx_uint32 | flags | ||
) |
Allows the application to get direct access to a rectangular patch of an image object plane.
- Parameters
-
[in] image The reference to the image object that contains the patch to map. [in] rect The coordinates of image patch. The patch must be within the bounds of the image. (start_x, start_y) gives the coordinate of the topleft element inside the patch, while (end_x, end_y) give the coordinate of the bottomright element out of the patch. Must be 0 <= start < end. [in] plane_index The plane index of the image object to be accessed. [out] map_id The address of a vx_map_id
variable where the function returns a map identifier.- (*map_id) must eventually be provided as the map_id parameter of a call to
vxUnmapImagePatch
.
[out] addr The address of a vx_imagepatch_addressing_t
structure describing the memory layout of the image patch to access. The function fills the structure pointed by addr with the layout information that the application must consult to access the pixel data at address (*ptr). The layout of the mapped memory follows a row-major order: stride_x>0, stride_y>0 and stride_y >= stride_x * dim_x. An exception is forVX_DF_IMAGE_U1
where stride_x == 0, stride_x_bits > 0 and stride_y {geq} (stride_x_bits * dim_x + 7) / 8 (i.e., at least the number of bytes needed to hold dim_x pixels). If the image object being accessed was created viavxCreateImageFromHandle
, then the returned memory layout will be the identical to that of the addressing structure provided whenvxCreateImageFromHandle
was called.[out] ptr The address of a pointer that the function sets to the address where the requested data can be accessed. This returned (*ptr) address is only valid between the call to this function and the corresponding call to vxUnmapImagePatch
. If image was created viavxCreateImageFromHandle
then the returned address (*ptr) will be the address of the patch in the original pixel buffer provided when image was created.[in] usage This declares the access mode for the image patch, using the vx_accessor_e
enumeration. For uniform images, only VX_READ_ONLY is supported.VX_READ_ONLY
: after the function call, the content of the memory location pointed by (*ptr) contains the image patch data. Writing into this memory location is forbidden and its behavior is undefined.VX_READ_AND_WRITE
: after the function call, the content of the memory location pointed by (*ptr) contains the image patch data; writing into this memory is allowed only for the location of pixels only and will result in a modification of the written pixels in the image object once the patch is unmapped. Writing into a gap between pixels (when addr->stride_x > pixel size in bytes or addr->stride_y > addr->stride_x*addr->dim_x) is forbidden and its behavior is undefined.VX_WRITE_ONLY
: after the function call, the memory location pointed by (*ptr) contains undefined data; writing each pixel of the patch is required prior to unmapping. Pixels not written by the application before unmap will become undefined after unmap, even if they were well defined before map. Like for VX_READ_AND_WRITE, writing into a gap between pixels is forbidden and its behavior is undefined.
[in] mem_type A vx_memory_type_e
enumeration that specifies the type of the memory where the image patch is requested to be mapped.[in] flags An integer that allows passing options to the map operation. Use the vx_map_flag_e
enumeration. - (*map_id) must eventually be provided as the map_id parameter of a call to
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_OPTIMIZED_AWAY This is a reference to a virtual image that cannot be accessed by the application. VX_ERROR_INVALID_REFERENCE image is not a valid vx_image
reference. reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Note
- The user may ask for data outside the bounds of the valid region, but such data has an undefined value.
- Postcondition
vxUnmapImagePatch
with same (*map_id) value.
◆ vxMapLUT()
VX_API_ENTRY vx_status VX_API_CALL vxMapLUT | ( | vx_lut | lut, |
vx_map_id * | map_id, | ||
void ** | ptr, | ||
vx_enum | usage, | ||
vx_enum | mem_type, | ||
vx_bitfield | flags | ||
) |
Allows the application to get direct access to LUT object.
- Parameters
-
[in] lut The reference to the LUT object to map. [out] map_id The address of a vx_map_id
variable where the function returns a map identifier.- (*map_id) must eventually be provided as the map_id parameter of a call to
vxUnmapLUT
.
[out] ptr The address of a pointer that the function sets to the address where the requested data can be accessed. In the mapped memory area, the LUT data are structured as an array with elements of the type corresponding to VX_LUT_TYPE
, with a number of elements equal to the value returned viaVX_LUT_COUNT
. Accessing the memory out of the bound of this array is forbidden and has an undefined behavior. The returned (*ptr) address is only valid between the call to the function and the corresponding call tovxUnmapLUT
.[in] usage This declares the access mode for the LUT, using the vx_accessor_e
enumeration.VX_READ_ONLY
: after the function call, the content of the memory location pointed by (*ptr) contains the LUT data. Writing into this memory location is forbidden and its behavior is undefined.VX_READ_AND_WRITE
: after the function call, the content of the memory location pointed by (*ptr) contains the LUT data; writing into this memory is allowed only for the location of entries and will result in a modification of the affected entries in the LUT object once the LUT is unmapped.VX_WRITE_ONLY
: after the function call, the memory location pointed by(*ptr) contains undefined data; writing each entry of LUT is required prior to unmapping. Entries not written by the application before unmap will become undefined after unmap, even if they were well defined before map.
[in] mem_type A vx_memory_type_e
enumeration that specifies the type of the memory where the LUT is requested to be mapped.[in] flags An integer that allows passing options to the map operation. Use 0 for this option. - (*map_id) must eventually be provided as the map_id parameter of a call to
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE lut is not a valid vx_lut
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Postcondition
vxUnmapLUT
with same (*map_id) value.
◆ vxMapRemapPatch()
VX_API_ENTRY vx_status VX_API_CALL vxMapRemapPatch | ( | vx_remap | remap, |
const vx_rectangle_t * | rect, | ||
vx_map_id * | map_id, | ||
vx_size * | stride_y, | ||
void ** | ptr, | ||
vx_enum | coordinate_type, | ||
vx_enum | usage, | ||
vx_enum | mem_type | ||
) |
Allows the application to get direct access to a rectangular patch of a remap object.
The patch is specified within the destination dimensions and its data provide the corresponding coordinate within the source dimensions. The patch is mapped as a 2D array of elements of the type associated with the coordinate_type
parameter (i.e., vx_coordinates2df_t
for VX_TYPE_COORDINATES2DF
). The memory layout of the mapped 2D array follows a row-major order where rows are compact (without any gap between elements), and where the potential padding after each lines is determined by (* stride_y
).
- Parameters
-
[in] remap The reference to the remap object that contains the patch to map. [in] rect The coordinates of remap patch. The patch must be specified within the bounds of the remap destination dimensions ( VX_REMAP_DESTINATION_WIDTH
xVX_REMAP_DESTINATION_HEIGHT
). (start_x, start_y) gives the coordinate of the topleft element inside the patch, while (end_x, end_y) gives the coordinate of the bottomright element out of the patch.[out] map_id The address of a vx_map_id
variable where the function returns a map identifier.- (*map_id) must eventually be provided as the map_id parameter of a call to
vxUnmapRemapPatch
.
[out] stride_y The address of a vx_size variable where the function returns the difference between the address of the first element of two successive lines in the mapped remap patch. The stride value follows the following rule : (*stride_y) >= sizeof(<ELEMENT_TYPE>) * (rect->end_x - rect->start_x) [out] ptr The address of a pointer where the function returns where remap patch data can be accessed. (*ptr) is the address of the the top-left element of the remap patch. The returned (*ptr) address is only valid between the call to this function and the corresponding call to vxUnmapRemapPatch
.[in] coordinate_type This declares the type of the source coordinate data that the application wants to access in the remap patch. It must be VX_TYPE_COORDINATES2DF
.[in] usage This declares the access mode for the remap patch, using the vx_accessor_e
enumeration.VX_READ_ONLY
: after the function call, the content of the memory location pointed by (*ptr) contains the remap patch data. Writing into this memory location is forbidden and its behavior is undefined.VX_READ_AND_WRITE
: after the function call, the content of the memory location pointed by (*ptr) contains the remap patch data; writing into this memory is allowed for the location of elements only and will result in a modification of the written elements in the remap object once the patch is unmapped. Writing into a gap between element lines (when (*stride_y) > sizeof(<ELEMENT_TYPE>) * (rect->end_x - rect->start_x)) is forbidden and its behavior is undefined.VX_WRITE_ONLY
: after the function call, the memory location pointed by (*ptr) contains undefined data; writing each element of the patch is required prior to unmapping. Elements not written by the application before unmap will become undefined after unmap, even if they were well defined before map. Like forVX_READ_AND_WRITE
, writing into a gap between element lines is forbidden and its behavior is undefined.
[in] mem_type A vx_memory_type_e
enumeration that specifies the type of the memory where the remap patch is requested to be mapped. - (*map_id) must eventually be provided as the map_id parameter of a call to
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE remap is not a valid vx_remap
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Postcondition
vxUnmapRemapPatch
with same (*map_id) value.
◆ vxMapTensorPatch()
VX_API_ENTRY vx_status VX_API_CALL vxMapTensorPatch | ( | vx_tensor | tensor, |
vx_size | number_of_dims, | ||
const vx_size * | view_start, | ||
const vx_size * | view_end, | ||
vx_map_id * | map_id, | ||
vx_size * | stride, | ||
void ** | ptr, | ||
vx_enum | usage, | ||
vx_enum | mem_type | ||
) |
Allows the application to get direct access to a patch of tensor object.
- Parameters
-
[in] tensor The reference to the tensor object that is the source or the destination for direct access. [in] number_of_dims The number of dimensions. Must be same as tensor number_of_dims. [in] view_start Array of patch start points in each dimension. This is optional parameter and will be zero when NULL. [in] view_end Array of patch end points in each dimension. This is optional parameter and will be dims[] of tensor when NULL. [out] map_id The address of a vx_map_id variable where the function returns a map identifier. - (*map_id) must eventually be provided as the map_id parameter of a call to
vxUnmapTensorPatch
.
[out] stride An array of stride in all dimensions in bytes. The stride value at index 0 must be size of the tensor data element type. [out] ptr The address of a pointer that the function sets to the address where the requested data can be accessed. The returned (*ptr) address is only valid between the call to the function and the corresponding call to vxUnmapTensorPatch
.[in] usage This declares the access mode for the tensor patch, using the vx_accessor_e
enumeration.- VX_READ_ONLY: after the function call, the content of the memory location pointed by (*ptr) contains the tensor patch data. Writing into this memory location is forbidden and its behavior is undefined.
- VX_READ_AND_WRITE : after the function call, the content of the memory location pointed by (*ptr) contains the tensor patch data; writing into this memory is allowed only for the location of items and will result in a modification of the affected items in the tensor object once the range is unmapped. Writing into a gap between items (when (*stride) > item size in bytes) is forbidden and its behavior is undefined.
- VX_WRITE_ONLY: after the function call, the memory location pointed by (*ptr) contains undefined data; writing each item of the range is required prior to unmapping. Items not written by the application before unmap will become undefined after unmap, even if they were well defined before map. Like for VX_READ_AND_WRITE, writing into a gap between items is forbidden and its behavior is undefined.
[in] mem_type A vx_memory_type_e
enumeration that specifies the type of the memory where the tensor patch is requested to be mapped. - (*map_id) must eventually be provided as the map_id parameter of a call to
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_ERROR_OPTIMIZED_AWAY This is a reference to a virtual tensor that cannot be accessed by the application. VX_ERROR_INVALID_REFERENCE The tensor reference is not actually an tensor reference. VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect. VX_ERROR_NO_MEMORY Internal memory allocation failed.
- Postcondition
vxUnmapTensorPatch
with same (*map_id) value.
◆ vxProcessGraph()
VX_API_ENTRY vx_status VX_API_CALL vxProcessGraph | ( | vx_graph | graph | ) |
This function causes the synchronous processing of a graph. If the graph has not been verified, then the implementation verifies the graph immediately. If verification fails this function returns a status identical to what vxVerifyGraph
would return. After the graph verfies successfully then processing occurs. If the graph was previously verified via vxVerifyGraph
or vxProcessGraph
then the graph is processed. This function blocks until the graph is completed.
- Parameters
-
[in] graph The graph to execute.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS Graph has been processed; any other value indicates failure. VX_ERROR_INVALID_REFERENCE graph is not a valid vx_graph
reference.VX_FAILURE A catastrophic error occurred during processing.
◆ vxQueryArray()
VX_API_ENTRY vx_status VX_API_CALL vxQueryArray | ( | vx_array | arr, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries the Array for some specific information.
- Parameters
-
[in] arr The reference to the Array. [in] attribute The attribute to query. Use a vx_array_attribute_e
.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE arr is not a valid vx_array
reference.VX_ERROR_NOT_SUPPORTED If the attribute is not a value supported on this implementation. VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect.
◆ vxQueryContext()
VX_API_ENTRY vx_status VX_API_CALL vxQueryContext | ( | vx_context | context, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries the context for some specific information.
- Parameters
-
[in] context The reference to the context. [in] attribute The attribute to query. Use a vx_context_attribute_e
.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE context is not a valid vx_context
reference.VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect. VX_ERROR_NOT_SUPPORTED If the attribute is not supported on this implementation.
◆ vxQueryConvolution()
VX_API_ENTRY vx_status VX_API_CALL vxQueryConvolution | ( | vx_convolution | conv, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries an attribute on the convolution matrix object.
- Parameters
-
[in] conv The convolution matrix object to set. [in] attribute The attribute to query. Use a vx_convolution_attribute_e
enumeration.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE conv is not a valid vx_convolution
reference.
◆ vxQueryDelay()
VX_API_ENTRY vx_status VX_API_CALL vxQueryDelay | ( | vx_delay | delay, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries a vx_delay
object attribute.
- Parameters
-
[in] delay The reference to a delay object. [in] attribute The attribute to query. Use a vx_delay_attribute_e
enumeration.[out] ptr The location at which to store the resulting value. [in] size The size of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE delay is not a valid vx_delay
reference.
◆ vxQueryDistribution()
VX_API_ENTRY vx_status VX_API_CALL vxQueryDistribution | ( | vx_distribution | distribution, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries a Distribution object.
- Parameters
-
[in] distribution The reference to the distribution to query. [in] attribute The attribute to query. Use a vx_distribution_attribute_e
enumeration.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE distribution is not a valid vx_distribution
reference.
◆ vxQueryGraph()
VX_API_ENTRY vx_status VX_API_CALL vxQueryGraph | ( | vx_graph | graph, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Allows the user to query attributes of the Graph.
- Parameters
-
[in] graph The reference to the created graph. [in] attribute The vx_graph_attribute_e
type needed.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE graph is not a valid vx_graph
reference.
◆ vxQueryImage()
VX_API_ENTRY vx_status VX_API_CALL vxQueryImage | ( | vx_image | image, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Retrieves various attributes of an image.
- Parameters
-
[in] image The reference to the image to query. [in] attribute The attribute to query. Use a vx_image_attribute_e
.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE image is not a valid vx_image
reference.VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect. VX_ERROR_NOT_SUPPORTED If the attribute is not supported on this implementation.
◆ vxQueryKernel()
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.
- Parameters
-
[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.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
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.
◆ vxQueryLUT()
VX_API_ENTRY vx_status VX_API_CALL vxQueryLUT | ( | vx_lut | lut, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries attributes from a LUT.
- Parameters
-
[in] lut The LUT to query. [in] attribute The attribute to query. Use a vx_lut_attribute_e
enumeration.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE lut is not a valid vx_lut
reference.
◆ vxQueryMatrix()
VX_API_ENTRY vx_status VX_API_CALL vxQueryMatrix | ( | vx_matrix | mat, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries an attribute on the matrix object.
- Parameters
-
[in] mat The matrix object to set. [in] attribute The attribute to query. Use a vx_matrix_attribute_e
enumeration.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE mat is not a valid vx_matrix
reference.
◆ vxQueryMetaFormatAttribute()
VX_API_ENTRY vx_status VX_API_CALL vxQueryMetaFormatAttribute | ( | vx_meta_format | meta, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
This function allows a user to query the attributes of a vx_meta_format
object in a kernel parameter.
The vx_meta_format object contains two types of information: data object meta data and some specific information that defines how the valid region of an image changes
The meta data attributes that can be queried are identified by this list:
- vx_image : VX_IMAGE_FORMAT, VX_IMAGE_HEIGHT, VX_IMAGE_WIDTH
- vx_array : VX_ARRAY_CAPACITY, VX_ARRAY_ITEMTYPE
- vx_pyramid : VX_PYRAMID_FORMAT, VX_PYRAMID_HEIGHT, VX_PYRAMID_WIDTH, VX_PYRAMID_LEVELS, VX_PYRAMID_SCALE
- vx_scalar : VX_SCALAR_TYPE
- vx_matrix : VX_MATRIX_TYPE, VX_MATRIX_ROWS, VX_MATRIX_COLUMNS
- vx_distribution : VX_DISTRIBUTION_BINS, VX_DISTRIBUTION_OFFSET, VX_DISTRIBUTION_RANGE
- vx_remap : VX_REMAP_SOURCE_WIDTH, VX_REMAP_SOURCE_HEIGHT, VX_REMAP_DESTINATION_WIDTH, VX_REMAP_DESTINATION_HEIGHT
- vx_lut : VX_LUT_TYPE, VX_LUT_COUNT
- vx_threshold : VX_THRESHOLD_TYPE, VX_THRESHOLD_INPUT_FORMAT, VX_THRESHOLD_INPUT_FORMAT
- vx_object_array : VX_OBJECT_ARRAY_NUMITEMS, VX_OBJECT_ARRAY_ITEMTYPE
- vx_tensor : VX_TENSOR_NUMBER_OF_DIMS, VX_TENSOR_DIMS, VX_TENSOR_DATA_TYPE, VX_TENSOR_FIXED_POINT_POSITION
- VX_VALID_RECT_CALLBACK
- Note
- For vx_image, a specific attribute can be used to query the valid region evolution. This information is not a meta data.
- Parameters
-
[in] meta The reference to the vx_meta_format struct to query [in] attribute Use the subset of data object attributes that define the meta data of this object or attributes from vx_meta_format
.[out] ptr The output pointer of the value to query on the meta format object. [in] size The size in bytes of the object to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS The attribute was returned; any other value indicates failure. VX_ERROR_INVALID_REFERENCE meta is not a valid vx_meta_format
reference.VX_ERROR_INVALID_PARAMETERS size was not correct for the type needed. VX_ERROR_NOT_SUPPORTED the object attribute was not supported on the meta format object. VX_ERROR_INVALID_TYPE attribute type did not match known meta format type.
◆ vxQueryNode()
VX_API_ENTRY vx_status VX_API_CALL vxQueryNode | ( | vx_node | node, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Allows a user to query information out of a node.
- Parameters
-
[in] node The reference to the node to query. [in] attribute Use vx_node_attribute_e
value to query for information.[out] ptr The location at which to store the resulting value. [in] size The size in bytesin bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE node is not a valid vx_node
reference.VX_ERROR_INVALID_PARAMETERS The type or size is incorrect.
◆ vxQueryObjectArray()
VX_API_ENTRY vx_status VX_API_CALL vxQueryObjectArray | ( | vx_object_array | arr, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries an atribute from the ObjectArray.
- Parameters
-
[in] arr The reference to the ObjectArray. [in] attribute The attribute to query. Use a vx_object_array_attribute_e
.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE arr is not a valid vx_object_array
reference.VX_ERROR_NOT_SUPPORTED If the attribute is not a value supported on this implementation. VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect.
◆ vxQueryParameter()
VX_API_ENTRY vx_status VX_API_CALL vxQueryParameter | ( | vx_parameter | parameter, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Allows the client to query a parameter to determine its meta-information.
- Parameters
-
[in] parameter The reference to the parameter. [in] attribute The attribute to query. Use a vx_parameter_attribute_e
.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE parameter is not a valid vx_parameter
reference.
◆ vxQueryPyramid()
VX_API_ENTRY vx_status VX_API_CALL vxQueryPyramid | ( | vx_pyramid | pyr, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries an attribute from an image pyramid.
- Parameters
-
[in] pyr The pyramid to query. [in] attribute The attribute for which to query. Use a vx_pyramid_attribute_e
enumeration.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE pyr is not a valid vx_pyramid
reference.
◆ vxQueryReference()
VX_API_ENTRY vx_status VX_API_CALL vxQueryReference | ( | vx_reference | ref, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries any reference type for some basic information like count or type.
- Parameters
-
[in] ref The reference to query. [in] attribute The value for which to query. Use vx_reference_attribute_e
.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE ref is not a valid vx_reference
reference.
◆ vxQueryRemap()
VX_API_ENTRY vx_status VX_API_CALL vxQueryRemap | ( | vx_remap | table, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries attributes from a Remap table.
- Parameters
-
[in] table The remap to query. [in] attribute The attribute to query. Use a vx_remap_attribute_e
enumeration.[out] ptr The location at which to store the resulting value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE table is not a valid vx_remap
reference.
◆ vxQueryScalar()
VX_API_ENTRY vx_status VX_API_CALL vxQueryScalar | ( | vx_scalar | scalar, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries attributes from a scalar.
- Parameters
-
[in] scalar The scalar object. [in] attribute The enumeration to query. Use a vx_scalar_attribute_e
enumeration.[out] ptr The location at which to store the resulting value. [in] size The size of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE scalar is not a valid vx_scalar
reference.
◆ vxQueryTensor()
VX_API_ENTRY vx_status VX_API_CALL vxQueryTensor | ( | vx_tensor | tensor, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Retrieves various attributes of a tensor data.
- Parameters
-
[in] tensor The reference to the tensor data to query. [in] attribute The attribute to query. Use a vx_tensor_attribute_e
.[out] ptr The location at which to store the resulting value. [in] size The size of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors. VX_ERROR_INVALID_REFERENCE If data is not a vx_tensor
.VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect.
◆ vxQueryThreshold()
VX_API_ENTRY vx_status VX_API_CALL vxQueryThreshold | ( | vx_threshold | thresh, |
vx_enum | attribute, | ||
void * | ptr, | ||
vx_size | size | ||
) |
Queries an attribute on the threshold object.
- Parameters
-
[in] thresh The threshold object to set. [in] attribute The attribute to query. Use a vx_threshold_attribute_e
enumeration.[out] ptr The location at which to store the resulting value. [in] size The size of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE thresh is not a valid vx_threshold
reference.
◆ vxRegisterAutoAging()
VX_API_ENTRY vx_status VX_API_CALL vxRegisterAutoAging | ( | vx_graph | graph, |
vx_delay | delay | ||
) |
Register a delay for auto-aging.
This function registers a delay object to be auto-aged by the graph. This delay object will be automatically aged after each successful completion of this graph. Aging of a delay object cannot be called during graph execution. A graph abandoned due to a node callback will trigger an auto-aging.
If a delay is registered for auto-aging multiple times in a same graph, the delay will be only aged a single time at each graph completion. If a delay is registered for auto-aging in multiple graphs, this delay will aged automatically after each successful completion of any of these graphs.
- Parameters
-
[in] graph The graph to which the delay is registered for auto-aging. [in] delay The delay to automatically age.
- Returns
- A
vx_status_e
enumeration.
◆ vxRegisterKernelLibrary()
VX_API_ENTRY vx_status VX_API_CALL vxRegisterKernelLibrary | ( | vx_context | context, |
const vx_char * | module, | ||
vx_publish_kernels_f | publish, | ||
vx_unpublish_kernels_f | unpublish | ||
) |
Registers a module with kernels in a context.
This function registers the appropriate publish and unpublish functions with the module name if the module is not a dynamic library, so vxLoadKernels
and vxUnloadKernels
can be called.
- Parameters
-
[in] context The reference to the context the kernels must be added to. [in] module The short name of the module to load. [in] publish must add kernels to the context by calling vxAddUserKernel
for each new kernel. It is called byvxLoadKernels
.[in] unpublish must remove kernels from the context by calling vxRemoveKernel
for each kernel thevxPublishKernels
has added. It is called byvxUnloadKernels
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE context is not a valid vx_context
reference.VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect.
- See also
- vxLoadKernels
◆ vxRegisterLogCallback()
VX_API_ENTRY void VX_API_CALL vxRegisterLogCallback | ( | vx_context | context, |
vx_log_callback_f | callback, | ||
vx_bool | reentrant | ||
) |
Registers a callback facility to the OpenVX implementation to receive error logs.
- Parameters
-
[in] context The overall context to OpenVX. [in] callback The callback function. If NULL, the previous callback is removed. [in] reentrant If reentrancy flag is vx_true_e
, then the callback may be entered from multiple simultaneous tasks or threads (if the host OS supports this).
◆ vxRegisterUserStruct()
VX_API_ENTRY vx_enum VX_API_CALL vxRegisterUserStruct | ( | vx_context | context, |
vx_size | size | ||
) |
Registers user-defined structures to the context.
- Parameters
-
[in] context The reference to the implementation context. [in] size The size of user struct in bytes.
- Returns
- A
vx_enum
value that is a type given to the User to refer to their custom structure when declaring avx_array
of that structure.
- Return values
-
VX_TYPE_INVALID If the namespace of types has been exhausted.
- Note
- This call should only be used once within the lifetime of a context for a specific structure.
◆ vxRegisterUserStructWithName()
VX_API_ENTRY vx_enum VX_API_CALL vxRegisterUserStructWithName | ( | vx_context | context, |
vx_size | size, | ||
const vx_char * | type_name | ||
) |
Registers user-defined structures to the context, and associates a name to it.
- Parameters
-
[in] context The reference to the implementation context. [in] size The size of user struct in bytes. [in] *type_name Pointer to the '\0' terminated string that identifies the user struct type. The string is copied by the function so that it stays the property of the caller. NULL means that the user struct is not named. The length of the string shall be lower than VX_MAX_REFERENCE_NAME bytes.
- Returns
- A
vx_enum
value that is a type given to the User to refer to their custom structure when declaring avx_array
of that structure.
- Return values
-
VX_TYPE_INVALID If the namespace of types has been exhausted.
- Note
- This call should only be used once within the lifetime of a context for a specific structure.
◆ vxReleaseArray()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseArray | ( | vx_array * | arr | ) |
Releases a reference of an Array object. The object may not be garbage collected until its total reference count is zero. After returning from this function the reference is zeroed.
- Parameters
-
[in] arr The pointer to the Array to release.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE arr is not a valid vx_array
reference.
◆ vxReleaseContext()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseContext | ( | vx_context * | context | ) |
Releases the OpenVX object context.
All reference counted objects are garbage-collected by the return of this call. No calls are possible using the parameter context after the context has been released until a new reference from vxCreateContext
is returned. All outstanding references to OpenVX objects from this context are invalid after this call.
- Parameters
-
[in] context The pointer to the reference to the context.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE context is not a valid vx_context
reference.
- Precondition
vxCreateContext
◆ vxReleaseConvolution()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseConvolution | ( | vx_convolution * | conv | ) |
Releases the reference to a convolution matrix. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] conv The pointer to the convolution matrix to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE conv is not a valid vx_convolution
reference.
◆ vxReleaseDelay()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseDelay | ( | vx_delay * | delay | ) |
Releases a reference to a delay object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] delay The pointer to the delay object reference to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE delay is not a valid vx_delay
reference.
◆ vxReleaseDistribution()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseDistribution | ( | vx_distribution * | distribution | ) |
Releases a reference to a distribution object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] distribution The reference to the distribution to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE distribution is not a valid vx_distribution
reference.
◆ vxReleaseGraph()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseGraph | ( | vx_graph * | graph | ) |
Releases a reference to a graph. The object may not be garbage collected until its total reference count is zero. Once the reference count is zero, all node references in the graph are automatically released as well. Releasing the graph will only release the nodes if the nodes were not previously released by the application. Data referenced by those nodes may not be released as the user may still have references to the data.
- Parameters
-
[in] graph The pointer to the graph to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE graph is not a valid vx_graph
reference.
◆ vxReleaseImage()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseImage | ( | vx_image * | image | ) |
Releases a reference to an image object. The object may not be garbage collected until its total reference count is zero.
An implementation may defer the actual object destruction after its total reference count is zero (potentially until context destruction). Thus, releasing an image created from handle (see vxCreateImageFromHandle
) and all others objects that may reference it (nodes, ROI, or channel for instance) are not sufficient to get back the ownership of the memory referenced by the current image handle. The only way for this is to call vxSwapImageHandle
) before releasing the image.
- Parameters
-
[in] image The pointer to the image to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE image is not a valid vx_image
reference.
◆ vxReleaseKernel()
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.
- Parameters
-
[in] kernel The 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_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE kernel is not a valid vx_kernel
reference.
◆ vxReleaseLUT()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseLUT | ( | vx_lut * | lut | ) |
Releases a reference to a LUT object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] lut The pointer to the LUT to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE lut is not a valid vx_lut
reference.
◆ vxReleaseMatrix()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseMatrix | ( | vx_matrix * | mat | ) |
Releases a reference to a matrix object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] mat The matrix reference to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE mat is not a valid vx_matrix
reference.
◆ vxReleaseNode()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseNode | ( | vx_node * | node | ) |
Releases a reference to a Node object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] node The pointer to the reference of the node to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE node is not a valid vx_node
reference.
◆ vxReleaseObjectArray()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseObjectArray | ( | vx_object_array * | arr | ) |
Releases a reference of an ObjectArray object.
The object may not be garbage collected until its total reference and its contained objects count is zero. After returning from this function the reference is zeroed/cleared.
- Parameters
-
[in] arr The pointer to the ObjectArray to release.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE arr is not a valid vx_object_array
reference.
◆ vxReleaseParameter()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseParameter | ( | vx_parameter * | param | ) |
Releases a reference to a parameter object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] param The pointer to the parameter to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE param is not a valid vx_parameter
reference.
◆ vxReleasePyramid()
VX_API_ENTRY vx_status VX_API_CALL vxReleasePyramid | ( | vx_pyramid * | pyr | ) |
Releases a reference to a pyramid object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] pyr The pointer to the pyramid to release.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE pyr is not a valid vx_pyramid
reference.
- Postcondition
- After returning from this function the reference is zeroed.
◆ vxReleaseReference()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseReference | ( | vx_reference * | ref_ptr | ) |
Releases a reference. The reference may potentially refer to multiple OpenVX objects of different types. This function can be used instead of calling a specific release function for each individual object type (e.g. vxRelease<object>). The object will not be destroyed until its total reference count is zero.
- Note
- After returning from this function the reference is zeroed.
- Parameters
-
[in] ref_ptr The pointer to the reference of the object to release.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE ref_ptr is not a valid vx_reference
reference.
◆ vxReleaseRemap()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseRemap | ( | vx_remap * | table | ) |
Releases a reference to a remap table object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] table The pointer to the remap table to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE table is not a valid vx_remap
reference.
◆ vxReleaseScalar()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseScalar | ( | vx_scalar * | scalar | ) |
Releases a reference to a scalar object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] scalar The pointer to the scalar to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE scalar is not a valid vx_scalar
reference.
◆ vxReleaseTensor()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseTensor | ( | vx_tensor * | tensor | ) |
Releases a reference to a tensor data object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] tensor The pointer to the tensor data to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; all other values indicate failure * An error occurred. See vx_status_e
.
◆ vxReleaseThreshold()
VX_API_ENTRY vx_status VX_API_CALL vxReleaseThreshold | ( | vx_threshold * | thresh | ) |
Releases a reference to a threshold object. The object may not be garbage collected until its total reference count is zero.
- Parameters
-
[in] thresh The pointer to the threshold to release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE thresh is not a valid vx_threshold
reference.
◆ vxRemoveKernel()
VX_API_ENTRY vx_status VX_API_CALL vxRemoveKernel | ( | vx_kernel | kernel | ) |
Removes a custom kernel from its context and releases it.
- Parameters
-
[in] kernel The reference to the kernel to remove. Returned from vxAddUserKernel
.
- Note
- Any kernel enumerated in the base standard cannot be removed; only kernels added through
vxAddUserKernel
can be removed.
- Returns
- A
vx_status_e
enumeration. The function returns to the application full control over the memory resources provided at the kernel creation time.
- Return values
-
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 a base kernel is passed in. VX_FAILURE If the application has not released all references to the kernel object OR if the application has not released all references to a node that is using this kernel OR if the application has not released all references to a graph which has nodes that is using this kernel.
◆ vxRemoveNode()
VX_API_ENTRY vx_status VX_API_CALL vxRemoveNode | ( | vx_node * | node | ) |
Removes a Node from its parent Graph and releases it.
- Parameters
-
[in] node The pointer to the node to remove and release.
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE node is not a valid vx_node
reference.
◆ vxReplicateNode()
VX_API_ENTRY vx_status VX_API_CALL vxReplicateNode | ( | vx_graph | graph, |
vx_node | first_node, | ||
vx_bool | replicate[], | ||
vx_uint32 | number_of_parameters | ||
) |
Creates replicas of the same node first_node to process a set of objects stored in vx_pyramid
or vx_object_array
. first_node needs to have as parameter levels 0 of a vx_pyramid
or the index 0 of a vx_object_array
. Replica nodes are not accessible by the application through any means. An application request for removal of first_node from the graph will result in removal of all replicas. Any change of parameter or attribute of first_node will be propagated to the replicas. vxVerifyGraph
shall enforce consistency of parameters and attributes in the replicas.
- Parameters
-
[in] graph The reference to the graph. [in] first_node The reference to the node in the graph that will be replicated. [in] replicate an array of size equal to the number of node parameters, vx_true_e for the parameters that should be iterated over (should be a reference to a vx_pyramid or a vx_object_array), vx_false_e for the parameters that should be the same across replicated nodes and for optional parameters that are not used. Should be vx_true_e for all output parameters. [in] number_of_parameters number of elements in the replicate array
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE graph is not a valid vx_graph
reference, or first_node is not a validvx_node
reference.VX_ERROR_NOT_COMPATIBLE At least one of replicated parameters is not of level 0 of a pyramid or at index 0 of an object array. VX_FAILURE If the node does not belong to the graph, or the number of objects in the parent objects of inputs and output are not the same.
◆ vxRetainReference()
VX_API_ENTRY vx_status VX_API_CALL vxRetainReference | ( | vx_reference | ref | ) |
Increments the reference counter of an object This function is used to express the fact that the OpenVX object is referenced multiple times by an application. Each time this function is called for an object, the application will need to release the object one additional time before it can be destructed.
- Parameters
-
[in] ref The reference to retain.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE ref is not a valid vx_reference
reference.
◆ vxRetrieveNodeCallback()
VX_API_ENTRY vx_nodecomplete_f VX_API_CALL vxRetrieveNodeCallback | ( | vx_node | node | ) |
Retrieves the current node callback function pointer set on the node.
- Parameters
-
[in] node The reference to the vx_node
object.
- Returns
- vx_nodecomplete_f The pointer to the callback function.
- Return values
-
NULL No callback is set. * The node callback function.
◆ vxScheduleGraph()
VX_API_ENTRY vx_status VX_API_CALL vxScheduleGraph | ( | vx_graph | graph | ) |
Schedules a graph for future execution. If the graph has not been verified, then the implementation verifies the graph immediately. If verification fails this function returns a status identical to what vxVerifyGraph
would return. After the graph verfies successfully then processing occurs. If the graph was previously verified via vxVerifyGraph
or vxProcessGraph
then the graph is processed.
- Parameters
-
[in] graph The graph to schedule.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS The graph has been scheduled; any other value indicates failure. VX_ERROR_INVALID_REFERENCE graph is not a valid vx_graph
reference.VX_ERROR_NO_RESOURCES The graph cannot be scheduled now. VX_ERROR_NOT_SUFFICIENT The graph is not verified and has failed forced verification.
◆ vxSetContextAttribute()
VX_API_ENTRY vx_status VX_API_CALL vxSetContextAttribute | ( | vx_context | context, |
vx_enum | attribute, | ||
const void * | ptr, | ||
vx_size | size | ||
) |
Sets an attribute on the context.
- Parameters
-
[in] context The handle to the overall context. [in] attribute The attribute to set from vx_context_attribute_e
.[in] ptr The pointer to the data to which to set the attribute. [in] size The size in bytes of the data to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE context is not a valid vx_context
reference.VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect. VX_ERROR_NOT_SUPPORTED If the attribute is not settable.
◆ vxSetConvolutionAttribute()
VX_API_ENTRY vx_status VX_API_CALL vxSetConvolutionAttribute | ( | vx_convolution | conv, |
vx_enum | attribute, | ||
const void * | ptr, | ||
vx_size | size | ||
) |
Sets attributes on the convolution object.
- Parameters
-
[in] conv The coordinates object to set. [in] attribute The attribute to modify. Use a vx_convolution_attribute_e
enumeration.[in] ptr The pointer to the value to which to set the attribute. [in] size The size in bytes of the data pointed to by ptr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE conv is not a valid vx_convolution
reference.
◆ vxSetGraphAttribute()
VX_API_ENTRY vx_status VX_API_CALL vxSetGraphAttribute | ( | vx_graph | graph, |
vx_enum | attribute, | ||
const void * | ptr, | ||
vx_size | size | ||
) |
Allows the attributes of the Graph to be set to the provided value.
- Parameters
-
[in] graph The reference to the graph. [in] attribute The vx_graph_attribute_e
type needed.[in] ptr The location from which to read the value. [in] size The size in bytes of the container to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE graph is not a valid vx_graph
reference.
◆ vxSetGraphParameterByIndex()
VX_API_ENTRY vx_status VX_API_CALL vxSetGraphParameterByIndex | ( | vx_graph | graph, |
vx_uint32 | index, | ||
vx_reference | value | ||
) |
Sets a reference to the parameter on the graph. The implementation must set this parameter on the originating node as well.
- Parameters
-
[in] graph The graph reference. [in] index The parameter index. [in] value The reference to set to the parameter.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS Parameter set to Graph; any other value indicates failure. VX_ERROR_INVALID_REFERENCE graph is not a valid vx_graph
reference or value is not a validvx_reference
.VX_ERROR_INVALID_PARAMETERS The parameter index is out of bounds or the dir parameter is incorrect.
◆ vxSetImageAttribute()
VX_API_ENTRY vx_status VX_API_CALL vxSetImageAttribute | ( | vx_image | image, |
vx_enum | attribute, | ||
const void * | ptr, | ||
vx_size | size | ||
) |
Allows setting attributes on the image.
- Parameters
-
[in] image The reference to the image on which to set the attribute. [in] attribute The attribute to set. Use a vx_image_attribute_e
enumeration.[in] ptr The pointer to the location from which to read the value. [in] size The size in bytes of the object pointed to by ptr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE image is not a valid vx_image
reference.VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect.
◆ vxSetImagePixelValues()
VX_API_ENTRY vx_status VX_API_CALL vxSetImagePixelValues | ( | vx_image | image, |
const vx_pixel_value_t * | pixel_value | ||
) |
Initialize an image with the given pixel value.
- Parameters
-
[in] image The reference to the image to initialize. [in] pixel_value The pointer to the constant pixel value to initialize all image pixels. See vx_pixel_value_t
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors. VX_ERROR_INVALID_REFERENCE If the image is a uniform image, a virtual image, or not a vx_image
.VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect.
- Note
- All pixels of the entire image are initialized to the indicated pixel value, independently from the valid region. The valid region of the image is unaffected by this function. The image remains mutable after the call to this function, so its pixels and mutable attributes may be changed by subsequent functions.
◆ vxSetImageValidRectangle()
VX_API_ENTRY vx_status VX_API_CALL vxSetImageValidRectangle | ( | vx_image | image, |
const vx_rectangle_t * | rect | ||
) |
Sets the valid rectangle for an image according to a supplied rectangle.
- Note
- Setting or changing the valid region from within a user node by means other than the call-back, for example by calling
vxSetImageValidRectangle
, might result in an incorrect valid region calculation by the framework.
- Parameters
-
[in] image The reference to the image. [in] rect The value to be set to the image valid rectangle. A NULL indicates that the valid region is the entire image.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE image is not a valid vx_image
reference.VX_ERROR_INVALID_PARAMETERS The rect does not define a proper valid rectangle.
◆ vxSetImmediateModeTarget()
VX_API_ENTRY vx_status VX_API_CALL vxSetImmediateModeTarget | ( | vx_context | context, |
vx_enum | target_enum, | ||
const char * | target_string | ||
) |
Sets the default target of the immediate mode. Upon successful execution of this function any future execution of immediate mode function is attempted on the new default target of the context.
- Parameters
-
[in] context The reference to the implementation context. [in] target_enum The default immediate mode target enum to be set to the vx_context
object. Use avx_target_e
.[in] target_string The target name ASCII string. This contains a valid value when target_enum is set to VX_TARGET_STRING
, otherwise it is ignored.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS Default target set; any other value indicates failure. VX_ERROR_INVALID_REFERENCE If the context is not a valid vx_context
reference.VX_ERROR_NOT_SUPPORTED If the specified target is not supported in this context.
◆ vxSetKernelAttribute()
VX_API_ENTRY vx_status VX_API_CALL vxSetKernelAttribute | ( | vx_kernel | kernel, |
vx_enum | attribute, | ||
const void * | ptr, | ||
vx_size | size | ||
) |
Sets kernel attributes.
- Parameters
-
[in] kernel The reference to the kernel. [in] attribute The enumeration of the attributes. See vx_kernel_attribute_e
.[in] ptr The pointer to the location from which to read the attribute. [in] size The size in bytes of the data area indicated by ptr in bytes.
- Note
- After a kernel has been passed to
vxFinalizeKernel
, no attributes can be altered.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE kernel is not a valid vx_kernel
reference.
◆ vxSetMetaFormatAttribute()
VX_API_ENTRY vx_status VX_API_CALL vxSetMetaFormatAttribute | ( | vx_meta_format | meta, |
vx_enum | attribute, | ||
const void * | ptr, | ||
vx_size | size | ||
) |
This function allows a user to set the attributes of a vx_meta_format
object in a kernel output validator.
The vx_meta_format object contains two types of information: data object meta data and some specific information that defines how the valid region of an image changes
The meta data attributes that can be set are identified by this list:
- vx_image : VX_IMAGE_FORMAT, VX_IMAGE_HEIGHT, VX_IMAGE_WIDTH
- vx_array : VX_ARRAY_CAPACITY, VX_ARRAY_ITEMTYPE
- vx_pyramid : VX_PYRAMID_FORMAT, VX_PYRAMID_HEIGHT, VX_PYRAMID_WIDTH, VX_PYRAMID_LEVELS, VX_PYRAMID_SCALE
- vx_scalar : VX_SCALAR_TYPE
- vx_matrix : VX_MATRIX_TYPE, VX_MATRIX_ROWS, VX_MATRIX_COLUMNS
- vx_distribution : VX_DISTRIBUTION_BINS, VX_DISTRIBUTION_OFFSET, VX_DISTRIBUTION_RANGE
- vx_remap : VX_REMAP_SOURCE_WIDTH, VX_REMAP_SOURCE_HEIGHT, VX_REMAP_DESTINATION_WIDTH, VX_REMAP_DESTINATION_HEIGHT
- vx_lut : VX_LUT_TYPE, VX_LUT_COUNT
- vx_threshold : VX_THRESHOLD_TYPE, VX_THRESHOLD_INPUT_FORMAT, VX_THRESHOLD_INPUT_FORMAT
- vx_object_array : VX_OBJECT_ARRAY_NUMITEMS, VX_OBJECT_ARRAY_ITEMTYPE
- vx_tensor : VX_TENSOR_NUMBER_OF_DIMS, VX_TENSOR_DIMS, VX_TENSOR_DATA_TYPE, VX_TENSOR_FIXED_POINT_POSITION
- VX_VALID_RECT_CALLBACK
- Note
- For vx_image, a specific attribute can be used to specify the valid region evolution. This information is not a meta data.
- Parameters
-
[in] meta The reference to the vx_meta_format struct to set [in] attribute Use the subset of data object attributes that define the meta data of this object or attributes from vx_meta_format
.[in] ptr The input pointer of the value to set on the meta format object. [in] size The size in bytes of the object to which ptr points.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS The attribute was set; any other value indicates failure. VX_ERROR_INVALID_REFERENCE meta is not a valid vx_meta_format
reference.VX_ERROR_INVALID_PARAMETERS size was not correct for the type needed. VX_ERROR_NOT_SUPPORTED the object attribute was not supported on the meta format object. VX_ERROR_INVALID_TYPE attribute type did not match known meta format type.
◆ vxSetMetaFormatFromReference()
VX_API_ENTRY vx_status VX_API_CALL vxSetMetaFormatFromReference | ( | vx_meta_format | meta, |
vx_reference | exemplar | ||
) |
Set a meta format object from an exemplar data object reference.
This function sets a vx_meta_format object from the meta data of the exemplar
- Parameters
-
[in] meta The meta format object to set [in] exemplar The exemplar data object.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS The meta format was correctly set; any other value indicates failure. VX_ERROR_INVALID_REFERENCE meta is not a valid vx_meta_format
reference, or exemplar is not a validvx_reference
reference.
◆ vxSetNodeAttribute()
VX_API_ENTRY vx_status VX_API_CALL vxSetNodeAttribute | ( | vx_node | node, |
vx_enum | attribute, | ||
const void * | ptr, | ||
vx_size | size | ||
) |
Allows a user to set attribute of a node before Graph Validation.
- Parameters
-
[in] node The reference to the node to set. [in] attribute Use vx_node_attribute_e
value to set the desired attribute.[in] ptr The pointer to the desired value of the attribute. [in] size The size in bytes of the objects to which ptr points.
- Note
- Some attributes are inherited from the
vx_kernel
, which was used to create the node. Some of these can be overridden using this API, notably VX_NODE_LOCAL_DATA_SIZE and VX_NODE_LOCAL_DATA_PTR.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS The attribute was set; any other value indicates failure. VX_ERROR_INVALID_REFERENCE node is not a valid vx_node
reference.VX_ERROR_INVALID_PARAMETERS size is not correct for the type needed.
◆ vxSetNodeTarget()
VX_API_ENTRY vx_status VX_API_CALL vxSetNodeTarget | ( | vx_node | node, |
vx_enum | target_enum, | ||
const char * | target_string | ||
) |
Sets the node target to the provided value. A success invalidates the graph that the node belongs to (vxVerifyGraph
must be called before the next execution)
- Parameters
-
[in] node The reference to the vx_node
object.[in] target_enum The target enum to be set to the vx_node
object. Use avx_target_e
.[in] target_string The target name ASCII string. This contains a valid value when target_enum is set to VX_TARGET_STRING
, otherwise it is ignored.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS Node target set; any other value indicates failure. VX_ERROR_INVALID_REFERENCE node is not a valid vx_node
reference.VX_ERROR_NOT_SUPPORTED If the node kernel is not supported by the specified target.
◆ vxSetParameterByIndex()
VX_API_ENTRY vx_status VX_API_CALL vxSetParameterByIndex | ( | vx_node | node, |
vx_uint32 | index, | ||
vx_reference | value | ||
) |
Sets the specified parameter data for a kernel on the node.
- Parameters
-
[in] node The node that contains the kernel. [in] index The index of the parameter desired. [in] value The desired value of the parameter.
- Note
- A user may not provide a NULL value for a mandatory parameter of this API.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE node is not a valid vx_node
reference, or value is not a validvx_reference
reference.
- See also
- vxSetParameterByReference
◆ vxSetParameterByReference()
VX_API_ENTRY vx_status VX_API_CALL vxSetParameterByReference | ( | vx_parameter | parameter, |
vx_reference | value | ||
) |
Associates a parameter reference and a data reference with a kernel on a node.
- Parameters
-
[in] parameter The reference to the kernel parameter. [in] value The value to associate with the kernel parameter.
- Note
- A user may not provide a NULL value for a mandatory parameter of this API.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE parameter is not a valid vx_parameter
reference, or value is not a validvx_reference
reference..
- See also
- vxGetParameterByIndex
◆ vxSetReferenceName()
VX_API_ENTRY vx_status VX_API_CALL vxSetReferenceName | ( | vx_reference | ref, |
const vx_char * | name | ||
) |
Name a reference.
This function is used to associate a name to a referenced object. This name can be used by the OpenVX implementation in log messages and any other reporting mechanisms.
The OpenVX implementation will not check if the name is unique in the reference scope (context or graph). Several references can then have the same name.
- Parameters
-
[in] ref The reference to the object to be named. [in] name Pointer to the '\0' terminated string that identifies the referenced object. The string is copied by the function so that it stays the property of the caller. NULL means that the reference is not named. The length of the string shall be lower than VX_MAX_REFERENCE_NAME bytes.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE ref is not a valid vx_reference
reference.
◆ vxSetThresholdAttribute()
VX_API_ENTRY vx_status VX_API_CALL vxSetThresholdAttribute | ( | vx_threshold | thresh, |
vx_enum | attribute, | ||
const void * | ptr, | ||
vx_size | size | ||
) |
Sets attributes on the threshold object.
- Parameters
-
[in] thresh The threshold object to set. [in] attribute The attribute to modify. Use a vx_threshold_attribute_e
enumeration.[in] ptr The pointer to the value to which to set the attribute. [in] size The size of the data pointed to by ptr.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE thresh is not a valid vx_threshold
reference.
◆ vxSwapImageHandle()
VX_API_ENTRY vx_status VX_API_CALL vxSwapImageHandle | ( | vx_image | image, |
void *const | new_ptrs[], | ||
void * | prev_ptrs[], | ||
vx_size | num_planes | ||
) |
Swaps the image handle of an image previously created from handle.
This function sets the new image handle (i.e. pointer to all image planes) and returns the previous one.
Once this function call has completed, the application gets back the ownership of the memory referenced by the previous handle. This memory contains up-to-date pixel data, and the application can safely reuse or release it.
The memory referenced by the new handle must have been allocated consistently with the image properties since the import type, memory layout and dimensions are unchanged (see addrs, color, and memory_type in vxCreateImageFromHandle
).
All images created from ROI or channel with this image as parent or ancestor will automatically use the memory referenced by the new handle.
The behavior of vxSwapImageHandle
when called from a user node is undefined.
- Parameters
-
[in] image The reference to an image created from handle [in] new_ptrs[] pointer to a caller owned array that contains the new image handle (image plane pointers) - new_ptrs is non NULL. new_ptrs[i] must be non NULL for each i such as 0 < i < nbPlanes, otherwise, this is an error. The address of the storage memory for image plane i is set to new_ptrs[i]
- new_ptrs is NULL: the previous image storage memory is reclaimed by the caller, while no new handle is provided.
[out] prev_ptrs[] pointer to a caller owned array in which the application returns the previous image handle - prev_ptrs is non NULL. prev_ptrs must have at least as many elements as the number of image planes. For each i such as 0 < i < nbPlanes , prev_ptrs[i] is set to the address of the previous storage memory for plane i.
- prev_ptrs NULL: the previous handle is not returned.
[in] num_planes Number of planes in the image. This must be set equal to the number of planes of the input image. The number of elements in new_ptrs and prev_ptrs arrays must be equal to or greater than num_planes. If either array has more than num_planes elements, the extra elements are ignored. If either array is smaller than num_planes, the results are undefined.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors. VX_ERROR_INVALID_REFERENCE image is not a valid vx_image
reference. reference.VX_ERROR_INVALID_PARAMETERS The image was not created from handle or the content of new_ptrs is not valid. VX_FAILURE The image was already being accessed.
◆ vxSwapTensorHandle()
VX_API_ENTRY vx_status VX_API_CALL vxSwapTensorHandle | ( | vx_tensor | tensor, |
void * | new_ptr, | ||
void ** | prev_ptr | ||
) |
Swaps the tensor handle of an tensor previously created from handle.
This function sets the new tensor handle and returns the previous one.
Once this function call has completed, the application gets back the ownership of the memory referenced by the previous handle. This memory contains up-to-date tensor data, and the application can safely reuse or release it.
The memory referenced by the new handle must have been allocated consistently with the tensor properties since the import type, memory layout and dimensions are unchanged (see stride and memory_type in vxCreateTensorFromHandle
).
All tensors created from view with this tensor as parent or ancestor will automatically use the memory referenced by the new handle.
The behavior of vxSwapTensorHandle
when called from a user node is undefined.
- Parameters
-
[in] tensor The reference to an tensor created from handle. [in] new_ptr new tensor handle If new_ptr is NULL, If the new_ptr is NULL, the previous tensor storage memory is reclaimed by the caller, while no new handle is provided. [out] prev_ptr pointer to return the previous tensor handle. If prev_ptr is NULL, the previous handle is not returned.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors. VX_ERROR_INVALID_REFERENCE tensor is not a valid vx_tensor
reference. reference.VX_ERROR_INVALID_PARAMETERS The tensor was not created from handle or the content of new_ptr is not valid. VX_FAILURE The tensor was already being accessed.
◆ vxTruncateArray()
VX_API_ENTRY vx_status VX_API_CALL vxTruncateArray | ( | vx_array | arr, |
vx_size | new_num_items | ||
) |
Truncates an Array (remove items from the end).
- Parameters
-
[in,out] arr The reference to the Array. [in] new_num_items The new number of items for the Array.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE arr is not a valid vx_array
reference.VX_ERROR_INVALID_PARAMETERS The new_size is greater than the current size.
◆ vxUnloadKernels()
VX_API_ENTRY vx_status VX_API_CALL vxUnloadKernels | ( | vx_context | context, |
const vx_char * | module | ||
) |
Unloads all kernels from the OpenVX context that had been loaded from the module using the vxLoadKernels function.
The kernel unloading is performed by calling the vxUnpublishKernels
exported function of the module.
- Note
vxUnpublishKernels
is defined in the description ofvxLoadKernels
.
- Parameters
-
[in] context The reference to the context the kernels must be removed from. [in] module The short name of the module to unload. On systems where there are specific naming conventions for modules, the name passed should ignore such conventions. For example: libxyz.so
should be passed as justxyz
and the implementation will do the right thing that the platform requires.
- Note
- This API uses the system pre-defined paths for modules.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE context is not a valid vx_context
reference.VX_ERROR_INVALID_PARAMETERS If any of the other parameters are incorrect.
- See also
- vxLoadKernels
◆ vxUnmapArrayRange()
VX_API_ENTRY vx_status VX_API_CALL vxUnmapArrayRange | ( | vx_array | array, |
vx_map_id | map_id | ||
) |
Unmap and commit potential changes to an array object range that was previously mapped. Unmapping an array range invalidates the memory location from which the range could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior.
- Parameters
-
[in] array The reference to the array object to unmap. [out] map_id The unique map identifier that was returned when calling vxMapArrayRange
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE array is not a valid vx_array
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Precondition
vxMapArrayRange
returning the same map_id value
◆ vxUnmapDistribution()
VX_API_ENTRY vx_status VX_API_CALL vxUnmapDistribution | ( | vx_distribution | distribution, |
vx_map_id | map_id | ||
) |
Unmap and commit potential changes to distribution object that was previously mapped. Unmapping a distribution invalidates the memory location from which the distribution data could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior.
- Parameters
-
[in] distribution The reference to the distribution object to unmap. [out] map_id The unique map identifier that was returned when calling vxMapDistribution
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE distribution is not a valid vx_distribution
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Precondition
vxMapDistribution
returning the same map_id value
◆ vxUnmapImagePatch()
VX_API_ENTRY vx_status VX_API_CALL vxUnmapImagePatch | ( | vx_image | image, |
vx_map_id | map_id | ||
) |
Unmap and commit potential changes to a image object patch that were previously mapped. Unmapping an image patch invalidates the memory location from which the patch could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior.
- Parameters
-
[in] image The reference to the image object to unmap. [out] map_id The unique map identifier that was returned by vxMapImagePatch
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE image is not a valid vx_image
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Precondition
vxMapImagePatch
with same map_id value
◆ vxUnmapLUT()
VX_API_ENTRY vx_status VX_API_CALL vxUnmapLUT | ( | vx_lut | lut, |
vx_map_id | map_id | ||
) |
Unmap and commit potential changes to LUT object that was previously mapped. Unmapping a LUT invalidates the memory location from which the LUT data could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior.
- Parameters
-
[in] lut The reference to the LUT object to unmap. [out] map_id The unique map identifier that was returned when calling vxMapLUT
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE lut is not a valid vx_lut
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Precondition
vxMapLUT
returning the same map_id value
◆ vxUnmapRemapPatch()
VX_API_ENTRY vx_status VX_API_CALL vxUnmapRemapPatch | ( | vx_remap | remap, |
vx_map_id | map_id | ||
) |
Unmap and commit potential changes to a remap object patch that was previously mapped.
Unmapping a remap patch invalidates the memory location from which the patch could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior.
- Parameters
-
[in] remap The reference to the remap object to unmap. [out] map_id The unique map identifier that was returned by vxMapRemapPatch
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE remap is not a valid vx_remap
reference.VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Precondition
vxMapRemapPatch
with same map_id value
◆ vxUnmapTensorPatch()
VX_API_ENTRY vx_status VX_API_CALL vxUnmapTensorPatch | ( | vx_tensor | tensor, |
const vx_map_id | map_id | ||
) |
Unmap and commit potential changes to a tensor object patch that was previously mapped. Unmapping a tensor patch invalidates the memory location from which the patch could be accessed by the application. Accessing this memory location after the unmap function completes has an undefined behavior.
- Parameters
-
[in] tensor The reference to the tensor object to unmap. [in] map_id The unique map identifier that was returned when calling vxMapTensorPatch
.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_ERROR_INVALID_REFERENCE The tensor reference is not actually an tensor reference. VX_ERROR_INVALID_PARAMETERS An other parameter is incorrect.
- Precondition
vxMapTensorPatch
returning the same map_id value
◆ vxVerifyGraph()
VX_API_ENTRY vx_status VX_API_CALL vxVerifyGraph | ( | vx_graph | graph | ) |
Verifies the state of the graph before it is executed. This is useful to catch programmer errors and contract errors. If not verified, the graph verifies before being processed.
- Precondition
- Memory for data objects is not guarenteed to exist before this call.
- Postcondition
- After this call data objects exist unless the implementation optimized them out.
- Parameters
-
[in] graph The reference to the graph to verify.
- Returns
- A status code for graphs with more than one error; it is undefined which error will be returned. Register a log callback using
vxRegisterLogCallback
to receive each specific error in the graph. -
A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS No errors; any other value indicates failure. VX_ERROR_INVALID_REFERENCE graph is not a valid vx_graph
reference.VX_ERROR_MULTIPLE_WRITERS If the graph contains more than one writer to any data object. VX_ERROR_INVALID_NODE If a node in the graph is invalid or failed be created. VX_ERROR_INVALID_GRAPH If the graph contains cycles or some other invalid topology. VX_ERROR_INVALID_TYPE If any parameter on a node is given the wrong type. VX_ERROR_INVALID_VALUE If any value of any parameter is out of bounds of specification. VX_ERROR_INVALID_FORMAT If the image format is not compatible.
- See also
- vxProcessGraph
◆ vxWaitGraph()
VX_API_ENTRY vx_status VX_API_CALL vxWaitGraph | ( | vx_graph | graph | ) |
Waits for a specific graph to complete. If the graph has been scheduled multiple times since the last call to vxWaitGraph, then vxWaitGraph returns only when the last scheduled execution completes.
- Parameters
-
[in] graph The graph to wait on.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS The graph has successfully completed execution and its outputs are the valid results of the most recent execution; any other value indicates failure. VX_ERROR_INVALID_REFERENCE graph is not a valid vx_graph
reference.VX_FAILURE An error occurred or the graph was never scheduled. Output data of the graph is undefined.
- Precondition
vxScheduleGraph