### Namespace

# Aravis – 0.8

The Aravis Vision Library

Version | 0.8.36
Authors | Aravis Project Team
License | LGPL-2.1-or-later
Website | https://github.com/AravisProject/aravis
Source | https://github.com/AravisProject/aravis

#### Build

C headers | `arv.h`
pkg-config files | `aravis-0.8`

#### Dependencies

GLib—2.0 | Portable utility library
| Browse documentation
GObject—2.0 | The base type system library
| Browse documentation

#### Additional documentation

- Introduction
- Installation and Debug
- Examples
- Utilities
- Ethernet Devices
- USB Devices
- Thread Safety
- Porting to Aravis 0.8
- Unit Tests
- Classes Hierarchy

#### Classes

Buffer | `ArvBuffer` provides a class for the instantiation of buffers used for the storage of the separate images of the video stream.
Camera | `ArvCamera` is a class for the generic control of cameras. It hides the complexity of the genicam interface by providing a simple API, with the drawback of not exposing all the available features. See `ArvDevice` and `ArvGc` for a more advanced use of the Aravis library.
ChunkParser | `ArvChunkParser` provides a class for the instantiation of chunk parsers used for the extraction of chunk data stored in the stream payload.
Device | `ArvDevice` is an abstract base class for the control of cameras. It provides an easy access to the camera settings, and to its genicam interface for more advanced uses.
DomCharacterData |
DomDocument |
DomDocumentFragment |
DomElement |
DomNamedNodeMap |
DomNode |
DomNodeChildList |
DomNodeList |
DomText |
Evaluator |
FakeCamera | `ArvFakeCamera` is a class that simulate a real camera, which provides methods for the implementation of `ArvFakeDevice` and `ArvFakeStream`.
FakeDevice |
FakeInterface |
FakeStream |
Gc | `ArvGc` implements the root document for the storage of the Genicam feature nodes. It builds the node tree by parsing an xml file in the Genicam standard format. See http://www.genicam.org.
GcBoolean |
GcCategory |
GcCommand |
GcConverter |
GcConverterNode |
GcEnumEntry |
GcEnumeration |
GcFeatureNode | `ArvGcFeatureNode` provides a base class for the implementation of the different types of Genicam feature node (Group, Integer, Float, Enumeration…).
GcFloatNode |
GcFloatRegNode |
GcGroupNode |
GcIndexNode |
GcIntConverterNode |
GcIntegerNode |
GcIntRegNode |
GcIntSwissKnifeNode |
GcInvalidatorNode |
GcMaskedIntRegNode |
GcNode | `ArvGcNode` provides a base class for the implementation of the different types of Genicam nodes.
GcPort |
GcPropertyNode | `ArvGcPropertyNode` provides a base class for the implementation of the different types of Genicam property nodes (Value, pValue, Endianness…).
GcRegisterDescriptionNode |
GcRegisterNode |
GcStringNode |
GcStringRegNode |
GcStructEntryNode |
GcStructRegNode |
GcSwissKnife |
GcSwissKnifeNode |
GcValueIndexedNode |
GvDevice |
GvFakeCamera | `ArvGvFakeCamera` is a class that simulates a real GigEVision camera.
GvInterface |
GvStream |
Interface | `ArvInterface` is an abstract base class for camera discovery. It maintains a list of the available devices and helps to instantiate the corresponding `ArvDevice` objects. If the user already knows the device id of the device, he should not worry about this class and just use `arv_camera_new()` or arv_open_device().
Stream | `ArvStream` provides an abstract base class for the implementation of video stream reception threads. The interface between the reception thread and the main thread is done using asynchronous queues, containing `ArvBuffer` objects.
UvDevice |
UvInterface |
UvStream |
XmlSchema |

#### Interfaces

GcFloat |
GcInteger |
GcRegister |
GcSelector |
GcString |

#### Structs

Zip |
ZipFile |

#### Aliases

PixelFormat | A datatype to hold a pixel format.

#### Enumerations

