ArvGvsp

ArvGvsp — Gvsp packet handling (stream)

Synopsis

enum                ArvGvspPacketType;
enum                ArvGvspContentType;
                    ArvGvspDataLeader;
                    ArvGvspDataTrailer;
                    ArvGvspHeader;
                    ArvGvspPacket;
char *              arv_gvsp_packet_to_string           (const ArvGvspPacket *packet,
                                                         size_t packet_size);
size_t              arv_gvsp_packet_get_data_size       (size_t packet_size);
guint16             arv_gvsp_packet_get_frame_id        (const ArvGvspPacket *packet);
guint32             arv_gvsp_packet_get_height          (const ArvGvspPacket *packet);
guint16             arv_gvsp_packet_get_packet_id       (const ArvGvspPacket *packet);
ArvGvspPacketType   arv_gvsp_packet_get_packet_type     (const ArvGvspPacket *packet);
ArvGvspContentType  arv_gvsp_packet_get_content_type    (const ArvGvspPacket *packet);
ArvPixelFormat      arv_gvsp_packet_get_pixel_format    (const ArvGvspPacket *packet);
guint64             arv_gvsp_packet_get_timestamp       (const ArvGvspPacket *packet,
                                                         guint64 timestamp_tick_frequency);
guint32             arv_gvsp_packet_get_width           (const ArvGvspPacket *packet);
guint32             arv_gvsp_packet_get_x_offset        (const ArvGvspPacket *packet);
guint32             arv_gvsp_packet_get_y_offset        (const ArvGvspPacket *packet);
void                arv_gvsp_packet_debug               (const ArvGvspPacket *packet,
                                                         size_t packet_size,
                                                         ArvDebugLevel level);
ArvGvspPacket *     arv_gvsp_packet_new_data_block      (guint16 frame_id,
                                                         guint32 packet_id,
                                                         size_t size,
                                                         void *data,
                                                         void *buffer,
                                                         size_t *buffer_size);
ArvGvspPacket *     arv_gvsp_packet_new_data_leader     (guint16 frame_id,
                                                         guint32 packet_id,
                                                         guint64 timestamp,
                                                         ArvPixelFormat pixel_format,
                                                         guint32 width,
                                                         guint32 height,
                                                         guint32 x_offset,
                                                         guint32 y_offset,
                                                         void *buffer,
                                                         size_t *buffer_size);
ArvGvspPacket *     arv_gvsp_packet_new_data_trailer    (guint16 frame_id,
                                                         guint32 packet_id,
                                                         void *buffer,
                                                         size_t *buffer_size);

Description

Details

enum ArvGvspPacketType

typedef enum {
	ARV_GVSP_PACKET_TYPE_OK =		0x0000,
	ARV_GVSP_PACKET_TYPE_RESEND =		0x0100,
	ARV_GVSP_PACKET_TYPE_ERROR =		0x800c
} ArvGvspPacketType;

ARV_GVSP_PACKET_TYPE_OK

valid packet

ARV_GVSP_PACKET_TYPE_RESEND

resent packet (BlackFly PointGrey camera support)

ARV_GVSP_PACKET_TYPE_ERROR

error packet, indicating invalid resend request

enum ArvGvspContentType

typedef enum {
	ARV_GVSP_CONTENT_TYPE_DATA_LEADER = 	0x01,
	ARV_GVSP_CONTENT_TYPE_DATA_TRAILER = 	0x02,
	ARV_GVSP_CONTENT_TYPE_DATA_BLOCK = 0x03
} ArvGvspContentType;

ARV_GVSP_CONTENT_TYPE_DATA_LEADER

leader packet

ARV_GVSP_CONTENT_TYPE_DATA_TRAILER

trailer packet

ARV_GVSP_CONTENT_TYPE_DATA_BLOCK

data packet

ArvGvspDataLeader

typedef struct {
	guint32 data0;
	guint32 timestamp_high;
	guint32 timestamp_low;
	guint32 pixel_format;
	guint32 width;
	guint32 height;
	guint32 x_offset;
	guint32 y_offset;
} ArvGvspDataLeader;

GVSP data leader packet data area.

guint32 data0;

unused

guint32 timestamp_high;

most significant bits of frame timestamp

