190 operator std::string()
const;
216 unsigned int seed_ = 0,
295#define FLEXIBLE_ARRAY_MEMBER 0
327#define VF_METADATA_START fec_params
340#define VF_METADATA_END tile_count
348#define VF_METADATA_SIZE (offsetof(struct video_frame, VF_METADATA_END) - offsetof(struct video_frame, VF_METADATA_START))
int void(** deleter)(void *))
char name[1024]
human readable name of the mode
char name[1024]
human readable name of the device
struct device_info::mode modes[512]
fec_desc(enum fec_type type_, unsigned int k_=0, unsigned int m_=0, unsigned int c_=0, unsigned int seed_=0, unsigned int ss_=0)
int depth
bit depth; 0 means that whole struct is undefined
enum hw_accel_type accel_type
int subsampling
in 'JabA' format, eg. '4444'
Struct tile is an area of video_frame.
char * data
Raw tile data. Pointer must be at least 4B aligned.
unsigned int data_len
length of the data
unsigned int offset
Fragment offset from tile beginning (in bytes). Used only if frame is fragmented.
bool operator!=(video_desc const &) const
enum interlacing_t interlacing
bool operator==(video_desc const &) const
unsigned int width
width of every tile (!)
unsigned int height
height of every tile (!)
Struct containing callbacks of a video_frame.
void(* data_deleter)(struct video_frame *)
void(* recycle)(struct video_frame *)
void(* dispose)(struct video_frame *)
Struct video_frame represents a video frame and contains video description.
unsigned int decoder_overrides_data_len
enum interlacing_t interlacing
struct tile tiles[FLEXIBLE_ARRAY_MEMBER]
int64_t compress_start
in ns from epoch
uint32_t seq
seq num, used internally by JPEG enc, file cap
uint32_t duration
used by file cap
unsigned int frame_fragment_id
Used only if (fragment == 1). ID of the frame. Fragments of same frame must have the same ID.
unsigned int fragment
Indicates that the tile is fragmented. Normally not used (only for Bluefish444).
struct video_frame_callbacks callbacks
int64_t compress_end
in ns from epoch
struct fec_desc fec_params
enum mem_location_t mem_location
uint32_t timecode
BCD timecode (hrs, min, sec, frm num)
unsigned int last_fragment
Used only if (fragment == 1). Indicates this is the last fragment.
enum frame_type frame_type_t
@ VIDEO_STEREO
stereoscopic 3D video (full left and right eye)
@ VIDEO_UNKNOWN
unspecified video mode
@ VIDEO_NORMAL
normal video (one tile)
@ VIDEO_DUAL
1x2 video grid (is this ever used?)
frame_flags_common
flags common for both audio and video frame
@ TIMESTAMP_VALID
timestamp set by source (in 90 kHz clock)
void dev_add_option(struct device_info *dev, const char *name, const char *desc, const char *key, const char *opt_str, bool is_boolean)
void(* device_probe_func)(struct device_info **available_cards, int *count, void(**deleter)(void *))
@ kHz90
timestamp time base
#define FLEXIBLE_ARRAY_MEMBER
@ LOWER_FIELD_FIRST
First stored field is bottom, followed by top.
@ UPPER_FIELD_FIRST
First stored field is top, followed by bottom.
@ PROGRESSIVE
progressive frame
@ SEGMENTED_FRAME
Segmented frame. Contains the same data as progressive frame.
@ INTERLACED_MERGED
Columngs of both fields are interlaced together.
@ YUYV
YCbCr 422 8-bit - Y0 Cb Y1 Cr.
@ DXT1
S3 Texture Compression DXT1.
@ PRORES_422_LT
Apple ProRes 422 (LT)
@ R10k
RGB 10-bit packed - RGBX, big-endian (2 bit padding)
@ RGB
RGB 8-bit (packed into 24-bit word)
@ UYVY
YCbCr 422 8-bit - Cb Y0 Cr Y1.
@ VIDEO_CODEC_NONE
dummy color spec
@ PRORES
abstract Apple ProRes, must not be used in transmit
@ PRORES_422_PROXY
Apple ProRes 422 (Proxy)
@ HW_VDPAU
VDPAU hardware surface.
@ RG48
16-bit RGB little-endian (RlRhGl...)
@ Y416
interleaved little-endian YCbCr 4444 16-bit - UYVA
@ PRORES_422_HQ
Apple ProRes 422 (HQ)
@ Y216
YCbCr 422 16-bit little-endian - Y0 Cb Y1 Cr.
@ PRORES_4444
Apple ProRes 4444.
@ JPEG
JPEG image, restart intervals may be used. Compatible with GPUJPEG.
@ MJPG
JPEG image, without restart intervals.
@ VIDEO_CODEC_COUNT
count of known video codecs (including VIDEO_CODEC_NONE)
@ R12L
RGB 12-bit packed, little-endian.
@ PRORES_422
Apple ProRes 422.
@ DRM_PRIME
DRM Prime buffer, data contains struct drm_prime_frame.
@ DVS10
DVS 10-bit format.
@ DXT5
S3 Texture Compression DXT5.
@ PRORES_4444_XQ
Apple ProRes 4444 (XQ)
@ DXT1_YUV
Structure same as DXT1, instead of RGB, YCbCr values are stored.
@ RGBA
RGBA 8-bit, big-endian.
@ v210
YCbCr 422 10-bit - xVY0U|xY2UY1|xUY3V|xY5VY4, little-endian (2 bit padding /'x'/),...