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 234 of file vx_types.h.
The delay attribute list.
Enumerator |
---|
VX_DELAY_TYPE |
The type of reference contained 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 1303 of file vx_types.h.
Queries a vx_delay
object attribute.
- Parameters
-
[in] | delay | A pointer 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.
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 to release. |
- Postcondition
- After returning from this function the reference is zeroed.
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS | No errors. |
VX_ERROR_INVALID_REFERENCE | If delay is not a vx_delay . |
Creates a Delay object.
This function uses a subset of the attributes defining the metadata of the exemplar, ignoring the object. It does not alter the exemplar or keep or release the reference to the exemplar. For the definition of supported attributes see vxSetMetaFormatAttribute.
- Parameters
-
[in] | context | The reference to the system context. |
[in] | exemplar | The exemplar object.Supported delay object types include:
|
[in] | slots | The number of reference in the delay. |
- Returns
- A delay reference
vx_delay
. Any possible errors preventing a successful creation should be checked using vxGetStatus
.
Retrieves a reference from a delay object.
- Parameters
-
[in] | delay | The reference to the delay object. |
[in] | index | An index into the delay from which to extract the reference. |
- Returns
vx_reference
. Any possible errors preventing a successful creation should be checked using vxGetStatus
.
- Note
- The delay index is in the range \( [-count+1,0] \). 0 is always the current object.
-
A reference from a delay object must not be given to its associated release API (e.g.
vxReleaseImage
) unless vxRetainReference
is used.
Ages the internal delay ring by one. This means that once this API is called the reference from index 0 will go to index -1 and so forth until \( -count+1 \) is reached. This last object will become 0. Once the delay has been aged, it updates the reference in any associated nodes. Here \( count \) is the number of slots in delay ring.
- Parameters
-
- Returns
- A
vx_status_e
enumeration.
- Return values
-
VX_SUCCESS | Delay was aged. |
VX_ERROR_INVALID_REFERENCE | The value passed as delay was not a vx_delay . |