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
- Area data
- Audio
- Audio
Capability Flag - Audio
Out - Auto
Focus Status - Band
Modulation - BtTimings
- BtTimings
Cap - Buffer
- Buffer
Capability Flag - Buffer
Data - Buffer
Flag - Buffer
Ref - Capability
- Capability
Flag - Capture
Parm - Chip
Flag - Chip
Match - Clip
- Control
- Create
Buffers - Crop
- CropCap
- Ctrl
Enum Flag - Ctrl
Flag - DbgChip
Info - DbgMatch
- DbgRegister
- DecCmd
Flag - Decoder
Cmd - Decoder
CmdUnion Raw - Decoder
CmdUnion Start - Decoder
CmdUnion Stop - DvBt
Capability Flag - DvBtStd
- Timings standards
- DvFlag
- DvSync
Pol - Polarities
- DvTimings
- DvTimings
Cap - Edid
- EncCmd
Flag - EncIdx
- EncIdx
Entry - Encoder
Cmd - Encoder
CmdUnion Raw - Enum
DvTimings - Error
- The error type for I/O operations of the
Read
,Write
,Seek
, and associated traits. - Event
- Event
Ctrl - Event
Ctrl Change Flag - Event
Frame Sync - Event
Motion Det - Event
Motion DetFlag - Event
SrcChange - Event
SrcChange Flag - Event
SubFlag - Event
Subscription - Event
Vsync - Export
Buffer - ExtControl
- ExtControls
- Flash
Fault - FmtDesc
- Format description
- FmtFlag
- Format
- Stream data format
- Fract
- Fraction value
- Frame
Buffer - Frame
Buffer Capability Flag - Frame
Buffer Flag - Frame
Buffer Fmt - Frequency
- Frequency
Band - FrmIval
Enum - Frame interval description
- FrmIval
Stepwise - Stepwise frame interval
- FrmSize
Enum - Frame size description
- FrmSize
Iter - FrmSize
Stepwise - Stepwise frame sizes
- Fwht
Flag - Fwht
Params - H264
Decode Param Flag - H264
Decode Params - H264
DpbEntry - H264
DpbEntry Flag - H264Pps
- H264
PpsFlag - H264
Pred Weights - H264
Reference - H264
Scaling Matrix - H264
Slice Flag - H264
Slice Params - H264Sps
- H264
SpsConstraint Flag - H264
SpsFlag - H264
Weight Factors - Hdr10
CllInfo - Hdr10
Mastering - Hdr10
Mastering Display - HwFreq
Seek - In
- Capture (input direction)
- Input
- Input
Capability Flag - Input
Status Flag - IoCapability
Flag - Jpeg
Compression - Jpeg
Marker - Lock
- Memory
Flag - Menu
Item - Helper type to represent menu item
- Meta
Format - Metadata format definition
- Mmap
- Memory mapping
- Modulator
- Mpeg2
PicFlag - Mpeg2
Picture - Mpeg2
Quantisation - Mpeg2
SeqFlag - Mpeg2
Sequence - Mpeg
VbiFmt Ivtv - Mpeg
VbiIT V0 - Mpeg
VbiItv0 - Mpeg
VbiItv0 Line - Out
- Render (output direction)
- Output
- Output
Capability Flag - Output
Parm - PixFmt
Flag - PixFormat
- Single-planar pixel format
- PixFormat
Mplane - Multiplanar format definition
- Plane
- Plane
PixFormat - Per-plane format definition
- Query
Ctrl - Query
ExtCtrl - Query
Menu - Queue
Data - RdsBlock
Flag - RdsData
- Rect
- Rectangle data
- Request
Buffers - SdrFormat
- SDR format definition
- Selection
- Selection
Flag - Sliced
VbiCap - Sliced
VbiData - Sliced
VbiFormat - Sliced
VbiType - Standard
- StdId
- Stream
Parm - Time
Code - Time code
- Time
Code Flag - Time
Code User Bits - Tuner
- Tuner
Capability Flag - Tuner
Mode Flag - Tuner
SubFlag - UserPtr
- Userspace pointer
- Value
- Control value
- Values
- Control values
- VbiFlags
- VbiFormat
- Version
Triple - Version numbers
- Vp8Entropy
- Vp8Entropy
Coder State - Vp8Frame
- Vp8Frame
Flag - Vp8Loop
Filter - Vp8Quantization
- Vp8Segment
- Vp8Segment
Flag - Vp9Compressed
Hdr - Vp9Frame
- Vp9Frame
Flag - Vp9Loop
Filter - Vp9Loop
Filter Flag - Vp9Mv
Probs - Vp9Quantization
- Vp9Segmentation
- Vp9Segmentation
Flag - Vp9Sign
Bias - Window
Enums§
- Audio
Mode - Auto
Focus Range - AutoN
Present White Balance - Buffer
Type - Camera
Orientation - CidMpeg
Video Hevc Loop Filter Mode - CidMpeg
Video Hevc Refresh Type - CidMpeg
Video Hevc Size OfLength Field - ColorFx
- Color
Space - Colorspace enum
- Content
Type - Buffer content type
- Ctrl
Base - Ctrl
Class - CtrlId
- Ctrl
Type - DecCmd
- DecStart
Fmt - Deempasis
- Detect
MdMode - DvFormat
- DvIt
Content Type - DvRgb
Range - DvTimings
Type - DvTx
Mode - EncCmd
- EncIdx
Frame - Event
Type - Exposure
Auto Type - Exposure
Metering - Field
- Flash
LedMode - Flash
Strobe Source - FourCc
- FrmIval
Type - FrmSize
Type - Fwht
Version - H264Ref
- H264
Slice Type - HsvEncoding
- Input
Type - IoMode
- IsoSensitivity
Auto Type - Jpeg
Active Marker - Jpeg
Chroma Subsampling - Memory
- Mpeg2
Pic - Mpeg2
PicCoding Type - Mpeg
Audio Ac3Bitrate - Mpeg
Audio Crc - Mpeg
Audio DecPlayback - Mpeg
Audio Emphasis - Mpeg
Audio Encoding - Mpeg
Audio L1Bitrate - Mpeg
Audio L2Bitrate - Mpeg
Audio L3Bitrate - Mpeg
Audio Mode - Mpeg
Audio Mode Extension - Mpeg
Audio Sampling Freq - Mpeg
Cx2341x Video Chroma Spatial Filter Type - Mpeg
Cx2341x Video Luma Spatial Filter Type - Mpeg
Cx2341x Video Median Filter Type - Mpeg
Cx2341x Video Temporal Filter Mode - Mpeg
Mfc51 Video Force Frame Skip Mode - Mpeg
Mfc51 Video Force Frame Type - Mpeg
Stream Type - Mpeg
Stream VbiFmt - Mpeg
VbiIvtv Type - Mpeg
Video Aspect - Mpeg
Video Bitrate Mode - Mpeg
Video Encoding - Mpeg
Video Frame Skip Mode - Mpeg
Video H264 Entropy Mode - Mpeg
Video H264 FmoChange Dir - Mpeg
Video H264 FmoMap Type - Mpeg
Video H264 Hier Coding Type - Mpeg
Video H264 Level - Mpeg
Video H264 Profile - Mpeg
Video H264 SeiFp Arrangement Type - Mpeg
Video H264 VuiSar Idc - Mpeg
Video Header Mode - Mpeg
Video Hevc Hier Coding Type - Mpeg
Video Hevc Level - Mpeg
Video Hevc Profile - Mpeg
Video Hevc Tier - Mpeg
Video Loop Filter Mode - Mpeg
Video Mpeg2 Level - Mpeg
Video Mpeg2 Profile - Mpeg
Video Mpeg4 Level - Mpeg
Video Mpeg4 Profile - Mpeg
Video Multi Slice Mode - Mpeg
Video Vp8Profile - Mpeg
Video Vp9Level - Mpeg
Video Vp9Profile - Output
Type - Power
Line Frequency - Preemphasis
- Priority
- Quantization
- 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.
- Scene
Mode - Selection
Target - Stateless
H264 Decode Mode - Stateless
H264 Start Code - Time
Code Type - Timestamp
- Timestamp
Src - Tuner
Type - Vp8Golden
Frame Sel - Vp8Num
Partitions - Vp8Num
RefFrames - Vp9Interp
Filter - Vp9Reference
Mode - Vp9Reset
Frame Ctx - Vp9Segmentation
Level - Vp9Tx
Mode - Xfer
Func - Mapping of XferFunc::Default to actual transfer functions for the various colorspaces
- Ycbcr
Encoding - Mapping of YcbcrEncoding::Default to actual encodings for the various colorspaces
Constants§
- CID_
MAX_ CTRLS - CID_
PRIVATE_ BASE - CTRL_
CLASS_ MPEG - CTRL_
ID_ MASK - CTRL_
MAX_ DIMS - CTRL_
WHICH_ CUR_ VAL - CTRL_
WHICH_ DEF_ VAL - CTRL_
WHICH_ REQUEST_ VAL - ENC_
IDX_ ENTRIES - H264_
NUM_ DPB_ ENTRIES - H264_
REF_ LIST_ LEN - PIX_
FMT_ PRIV_ MAGIC - VBI_
ITU_ 525_ F1_ START - VBI_
ITU_ 525_ F2_ START - VBI_
ITU_ 625_ F1_ START - VBI_
ITU_ 625_ F2_ START - VIDEO_
MAX_ FRAME - VIDEO_
MAX_ PLANES - VP8_
COEFF_ PROB_ CNT - VP8_
MV_ PROB_ CNT - VP9_
NUM_ FRAME_ CTX - VP9_
PROFILE_ MAX - VP9_
SEGMENT_ FEATURE_ ENABLED_ MASK
Traits§
- Direction
- Direction types
- GetValue
- IsEvent
Data - IsFormat
Data - Format data types
- IsFrm
Ival Data - IsFrm
Size Data - IsPlain
Ctrl Data - Plain control value types
- IsStream
Parm - Stream parameter types
- IsTimestamp
- Something which can be used as timestamp
- Method
- I/O method types
- MutValue
- RefValue
- SetValue
Type Aliases§
- FrmIval
Discrete - Discrete frame interval
- FrmSize
Discrete - Discrete frame size
- Result
- A specialized
Result
type for I/O operations.