Top |
void | (*ArvFrameCallback) () |
ArvBuffer * | arv_buffer_new () |
ArvBuffer * | arv_buffer_new_full () |
ArvBuffer * | arv_buffer_new_allocate () |
const void * | arv_buffer_get_user_data () |
const void * | arv_buffer_get_data () |
gboolean | arv_buffer_has_chunks () |
const void * | arv_buffer_get_chunk_data () |
guint64 | arv_buffer_get_timestamp () |
void | arv_buffer_set_timestamp () |
guint64 | arv_buffer_get_system_timestamp () |
void | arv_buffer_set_system_timestamp () |
void | arv_buffer_set_frame_id () |
guint64 | arv_buffer_get_frame_id () |
ArvBufferPayloadType | arv_buffer_get_payload_type () |
ArvBufferStatus | arv_buffer_get_status () |
gint | arv_buffer_get_image_height () |
ArvPixelFormat | arv_buffer_get_image_pixel_format () |
void | arv_buffer_get_image_region () |
gint | arv_buffer_get_image_width () |
gint | arv_buffer_get_image_x () |
gint | arv_buffer_get_image_y () |
#define | ARV_PIXEL_FORMAT_BIT_PER_PIXEL() |
ArvBuffer provides a class for the instantiation of buffers used for the storage of the separate images of the video stream. The actual data space may either be allocated by ArvBuffer during an object instatiation, of preallocated. ArvBuffer also allows the transmission of image metadata, such as offsets and size of the transmitted region of interrest, pixel format and time stamp.
ArvBuffer * arv_buffer_new (size_t size
,void *preallocated
);
Creates a new buffer for the storage of the video stream images. The data space can be either preallocated, and the caller is responsible for it's deallocation, or allocated by this function. If it is the case, data memory will be freed when the buffer is destroyed.
Since: 0.2.0
ArvBuffer * arv_buffer_new_full (size_t size
,void *preallocated
,void *user_data
,GDestroyNotify user_data_destroy_func
);
Creates a new buffer for the storage of the video stream images. The data space can be either preallocated, and the caller is responsible for it's deallocation, or allocated by this function. If it is the case, data memory will be freed when the buffer is destroyed.
If user_data_destroy_func
is non NULL, it will be called in order to destroy
user_data when the buffer is destroyed.
size |
payload size |
|
preallocated |
preallocated memory buffer. |
[transfer none] |
user_data |
a pointer to user data associated to this buffer. |
[transfer none] |
user_data_destroy_func |
an optional user data destroy callback |
Since: 0.2.0
ArvBuffer *
arv_buffer_new_allocate (size_t size
);
Creates a new buffer for the storage of the video stream images. The data space is allocated by this function, and will be freed when the buffer is destroyed.
Since: 0.2.3
const void *
arv_buffer_get_user_data (ArvBuffer *buffer
);
Gets a pointer to user data set by arv_buffer_new_full.
Since: 0.4.0
const void * arv_buffer_get_data (ArvBuffer *buffer
,size_t *size
);
Buffer data accessor.
Since: 0.4.0
const void * arv_buffer_get_chunk_data (ArvBuffer *buffer
,guint64 chunk_id
,size_t *size
);
Chunk data accessor.
Since: 0.4.0
guint64
arv_buffer_get_timestamp (ArvBuffer *buffer
);
Gets the buffer camera timestamp, expressed as nanoseconds. Not all devices
provide reliable timestamp, which means sometimes its better to rely on the
buffer completion host local time, or to use
arv_buffer_get_system_timestamp()
.
Since: 0.4.0
void arv_buffer_set_timestamp (ArvBuffer *buffer
,guint64 timestamp_ns
);
Sets the buffer timestamp, which allows to override the timpestamp set by the camera, which in some case is incorrect.
Since: 0.4.0
guint64
arv_buffer_get_system_timestamp (ArvBuffer *buffer
);
Gets the system timestamp for when the frame was received. Expressed in nanoseconds.
Since: 0.6.0
void arv_buffer_set_system_timestamp (ArvBuffer *buffer
,guint64 timestamp_ns
);
Sets the system timestamp for when the frame was received. Expressed in nanoseconds.
Since: 0.6.0
void arv_buffer_set_frame_id (ArvBuffer *buffer
,guint64 frame_id
);
Sets the buffer frame id. For GigEVision devices, 0 is an invalid value.
Since: 0.8.3
guint64
arv_buffer_get_frame_id (ArvBuffer *buffer
);
Gets the buffer frame id. For GigEVision devices, 0 is an invalid value.
Since: 0.8.0
ArvBufferPayloadType
arv_buffer_get_payload_type (ArvBuffer *buffer
);
Gets the buffer payload type.
Since: 0.4.0
ArvBufferStatus
arv_buffer_get_status (ArvBuffer *buffer
);
Gets the buffer acquisition status.
Since: 0.4.0
gint
arv_buffer_get_image_height (ArvBuffer *buffer
);
Gets the image width. This function must only be called on buffer containing a ARV_BUFFER_PAYLOAD_TYPE_IMAGE
payload.
Since: 0.4.0
ArvPixelFormat
arv_buffer_get_image_pixel_format (ArvBuffer *buffer
);
Gets the image pixel format. This function must only be called on buffer containing a ARV_BUFFER_PAYLOAD_TYPE_IMAGE
payload.
Since: 0.4.0
void arv_buffer_get_image_region (ArvBuffer *buffer
,gint *x
,gint *y
,gint *width
,gint *height
);
Gets the image region. This function must only be called on buffer containing a ARV_BUFFER_PAYLOAD_TYPE_IMAGE
payload.
buffer |
||
x |
image x offset placeholder. |
[out][optional] |
y |
image y offset placeholder. |
[out][optional] |
width |
image width placholder. |
[out][optional] |
height |
image height placeholder. |
[out][optional] |
Since: 0.4.0
gint
arv_buffer_get_image_width (ArvBuffer *buffer
);
Gets the image width. This function must only be called on buffer containing a ARV_BUFFER_PAYLOAD_TYPE_IMAGE
payload.
Since: 0.4.0
gint
arv_buffer_get_image_x (ArvBuffer *buffer
);
Gets the image x offset. This function must only be called on buffer containing a ARV_BUFFER_PAYLOAD_TYPE_IMAGE
payload.
Since: 0.4.0
gint
arv_buffer_get_image_y (ArvBuffer *buffer
);
Gets the image y offset. This function must only be called on buffer containing a ARV_BUFFER_PAYLOAD_TYPE_IMAGE
payload.
Since: 0.4.0
unknown status |
||
the buffer contains a valid image |
||
the buffer is cleared |
||
timeout was reached before all packets are received |
||
stream has missing packets |
||
stream has packet with wrong id |
||
the received image didn't fit in the buffer data space |
||
the image is currently being filled |
||
the filling was aborted before completion |
#define ARV_PIXEL_FORMAT_BAYER_BG_10_PACKED ((ArvPixelFormat) 0x010c0029u)
#define ARV_PIXEL_FORMAT_BAYER_GB_10_PACKED ((ArvPixelFormat) 0x010c0028u)
#define ARV_PIXEL_FORMAT_BAYER_GR_10_PACKED ((ArvPixelFormat) 0x010c0026u)
#define ARV_PIXEL_FORMAT_BAYER_RG_10_PACKED ((ArvPixelFormat) 0x010c0027u)
#define ARV_PIXEL_FORMAT_BAYER_GR_12_PACKED ((ArvPixelFormat) 0x010c002au)
#define ARV_PIXEL_FORMAT_BAYER_GB_12_PACKED ((ArvPixelFormat) 0x010c002cu)
#define ARV_PIXEL_FORMAT_BAYER_RG_12_PACKED ((ArvPixelFormat) 0x010c002bu)
#define ARV_PIXEL_FORMAT_BAYER_BG_12_PACKED ((ArvPixelFormat) 0x010c002du)
#define ARV_PIXEL_FORMAT_BGRA_8_PACKED ((ArvPixelFormat) 0x02200017u)
#define ARV_PIXEL_FORMAT_BGR_10_PACKED ((ArvPixelFormat) 0x02300019u)
#define ARV_PIXEL_FORMAT_BGR_12_PACKED ((ArvPixelFormat) 0x0230001bu)
#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_BG_12_PACKED ((ArvPixelFormat) 0x810c0004u)
#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_BG_16 ((ArvPixelFormat) 0x81100009u)
#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_GB_12_PACKED ((ArvPixelFormat) 0x810c0003u)
#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_GB_16 ((ArvPixelFormat) 0x81100008u)
#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_GR_12_PACKED ((ArvPixelFormat) 0x810c0001u)
#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_GR_16 ((ArvPixelFormat) 0x81100006u)
#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_RG_12_PACKED ((ArvPixelFormat) 0x810c0002u)
#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_RG_16 ((ArvPixelFormat) 0x81100007u)
#define ARV_PIXEL_FORMAT_CUSTOM_YUV_422_YUYV_PACKED ((ArvPixelFormat) 0x82100005u)
#define ARV_PIXEL_FORMAT_MONO_10_PACKED ((ArvPixelFormat) 0x010c0004u)
#define ARV_PIXEL_FORMAT_MONO_12_PACKED ((ArvPixelFormat) 0x010c0006u)
#define ARV_PIXEL_FORMAT_MONO_8_SIGNED ((ArvPixelFormat) 0x01080002u)
#define ARV_PIXEL_FORMAT_RGBA_8_PACKED ((ArvPixelFormat) 0x02200016u)
#define ARV_PIXEL_FORMAT_RGB_10_PACKED ((ArvPixelFormat) 0x02300018u)
#define ARV_PIXEL_FORMAT_RGB_10_PLANAR ((ArvPixelFormat) 0x02300022u)
#define ARV_PIXEL_FORMAT_RGB_12_PACKED ((ArvPixelFormat) 0x0230001au)
#define ARV_PIXEL_FORMAT_RGB_12_PLANAR ((ArvPixelFormat) 0x02300023u)
#define ARV_PIXEL_FORMAT_RGB_16_PLANAR ((ArvPixelFormat) 0x02300024u)
#define ARV_PIXEL_FORMAT_YUV_411_PACKED ((ArvPixelFormat) 0x020c001eu)
#define ARV_PIXEL_FORMAT_YUV_422_PACKED ((ArvPixelFormat) 0x0210001fu)
#define ARV_PIXEL_FORMAT_YUV_422_YUYV_PACKED ((ArvPixelFormat) 0x02100032u)