AccessCheckPolicy | since: 0.8.6
AcquisitionMode |
Auto |
BufferPartDataType |
BufferPayloadType |
BufferStatus |
ComponentSelectionFlags |
DomNodeType |
ExposureMode |
GcAccessMode | Specifies access mode for feature nodes and registers.
GcCachable | Specifies caching mode for register values.
GcDisplayNotation | Number display notations for showing numbers in user interfaces. since: 0.8.0
GcIsLinear | Describes relationship between TO and FROM variables in Converter feature nodes.
GcNameSpace | Specifies feature node or register name space type. Standard name space features are listed in Genicam materials. Any other vendor-specific features should use custom name space type.
GcPropertyNodeType |
GcRepresentation | Number representation formats. since: 0.8.0
GcSignedness | Specifies signedness of integer registers. Per standard Genicam internally uses signed 64-bit signed integers for representing all integer registers. Therefore unsigned 64-bit integers are not available.
GcStreamable | Denotes that the corresponding feature is prepared to be stored to and loaded from a file via the node tree. The idea is to persist the state of a camera by storing the features marked as Streamable and restore the state by writing those features back to the node tree. since: 0.8.8
GcVisibility | Specifies feature node recommended visibility in user interfaces.
GvIpConfigurationMode |
GvPacketSizeAdjustment |
GvStreamPacketResend |
GvStreamSocketBuffer |
RangeCheckPolicy | since: 0.8.6
RegisterCachePolicy | since: 0.8.0
StreamCallbackType | Describes when the reason the stream callback is called. You are probably more interested in `ARV_STREAM_CALLBACK_TYPE_INIT` and `ARV_STREAM_CALLBACK_TYPE_BUFFER_DONE`.
UvUsbMode |

#### Bitfields

GvInterfaceFlags | since: 0.8.23
GvStreamOption |

#### Error Domains

ChunkParserError |
DeviceError |
GcError |
XmlSchemaError |

#### Callbacks

DomDocumentCreateFunction |
FakeCameraFillPattern |
StreamCallback | This is the signature of the callback passed on an `ArvStream` instantiation, which will be called on the stream receiving thread initialization and finalization, and on every received buffer, once when the buffer is pulled from the buffer queue, and one more when the buffer is done (successfully or not).

#### Functions

debug_enable | Configures the debug output using a configuration string consisting of a comma separated list of debug categories or category/debug level pair. since: 0.8.8
disable_interface | Disable an interface by name. By default, all interfaces are enabled, except ‘Fake’.
dom_implementation_add_document_type |
dom_implementation_cleanup |
dom_implementation_create_document | Create a new DOM document. Currently, only `qualified_name` is used.
enable_interface | Enable an interface by name. By default, all interfaces are enabled, except ‘Fake’.
get_device_address | The index of a device may change after a call to arv_update_device_list(). since: 0.6.0
get_device_id | Queries the unique device id corresponding to index. Prior to this call the `arv_update_device_list()` function must be called. since: 0.2.0
get_device_manufacturer_info | Queries the device manufacturer info. since: 0.8.20
get_device_model | Queries the device model. since: 0.6.0
get_device_physical_id | Queries the physical device id corresponding to index such as the MAC address for Ethernet based devices, bus id for PCI, USB or Firewire based devices. since: 0.2.0
get_device_protocol | The index of a device may change after a call to arv_update_device_list(). since: 0.6.0
get_device_serial_nbr | Queries the device serial. since: 0.6.0
get_device_vendor | Queries the device vendor. since: 0.6.0
get_interface_id | Retrieves the interface identifier. Possible values are ‘Fake’, ‘USB3Vision’ and ‘GigEVision’.
get_n_devices | Retrieves the number of currently online devices. This value is valid until the next call to arv_update_device_list().
get_n_interfaces | Gets the number of available interfaces, including the disabled ones.
make_thread_high_priority | since: 0.4.0
make_thread_realtime | since: 0.4.0
open_device | Open a device corresponding to the given identifier. A `NULL` string makes this function return the first available device. since: 0.8.0
select_interface | Enable an interface by name and disable all the others. since: 0.8.35
set_fake_camera_genicam_filename |
set_interface_flags | Set the device specific flags. since: 0.8.23
shutdown | Frees a number of ressources allocated by Aravis that would be otherwise reported as memory leak by tools like Valgrind. The call to this function is optional if you don’t intend to check for memory leaks.
update_device_list | Updates the list of currently online devices.

#### Function Macros

PIXEL_FORMAT_BIT_PER_PIXEL |

#### Constants