guint32 timestamp_low;

least significant bits of frame timestamp_low

guint32 pixel_format;

a ArvPixelFormat identifier

guint32 width;

frame width, in pixels

guint32 height;

frame height, in pixels

guint32 x_offset;

frame x offset, in pixels

guint32 y_offset;

frame y offset, in pixels

ArvGvspDataTrailer

typedef struct {
	guint32 data0;
	guint32 data1;
} ArvGvspDataTrailer;

GVSP data trailer packet data area.

guint32 data0;

unused

guint32 data1;

unused

ArvGvspHeader

typedef struct {
	guint16 packet_type;
	guint16 frame_id;
	guint32 packet_infos;
} ArvGvspHeader;

GVSP packet header structure.

guint16 packet_type;

a ArvGvspPacketType identifier

guint16 frame_id;

frame identifier

guint32 packet_infos;

ArvGvspContentType and packet identifier in a 32 bit value

ArvGvspPacket

typedef struct {
	ArvGvspHeader header;
	guint8 data[];
} ArvGvspPacket;

GVSP packet structure.

ArvGvspHeader header;

common GVSP packet header

guint8 data[];

data byte array

arv_gvsp_packet_to_string ()

char *              arv_gvsp_packet_to_string           (const ArvGvspPacket *packet,
                                                         size_t packet_size);

arv_gvsp_packet_get_data_size ()

size_t              arv_gvsp_packet_get_data_size       (size_t packet_size);

arv_gvsp_packet_get_frame_id ()

guint16             arv_gvsp_packet_get_frame_id        (const ArvGvspPacket *packet);

arv_gvsp_packet_get_height ()

guint32             arv_gvsp_packet_get_height          (const ArvGvspPacket *packet);

arv_gvsp_packet_get_packet_id ()

guint16             arv_gvsp_packet_get_packet_id       (const ArvGvspPacket *packet);

arv_gvsp_packet_get_packet_type ()

ArvGvspPacketType   arv_gvsp_packet_get_packet_type     (const ArvGvspPacket *packet);

arv_gvsp_packet_get_content_type ()

ArvGvspContentType  arv_gvsp_packet_get_content_type    (const ArvGvspPacket *packet);

arv_gvsp_packet_get_pixel_format ()

ArvPixelFormat      arv_gvsp_packet_get_pixel_format    (const ArvGvspPacket *packet);

arv_gvsp_packet_get_timestamp ()

guint64             arv_gvsp_packet_get_timestamp       (const ArvGvspPacket *packet,
                                                         guint64 timestamp_tick_frequency);

arv_gvsp_packet_get_width ()

guint32             arv_gvsp_packet_get_width           (const ArvGvspPacket *packet);

arv_gvsp_packet_get_x_offset ()

guint32             arv_gvsp_packet_get_x_offset        (const ArvGvspPacket *packet);

arv_gvsp_packet_get_y_offset ()

guint32             arv_gvsp_packet_get_y_offset        (const ArvGvspPacket *packet);

arv_gvsp_packet_debug ()

void                arv_gvsp_packet_debug               (const ArvGvspPacket *packet,
                                                         size_t packet_size,
                                                         ArvDebugLevel level);

arv_gvsp_packet_new_data_block ()

ArvGvspPacket *     arv_gvsp_packet_new_data_block      (guint16 frame_id,
                                                         guint32 packet_id,
                                                         size_t size,
                                                         void *data,
                                                         void *buffer,
                                                         size_t *buffer_size);

arv_gvsp_packet_new_data_leader ()

ArvGvspPacket *     arv_gvsp_packet_new_data_leader     (guint16 frame_id,
                                                         guint32 packet_id,
                                                         guint64 timestamp,
                                                         ArvPixelFormat pixel_format,
                                                         guint32 width,
                                                         guint32 height,
                                                         guint32 x_offset,
                                                         guint32 y_offset,
                                                         void *buffer,
                                                         size_t *buffer_size);

arv_gvsp_packet_new_data_trailer ()

ArvGvspPacket *     arv_gvsp_packet_new_data_trailer    (guint16 frame_id,
                                                         guint32 packet_id,
                                                         void *buffer,
                                                         size_t *buffer_size);