libvdo
vdo-types.h File Reference

Vdo common type definitions. More...

#include <glib-object.h>
Include dependency graph for vdo-types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  VdoChunk
 A video chunk. More...
 
struct  VdoMemChunk
 A memory chunk. More...
 
struct  VdoResolution
 A resolution. More...
 
struct  VdoResolutionSet
 A set of resolutions. More...
 
struct  VdoRect
 A rectangle. More...
 

Enumerations

enum  VdoWdrMode
 Wide Dynamic Range (WDR) modes. More...
 
enum  VdoFormat
 Video formats. More...
 
enum  VdoH264Profile
 H.264 profiles. More...
 
enum  VdoH265Profile
 H.265 profiles. More...
 
enum  VdoRateControlMode
 Bitrate control modes. More...
 
enum  VdoRateControlPriority
 Bitrate control priorities. More...
 
enum  VdoFrameType
 Video frame types. More...
 
enum  VdoZipStreamProfile
 Zipstream profiles. More...
 
enum  VdoChunkType
 Video chunk types. More...
 
enum  VdoStreamTimestamp
 Timestamp types. More...
 
enum  VdoIntent
 Intent values. More...
 
enum  VdoStreamEvent
 Stream related events. More...
 
enum  VdoBufferAccess
 Buffer access definitions. More...
 
enum  VdoBufferStrategy
 Buffer strategy. More...
 

Functions

GType vdo_wdr_mode_get_type (void)
 Get wdr mode type. More...
 
GType vdo_format_get_type (void)
 Get vdo format type. More...
 
GType vdo_h264_profile_get_type (void)
 Get h264 profile type. More...
 
GType vdo_h265_profile_get_type (void)
 Get h265 profile type. More...
 
GType vdo_zipstream_profile_get_type (void)
 Get zipstream profile type. More...
 
GType vdo_rate_control_mode_get_type (void)
 Get rate control mode type. More...
 
GType vdo_rate_control_priority_get_type (void)
 Get rate control priority type. More...
 
GType vdo_frame_type_get_type (void)
 Get vdo frame type. More...
 

Detailed Description

Vdo common type definitions.

Copyright (C) 2016-2019, Axis Communications AB, Lund

Enumeration Type Documentation

◆ VdoBufferAccess

Buffer access definitions.

Specifies how buffers allocated and provided by vdo are about to be accessed.

The Range [CPU_RD..ANY_RD] is ReadOnly The Range [CPU_WR..ANY_WR] is WriteOnly The Range [CPU_RW..ANY_RW] is ReadWrite

Enumerator
VDO_BUFFER_ACCESS_NONE 

None

VDO_BUFFER_ACCESS_CPU_RD 

CPU exclusive read only access.

VDO_BUFFER_ACCESS_DEV_RD 

Device exclusive read only access.

VDO_BUFFER_ACCESS_ANY_RD 

CPU/device read only access.

VDO_BUFFER_ACCESS_CPU_WR 

CPU exclusive write access.

VDO_BUFFER_ACCESS_DEV_WR 

Device exclusive write access.

VDO_BUFFER_ACCESS_ANY_WR 

CPU/device write only access.

VDO_BUFFER_ACCESS_CPU_RW 

CPU exclusive read/write access.

VDO_BUFFER_ACCESS_DEV_RW 

Device exclusive read/write access.

VDO_BUFFER_ACCESS_ANY_RW 

CPU/device read/write access.

◆ VdoBufferStrategy

Buffer strategy.

A buffer strategy defines how buffer lifetime management is handled. That includes allocation and ownership.

Enumerator
VDO_BUFFER_STRATEGY_NONE 

None

VDO_BUFFER_STRATEGY_INPUT 

Lifetime is managed by an external entity (Virtual Input).

VDO_BUFFER_STRATEGY_EXTERNAL 

Lifetime is managed by an external entity. (Not Supported)

VDO_BUFFER_STRATEGY_EXPLICIT 

Lifetime is managed by 'buffer_alloc' and 'buffer_unref'.

VDO_BUFFER_STRATEGY_INFINITE 

VDO creates a new buffer for every transfer.

◆ VdoChunkType

Video chunk types.

Enumerator
VDO_CHUNK_NONE 

None

VDO_CHUNK_ERROR 

Error

◆ VdoFormat

enum VdoFormat

Video formats.

Enumerator
VDO_FORMAT_NONE 

None

VDO_FORMAT_H264 

H.264