FAKE_CAMERA_ACQUISITION_FRAME_RATE_DEFAULT |
FAKE_CAMERA_BINNING_HORIZONTAL_DEFAULT |
FAKE_CAMERA_BINNING_VERTICAL_DEFAULT |
FAKE_CAMERA_EXPOSURE_TIME_US_DEFAULT |
FAKE_CAMERA_HEIGHT_DEFAULT |
FAKE_CAMERA_MEMORY_SIZE |
FAKE_CAMERA_REGISTER_ACQUISITION |
FAKE_CAMERA_REGISTER_ACQUISITION_FRAME_PERIOD_US |
FAKE_CAMERA_REGISTER_ACQUISITION_MODE |
FAKE_CAMERA_REGISTER_ACQUISITION_START_OFFSET |
FAKE_CAMERA_REGISTER_BINNING_HORIZONTAL |
FAKE_CAMERA_REGISTER_BINNING_VERTICAL |
FAKE_CAMERA_REGISTER_EXPOSURE_TIME_US |
FAKE_CAMERA_REGISTER_FRAME_START_OFFSET |
FAKE_CAMERA_REGISTER_GAIN_MODE |
FAKE_CAMERA_REGISTER_GAIN_RAW |
FAKE_CAMERA_REGISTER_HEIGHT |
FAKE_CAMERA_REGISTER_PIXEL_FORMAT |
FAKE_CAMERA_REGISTER_SENSOR_HEIGHT |
FAKE_CAMERA_REGISTER_SENSOR_WIDTH |
FAKE_CAMERA_REGISTER_TEST |
FAKE_CAMERA_REGISTER_TRIGGER_ACTIVATION |
FAKE_CAMERA_REGISTER_TRIGGER_MODE |
FAKE_CAMERA_REGISTER_TRIGGER_SOFTWARE |
FAKE_CAMERA_REGISTER_TRIGGER_SOURCE |
FAKE_CAMERA_REGISTER_WIDTH |
FAKE_CAMERA_REGISTER_X_OFFSET |
FAKE_CAMERA_REGISTER_Y_OFFSET |
FAKE_CAMERA_SENSOR_HEIGHT |
FAKE_CAMERA_SENSOR_WIDTH |
FAKE_CAMERA_TEST_REGISTER_DEFAULT |
FAKE_CAMERA_WIDTH_DEFAULT |
GV_FAKE_CAMERA_DEFAULT_INTERFACE |
GV_FAKE_CAMERA_DEFAULT_SERIAL_NUMBER |
PIXEL_FORMAT_BAYER_BG_10 |
PIXEL_FORMAT_BAYER_BG_10_PACKED |
PIXEL_FORMAT_BAYER_BG_10P |
PIXEL_FORMAT_BAYER_BG_12 |
PIXEL_FORMAT_BAYER_BG_12_PACKED |
PIXEL_FORMAT_BAYER_BG_12P |
PIXEL_FORMAT_BAYER_BG_14 |
PIXEL_FORMAT_BAYER_BG_14P |
PIXEL_FORMAT_BAYER_BG_16 |
PIXEL_FORMAT_BAYER_BG_8 |
PIXEL_FORMAT_BAYER_GB_10 |
PIXEL_FORMAT_BAYER_GB_10_PACKED |
PIXEL_FORMAT_BAYER_GB_10P |
PIXEL_FORMAT_BAYER_GB_12 |
PIXEL_FORMAT_BAYER_GB_12_PACKED |
PIXEL_FORMAT_BAYER_GB_12P |
PIXEL_FORMAT_BAYER_GB_14 |
PIXEL_FORMAT_BAYER_GB_14P |
PIXEL_FORMAT_BAYER_GB_16 |
PIXEL_FORMAT_BAYER_GB_8 |
PIXEL_FORMAT_BAYER_GR_10 |
PIXEL_FORMAT_BAYER_GR_10_PACKED |
PIXEL_FORMAT_BAYER_GR_10P |
PIXEL_FORMAT_BAYER_GR_12 |
PIXEL_FORMAT_BAYER_GR_12_PACKED |
PIXEL_FORMAT_BAYER_GR_12P |
PIXEL_FORMAT_BAYER_GR_14 |
PIXEL_FORMAT_BAYER_GR_14P |
PIXEL_FORMAT_BAYER_GR_16 |
PIXEL_FORMAT_BAYER_GR_8 |
PIXEL_FORMAT_BAYER_RG_10 |
PIXEL_FORMAT_BAYER_RG_10_PACKED |
PIXEL_FORMAT_BAYER_RG_10P |
PIXEL_FORMAT_BAYER_RG_12 |
PIXEL_FORMAT_BAYER_RG_12_PACKED |
PIXEL_FORMAT_BAYER_RG_12P |
PIXEL_FORMAT_BAYER_RG_14 |
PIXEL_FORMAT_BAYER_RG_14P |
PIXEL_FORMAT_BAYER_RG_16 |
PIXEL_FORMAT_BAYER_RG_8 |
PIXEL_FORMAT_BGR_10_PACKED |
PIXEL_FORMAT_BGR_12_PACKED |
PIXEL_FORMAT_BGR_8_PACKED |
PIXEL_FORMAT_BGRA_8_PACKED |
PIXEL_FORMAT_COORD3D_A_10P |
PIXEL_FORMAT_COORD3D_A_12P |
PIXEL_FORMAT_COORD3D_A_16 |
PIXEL_FORMAT_COORD3D_A_32F |
PIXEL_FORMAT_COORD3D_A_8 |
PIXEL_FORMAT_COORD3D_ABC_10P |
PIXEL_FORMAT_COORD3D_ABC_10P_PLANAR |
PIXEL_FORMAT_COORD3D_ABC_12P |
PIXEL_FORMAT_COORD3D_ABC_12P_PLANAR |
PIXEL_FORMAT_COORD3D_ABC_16 |
PIXEL_FORMAT_COORD3D_ABC_16_PLANAR |
PIXEL_FORMAT_COORD3D_ABC_32F |
PIXEL_FORMAT_COORD3D_ABC_32F_PLANAR |
PIXEL_FORMAT_COORD3D_ABC_8 |
PIXEL_FORMAT_COORD3D_ABC_8_PLANAR |
PIXEL_FORMAT_COORD3D_AC_10P |
PIXEL_FORMAT_COORD3D_AC_10P_PLANAR |
PIXEL_FORMAT_COORD3D_AC_12P |
PIXEL_FORMAT_COORD3D_AC_12P_PLANAR |
PIXEL_FORMAT_COORD3D_AC_16 |
PIXEL_FORMAT_COORD3D_AC_16_PLANAR |
PIXEL_FORMAT_COORD3D_AC_32F |
PIXEL_FORMAT_COORD3D_AC_32F_PLANAR |
PIXEL_FORMAT_COORD3D_AC_8 |
PIXEL_FORMAT_COORD3D_AC_8_PLANAR |
PIXEL_FORMAT_COORD3D_B_10P |
PIXEL_FORMAT_COORD3D_B_12P |
PIXEL_FORMAT_COORD3D_B_16 |
PIXEL_FORMAT_COORD3D_B_32F |
PIXEL_FORMAT_COORD3D_B_8 |
PIXEL_FORMAT_COORD3D_C_10P |
PIXEL_FORMAT_COORD3D_C_12P |
PIXEL_FORMAT_COORD3D_C_16 |
PIXEL_FORMAT_COORD3D_C_32F |
PIXEL_FORMAT_COORD3D_C_8 |
PIXEL_FORMAT_CUSTOM_BAYER_BG_12_PACKED |
PIXEL_FORMAT_CUSTOM_BAYER_BG_16 |
PIXEL_FORMAT_CUSTOM_BAYER_GB_12_PACKED |
PIXEL_FORMAT_CUSTOM_BAYER_GB_16 |
PIXEL_FORMAT_CUSTOM_BAYER_GR_12_PACKED |
PIXEL_FORMAT_CUSTOM_BAYER_GR_16 |
PIXEL_FORMAT_CUSTOM_BAYER_RG_12_PACKED |
PIXEL_FORMAT_CUSTOM_BAYER_RG_16 |
PIXEL_FORMAT_CUSTOM_YUV_422_YUYV_PACKED |
PIXEL_FORMAT_DATA_16 |
PIXEL_FORMAT_DATA_16S |
PIXEL_FORMAT_DATA_32 |
PIXEL_FORMAT_DATA_32F |
PIXEL_FORMAT_DATA_32S |
PIXEL_FORMAT_DATA_64 |
PIXEL_FORMAT_DATA_64F |
PIXEL_FORMAT_DATA_64S |
PIXEL_FORMAT_DATA_8 |
PIXEL_FORMAT_DATA_8S |
PIXEL_FORMAT_MONO_10 |
PIXEL_FORMAT_MONO_10_PACKED |
PIXEL_FORMAT_MONO_10P |
PIXEL_FORMAT_MONO_12 |
PIXEL_FORMAT_MONO_12_PACKED |
PIXEL_FORMAT_MONO_12P |
PIXEL_FORMAT_MONO_14 |
PIXEL_FORMAT_MONO_16 |
PIXEL_FORMAT_MONO_8 |
PIXEL_FORMAT_MONO_8_SIGNED |
PIXEL_FORMAT_RGB_10_PACKED |
PIXEL_FORMAT_RGB_10_PLANAR |
PIXEL_FORMAT_RGB_12_PACKED |
PIXEL_FORMAT_RGB_12_PLANAR |
PIXEL_FORMAT_RGB_16_PLANAR |
PIXEL_FORMAT_RGB_565P |
PIXEL_FORMAT_RGB_8_PACKED |
PIXEL_FORMAT_RGB_8_PLANAR |
PIXEL_FORMAT_RGBA_8_PACKED |
PIXEL_FORMAT_YCBCR_422_8_PACKED |
PIXEL_FORMAT_YUV_411_PACKED |
PIXEL_FORMAT_YUV_422_PACKED |
PIXEL_FORMAT_YUV_422_YUYV_PACKED |
PIXEL_FORMAT_YUV_444_PACKED |