![]() |
TIOVX User Guide
|
The OpenVX Pipelining, Streaming and Batch Processing extension API. More...
#include <VX/vx.h>Go to the source code of this file.
Data Structures | |
| struct | vx_graph_parameter_queue_params_t |
| Queueing parameters for a specific graph parameter. More... | |
| struct | vx_graph_parameter_config_t |
| Details for a specific graph parameter. More... | |
| struct | vx_event_graph_parameter_consumed |
| Parameter structure returned with event of type VX_EVENT_GRAPH_PARAMETER_CONSUMED. More... | |
| struct | vx_event_graph_completed |
| Parameter structure returned with event of type VX_EVENT_GRAPH_COMPLETED. More... | |
| struct | vx_event_node_completed |
| Parameter structure returned with event of type VX_EVENT_NODE_COMPLETED. More... | |
| struct | vx_event_node_error |
| Parameter structure returned with event of type VX_EVENT_NODE_ERROR. More... | |
| struct | vx_event_user_event |
| Parameter structure returned with event of type VX_EVENT_USER_EVENT. More... | |
| union | vx_event_info_t |
| Parameter structure associated with an event. Depends on type of the event. More... | |
| struct | vx_event_t |
| Data structure which holds event information. More... | |
| struct | vx_kernel_parameter_config_t |
| This data structure is used to return information about kernel parameters via the vxGetKernelParameterConfig API. More... | |
Macros | |
| #define | VX_LIBRARY_KHR_PIPELINING_EXTENSION (0x1) |
| The Pipelining, Streaming and Batch Processing Extension Library Set. | |
Enumerations | |
| enum | vx_graph_schedule_mode_enum_e { VX_ENUM_GRAPH_SCHEDULE_MODE_TYPE = 0x21 } |
| Extra enums. More... | |
| enum | vx_graph_schedule_mode_type_e { VX_GRAPH_SCHEDULE_MODE_NORMAL = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_GRAPH_SCHEDULE_MODE_TYPE) + 0x0, VX_GRAPH_SCHEDULE_MODE_QUEUE_AUTO = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_GRAPH_SCHEDULE_MODE_TYPE) + 0x1, VX_GRAPH_SCHEDULE_MODE_QUEUE_MANUAL = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_GRAPH_SCHEDULE_MODE_TYPE) + 0x2 } |
| Type of graph scheduling mode. More... | |
| enum | vx_graph_attribute_pipelining_e { VX_GRAPH_SCHEDULE_MODE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x5, VX_GRAPH_TIMEOUT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x6, VX_GRAPH_EVENT_TIMEOUT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x7, VX_GRAPH_PIPELINE_DEPTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x8 } |
| The graph attributes added by this extension. More... | |
| enum | vx_reference_attribute_pipelining_e { VX_REFERENCE_ENQUEUE_COUNT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REFERENCE) + 0x3 } |
| The reference attributes added by this extension. More... | |
| enum | vx_event_enum_e { VX_ENUM_EVENT_TYPE = 0x22 } |
| Extra type enum. More... | |
| enum | vx_context_attribute_event_e { VX_CONTEXT_EVENT_TIMEOUT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x10 } |
| The context attribute added by this extension. More... | |
| enum | vx_event_type_e { VX_EVENT_GRAPH_PARAMETER_CONSUMED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_EVENT_TYPE) + 0x0, VX_EVENT_GRAPH_COMPLETED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_EVENT_TYPE) + 0x1, VX_EVENT_NODE_COMPLETED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_EVENT_TYPE) + 0x2, VX_EVENT_NODE_ERROR = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_EVENT_TYPE) + 0x3, VX_EVENT_USER = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_EVENT_TYPE) + 0x4 } |
| Type of event that can be generated during system execution. More... | |
| enum | vx_node_state_enum_e { VX_ENUM_NODE_STATE_TYPE = 0x23 } |
| Extra enums. More... | |
| enum | vx_node_state_e { VX_NODE_STATE_STEADY = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NODE_STATE_TYPE) + 0x0, VX_NODE_STATE_PIPEUP = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NODE_STATE_TYPE) + 0x1 } |
| Node state. More... | |
| enum | vx_node_attribute_streaming_e { VX_NODE_STATE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x9 } |
| The node attributes added by this extension. More... | |
| enum | vx_kernel_attribute_streaming_e { VX_KERNEL_PIPEUP_OUTPUT_DEPTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x4, VX_KERNEL_PIPEUP_INPUT_DEPTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x5 } |
| The kernel attributes added by this extension. More... | |
Functions | |
| VX_API_ENTRY vx_status VX_API_CALL | vxSetGraphScheduleConfig (vx_graph graph, vx_enum graph_schedule_mode, vx_uint32 graph_parameters_list_size, const vx_graph_parameter_queue_params_t graph_parameters_queue_params_list[]) |
| Sets the graph scheduler config. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxGetGraphParameterRefsList (vx_graph graph, vx_uint32 param, vx_uint32 ref_list_size, vx_reference refs_list[]) |
| Returns the list of references allowed for queueing on a particular graph parameter. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxAddReferencesToGraphParameterList (vx_graph graph, vx_uint32 graph_parameter_index, vx_uint32 number_to_add, const vx_reference new_references[]) |
| Allows more references to be added to the list of references that may be queued on a graph parameter. This functionality allows more references to be added to those already defined by the call to vxSetGraphScheduleConfig. The function may only be called after graph verification. References in the list should be checked for compatibility so that the graphs are guaranteed to run. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxGraphParameterEnqueueReadyRef (vx_graph graph, vx_uint32 graph_parameter_index, const vx_reference *refs, vx_uint32 num_refs) |
| Enqueues new references into a graph parameter for processing. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxGraphParameterDequeueDoneRef (vx_graph graph, vx_uint32 graph_parameter_index, vx_reference *refs, vx_uint32 max_refs, vx_uint32 *num_refs) |
| Dequeues 'consumed' references from a graph parameter. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxGraphParameterCheckDoneRef (vx_graph graph, vx_uint32 graph_parameter_index, vx_uint32 *num_refs) |
| Checks and returns the number of references that are ready for dequeue. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxWaitEvent (vx_context context, vx_event_t *event, vx_bool do_not_block) |
| Wait for a single event. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxEnableEvents (vx_context context) |
| Enable event generation. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxDisableEvents (vx_context context) |
| Disable event generation. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxSendUserEvent (vx_context context, vx_uint32 app_value, const void *parameter) |
| Generate user defined event. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxRegisterEvent (vx_reference ref, enum vx_event_type_e type, vx_uint32 param, vx_uint32 app_value) |
| Register an event to be generated. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxRegisterGraphEvent (vx_reference graph_or_node, enum vx_event_type_e type, vx_uint32 param, vx_uint32 app_value) |
| Registers an event for a specific graph. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxWaitGraphEvent (vx_graph graph, vx_event_t *event, vx_bool do_not_block) |
| Waits for an event from a specific graph. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxEnableGraphEvents (vx_graph graph) |
| Enables events from a specific graph. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxDisableGraphEvents (vx_graph graph) |
| Disables events from a specific graph. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxSendUserGraphEvent (vx_graph graph, vx_uint32 app_value, const void *parameter) |
| Generate user defined graph event. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxEnableGraphStreaming (vx_graph graph, vx_node trigger_node) |
| Enable streaming mode of graph execution. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxStartGraphStreaming (vx_graph graph) |
| Start streaming mode of graph execution. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxStopGraphStreaming (vx_graph graph) |
| Stop streaming mode of graph execution. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxGetKernelParameterConfig (vx_kernel kernel, vx_uint32 num_params, vx_kernel_parameter_config_t parameter_config[]) |
| Returns the kernel parameter configuration. More... | |
| VX_API_ENTRY vx_status VX_API_CALL | vxGetGraphParameterConfig (vx_graph graph, vx_uint32 num_params, vx_graph_parameter_config_t parameter_config[]) |
| Returns the graph parameter configuration. More... | |
The OpenVX Pipelining, Streaming and Batch Processing extension API.
Definition in file vx_khr_pipelining.h.
| VX_API_ENTRY vx_status VX_API_CALL vxRegisterGraphEvent | ( | vx_reference | graph_or_node, |
| enum vx_event_type_e | type, | ||
| vx_uint32 | param, | ||
| vx_uint32 | app_value | ||
| ) |
Registers an event for a specific graph.
| [in] | graph_or_node | the graph or node for which the event will be registered |
| [in] | type | only [VX_EVENT_GRAPH_PARAMETER_CONSUMED] and [VX_EVENT_GRAPH_COMPLETED] are supported if graph_or_node is a vx_graph, and [VX_EVENT_NODE_COMPLETED] or [VX_EVENT_NODE_ERROR] if graph_or_node is a vx_node |
| [in] | param | Specifies the graph parameter index when type is VX_EVENT_GRAPH_PARAMETER_CONSUMED |
| [in] | app_value | Application-specified value that will be returned to user as part of vx_event_t.app_value field. Stored by the implementation but not used for any other purpose. |
| VX_SUCCESS | the event was registered |
| VX_ERROR_NOT_SUPPORTED | type is not equal to [VX_EVENT_GRAPH_PARAMETER_CONSUMED], [VX_EVENT_GRAPH_COMPLETED], [VX_EVENT_NODE_COMPLETED] or [VX_EVENT_NODE_ERROR] or the graph is already verified. |
| VX_ERROR_INVALID_PARAMETERS | param out of range |
| VX_ERROR_INVALID_REFERENCE | graph_or_node is not a valid graph or node reference |
It is not an error to call this twice for the same graph parameter; in that case the stored app_value will be updated. Notice that there is only one app_value per graph parameter.
| VX_API_ENTRY vx_status VX_API_CALL vxWaitGraphEvent | ( | vx_graph | graph, |
| vx_event_t * | event, | ||
| vx_bool | do_not_block | ||
| ) |
Waits for an event from a specific graph.
| [in] | graph | the graph from which events are expected |
| [out] | event | pointer to a data structure that will hold information about the received event |
| [in] | do_not_block | When the value is vx_true_e the API does not block and only checks for the condition |
| VX_SUCCESS | an event was received |
| VX_FAILURE | no event was received |
| VX_ERROR_TIMEOUT | The attribute VX_GRAPH_EVENT_TIMEOUT was not set to VX_TIMEOUT_WAIT_FOREVER and the function call has not returned after VX_GRAPH_EVENT_TIMEOUT milliseconds. No event is received. |
| VX_ERROR_INVALID_REFERENCE | graph was not a valid graph reference or event was NULL |
| VX_API_ENTRY vx_status VX_API_CALL vxEnableGraphEvents | ( | vx_graph | graph | ) |
Enables events from a specific graph.
| [in] | graph | the graph for which events are to be enabled |
| VX_SUCCESS | events were enabled |
| VX_ERROR_INVALID_REFERENCE | graph was not a valid graph reference |
| VX_API_ENTRY vx_status VX_API_CALL vxDisableGraphEvents | ( | vx_graph | graph | ) |
Disables events from a specific graph.
| [in] | graph | the graph for which events are to be disabled |
| VX_SUCCESS | events were disabled |
| VX_ERROR_INVALID_REFERENCE | graph was not a valid graph reference |