Crate linux_video_core
source ·Expand description
Core Linux V4L2 API for Rust (core)
This crates intended to provide access to Linux V4L2 APIs without any limitations.
The primary design goal is an optimal balance between safety and overhead. The implementation much closer to system calls than v4l. Interface types wraps kernel types to avoid unnecessary copying.
At end this is my demure attempt to do things right.
Crates
- linux-video-core - core abstractions and low level interface (not for end users)
- linux-video - sync interface which supports synchronous operation only
- tokio-linux-video - async interface for tokio users
- async-std-linux-video - async interface for async-std users
This crate provides low-level bindings and does not intended to end-users.
Modules
Structs
- Area data
- Timings standards
- Polarities
- Format description
- Stream data format
- Fraction value
- Frame interval description
- Stepwise frame interval
- Frame size description
- Stepwise frame sizes
- Capture (input direction)
- Helper type to represent menu item
- Metadata format definition
- Memory mapping
- Render (output direction)
- Single-planar pixel format
- Multiplanar format definition
- Per-plane format definition
- Rectangle data
- SDR format definition
- Time code
- Userspace pointer
- Control value
- Control values
- Version numbers
Enums
- Colorspace enum
- Buffer content type
- The default for R’G’B’ quantization is always full range. For Y’CbCr the quantization is always limited range, except for ColorSpace::Jpeg: this is full range.
- Mapping of XferFunc::Default to actual transfer functions for the various colorspaces
- Mapping of YcbcrEncoding::Default to actual encodings for the various colorspaces
Constants
Traits
- Direction types
- Format data types
- Plain control value types
- Something which can be used as timestamp
- I/O method types
Type Definitions
- Discrete frame interval
- Discrete frame size
- A specialized
Result
type for I/O operations.