VDO_FORMAT_H265 

H.265

VDO_FORMAT_JPEG 

JPEG

VDO_FORMAT_YUV 

YUV

VDO_FORMAT_BAYER 

Deprecated

VDO_FORMAT_IVS 

Deprecated

VDO_FORMAT_RAW 

Raw (Restricted)

VDO_FORMAT_RGBA 

RGBA

VDO_FORMAT_RGB 

RGB

VDO_FORMAT_PLANAR_RGB 

Planar RGB

◆ VdoFrameType

Video frame types.

Enumerator
VDO_FRAME_TYPE_NONE 

None

VDO_FRAME_TYPE_H264_SPS 

H.264 Sequence Parameter Set (SPS)

VDO_FRAME_TYPE_H264_PPS 

H.264 Picture Parameter Set (PPS)

VDO_FRAME_TYPE_H264_SEI 

H.264 Supplemental Enhancement Information (SEI)

VDO_FRAME_TYPE_H264_IDR 

H.264 Instantaneous Decoder Refresh (IDR)

VDO_FRAME_TYPE_H264_I 

H.264 I-slice

VDO_FRAME_TYPE_H264_P 

H.264 P-slice

VDO_FRAME_TYPE_H264_B 

H.264 B-slice

VDO_FRAME_TYPE_H265_SPS 

H.265 Sequence Parameter Set (SPS)

VDO_FRAME_TYPE_H265_PPS 

H.265 Picture Parameter Set (PPS)

VDO_FRAME_TYPE_H265_VPS 

H.265 Video Parameter Set (VPS)

VDO_FRAME_TYPE_H265_SEI 

H.265 Supplemental Enhancement Information (SEI)

VDO_FRAME_TYPE_H265_IDR 

H.265 Instantaneous Decoder Refresh (IDR)

VDO_FRAME_TYPE_H265_I 

H.265 I-slice

VDO_FRAME_TYPE_H265_P 

H.265 P-slice

VDO_FRAME_TYPE_H265_B 

H.265 B-slice

VDO_FRAME_TYPE_JPEG 

JPEG image

VDO_FRAME_TYPE_YUV 

YUV image

VDO_FRAME_TYPE_RAW 

RAW image

VDO_FRAME_TYPE_RGBA 

RGBA image

VDO_FRAME_TYPE_RGB 

RGB image

VDO_FRAME_TYPE_PLANAR_RGB 

Planar RGB image

◆ VdoH264Profile

H.264 profiles.

Enumerator
VDO_H264_PROFILE_NONE 

None

VDO_H264_PROFILE_BASELINE 

Baseline

VDO_H264_PROFILE_MAIN 

Main

VDO_H264_PROFILE_HIGH 

High

◆ VdoH265Profile

H.265 profiles.

Enumerator
VDO_H265_PROFILE_NONE 

None

VDO_H265_PROFILE_MAIN 

Main

VDO_H265_PROFILE_MAIN_10 

Main 10-bit

◆ VdoIntent

enum VdoIntent

Intent values.

An intent describes how a client intends to make use of a resource, e.g. a VdoStream. Beware VDO_INTENT_MONITOR and VDO_INTENT_EVENTFD are mutually exclusive.

Enumerator
VDO_INTENT_NONE 

None

VDO_INTENT_CONTROL 

The client intends to control the resource

VDO_INTENT_MONITOR 

The client intends to monitor the resource using g_signal

VDO_INTENT_CONSUME 

The client intends to consume the resource

VDO_INTENT_PRODUCE 

The client intends to produce the resource

VDO_INTENT_DEFAULT 

Default, consume + control

VDO_INTENT_EVENTFD 

Monitor resources using file descriptors

VDO_INTENT_UNIVERSE 

Everything except VDO_INTENT_EVENTFD

◆ VdoRateControlMode

Bitrate control modes.

Enumerator
VDO_RATE_CONTROL_MODE_NONE 

None

VDO_RATE_CONTROL_MODE_CBR 

Constant bitrate

VDO_RATE_CONTROL_MODE_VBR 

Variable bitrate

VDO_RATE_CONTROL_MODE_MBR 

Maximum bitrate

VDO_RATE_CONTROL_MODE_ABR 

Average bitrate

◆ VdoRateControlPriority

Bitrate control priorities.

Enumerator
VDO_RATE_CONTROL_PRIORITY_NONE 

None

VDO_RATE_CONTROL_PRIORITY_FRAMERATE 

Prioritize framerate

