Defines the Delay Object interface.
A Delay is an opaque object that contains a manually-controlled, temporally-delayed list of objects. A Delay cannot be an output of a kernel. Also, aging of a Delay (see vxAgeDelay) cannot be performed during graph execution. Supported delay object types include:
|
typedef struct _vx_delay * | vx_delay |
| The delay object. This is like a ring buffer of objects that is maintained by the OpenVX implementation. More...
|
|
The delay object. This is like a ring buffer of objects that is maintained by the OpenVX implementation.
- See also
- vxCreateDelay
Definition at line 223 of file vx_types.h.
The delay attribute list.
Enumerator |
---|
VX_DELAY_TYPE |
The type of objects in the delay. Read-only. Use a vx_enum parameter.
|
VX_DELAY_SLOTS |
The number of items in the delay. Read-only. Use a vx_size parameter.
|
Definition at line 1388 of file vx_types.h.
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. |
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. |
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 using vxGetStatus
.
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 using vxGetStatus
.
- Note
- The delay index is in the range \( [-count+1,0] \). 0 is always the current object.
-
A reference retrieved with this function must not be given to its associated release API (e.g.
vxReleaseImage
) unless vxRetainReference
is used.
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 \( -count+1 \). The data originally at index \( -count+1 \) move to index 0. Here \( count \) 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
-
- 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. |