VDO_RATE_CONTROL_PRIORITY_QUALITY 

Prioritize quality

VDO_RATE_CONTROL_PRIORITY_FULL_FRAMERATE 

Prioritize full framerate

◆ VdoStreamEvent

Stream related events.

Important asynchronous stream events, see vdo_stream_get_event.

Enumerator
VDO_STREAM_EVENT_NONE 

None

VDO_STREAM_EVENT_STARTED 

The stream started

VDO_STREAM_EVENT_STOPPED 

The stream stopped

VDO_STREAM_EVENT_RESOURCE 

Current resource usage

VDO_STREAM_EVENT_QUOTA_SOFT 

Warning above soft quota

VDO_STREAM_EVENT_QUOTA_HARD 

Error hard quota hit

VDO_STREAM_EVENT_ZIPSTREAM 

Zipstream settings

VDO_STREAM_EVENT_INVALID 

Invalid event

◆ VdoStreamTimestamp

Timestamp types.

Enumerator
VDO_TIMESTAMP_NONE 

None

VDO_TIMESTAMP_UTC 

Value can be read from custom_timestamp, real_time

VDO_TIMESTAMP_ZIPSTREAM 

Value can be read from timestamp. dsp_pts for zipstream and mono_pts for non-zipstream.

VDO_TIMESTAMP_MONO_CAPTURE 

Value can be read from timestamp, dsp_pts for zipstream and mono_pts for non-zipstream.

VDO_TIMESTAMP_MONO_SERVER 

Value can be read from custom_timestamp which shows server timestamp, monotonic_time.

VDO_TIMESTAMP_MONO_CLIENT 

Value can be read from custom_timestamp which shows client timestamp, monotonic_time.

VDO_TIMESTAMP_MONO_CLIENT_SERVER_DIFF 

Value can be read from custom_timestamp which shows the diff between client and server timestamp.

VDO_TIMESTAMP_MONO_CLIENT_CAPTURE_DIFF 

Value can be read from custom_timestamp which shows the diff between client and capture timestamp.

◆ VdoWdrMode

enum VdoWdrMode

Wide Dynamic Range (WDR) modes.

Enumerator
VDO_WDR_MODE_NONE 

None

VDO_WDR_MODE_LINEAR 

Linear

VDO_WDR_MODE_2X 

2 exposures

VDO_WDR_MODE_3X 

3 exposures

VDO_WDR_MODE_4X 

4 exposures

VDO_WDR_MODE_SENSOR 

Sensor internal

◆ VdoZipStreamProfile

Zipstream profiles.

Enumerator
VDO_ZIPSTREAM_PROFILE_NONE 

None

VDO_ZIPSTREAM_PROFILE_CLASSIC 

Classic

VDO_ZIPSTREAM_PROFILE_STORAGE 

Storage

VDO_ZIPSTREAM_PROFILE_LIVE 

Live

Function Documentation

◆ vdo_format_get_type()

GType vdo_format_get_type ( void  )

Get vdo format type.

Returns
GType: none,h264,h265,jpeg,yuv,bayer,raw

◆ vdo_frame_type_get_type()

GType vdo_frame_type_get_type ( void  )

Get vdo frame type.

Returns
GType: none,h264-sps,h264-pps,h264-sei,h264-i,h264-p, h265-sps,h265-pps,h265-vps,h265-sei,h265-i,h265-p, jpeg,yuv,raw

◆ vdo_h264_profile_get_type()

GType vdo_h264_profile_get_type ( void  )

Get h264 profile type.

Returns
GType: none,baseline,main,high

◆ vdo_h265_profile_get_type()

GType vdo_h265_profile_get_type ( void  )

Get h265 profile type.

Returns
GType: none,main,main-10

◆ vdo_rate_control_mode_get_type()

GType vdo_rate_control_mode_get_type ( void  )

Get rate control mode type.

Returns
GType: none,cbr,vbr,mbr

◆ vdo_rate_control_priority_get_type()

GType vdo_rate_control_priority_get_type ( void  )

Get rate control priority type.

Returns
GType: none,framerate,quality

◆ vdo_wdr_mode_get_type()

GType vdo_wdr_mode_get_type ( void  )

Get wdr mode type.

Returns
GType: none,linear,2x,3x,4x,sensor

◆ vdo_zipstream_profile_get_type()

GType vdo_zipstream_profile_get_type ( void  )

Get zipstream profile type.

Returns
GType: none,classic, storage and live