Expand description
Video processing module for VeridianOS
Provides four major subsystems:
- AVI container parser – RIFF/AVI header parsing, stream demuxing, index (idx1) parsing, and frame extraction.
- Frame rate conversion – Frame duplication, frame dropping, 3:2 pulldown (telecine), timestamp-based selection, and motion-compensated linear blend interpolation. All math is integer-only.
- Subtitle overlay – SRT parser, timestamp matching, 8x16 bitmap font text rendering with semi-transparent background, multi-line word wrapping, and configurable margins.
- Real-time audio scheduling – Deadline scheduler integration for audio threads with period-based wake scheduling, latency/jitter tracking, underrun/overrun statistics, and CPU reservation.
All arithmetic is integer or fixed-point. No floating-point is used anywhere.
Structs§
- Audio
Sched Params - Audio scheduling parameters for a single audio thread.
- Audio
Sched Stats - Statistics for a single audio thread’s scheduling behavior.
- Audio
Scheduler - Real-time audio scheduler manager.
- AviContainer
- Parsed AVI container.
- AviFlags
- AVI file flags from the main header (avih).
- AviIndex
Entry - An entry in the AVI index (idx1 chunk).
- AviMain
Header - AVI main header (avih chunk) – 56 bytes.
- AviStream
Header - AVI stream header (strh chunk) – 56 bytes.
- AviStream
Info - Information about a parsed AVI stream.
- Bitmap
Info Header - BitmapInfoHeader (BITMAPINFOHEADER) – 40 bytes. Used in video strf chunks to describe the video format.
- FourCC
- Four-character code (FourCC) used throughout RIFF/AVI.
- Frame
MapEntry - A single entry in the frame map produced by
FrameRateConverter::build_frame_map. - Frame
Rate Converter - Frame rate converter state.
- Subtitle
Config - Subtitle overlay configuration.
- Subtitle
Entry - A single subtitle entry parsed from SRT format.
- Subtitle
Track - Subtitle track holding all parsed entries.
- Wave
Format Ex - WaveFormatEx (WAVEFORMATEX) – 18 bytes minimum. Used in audio strf chunks to describe the audio format.
Enums§
- Audio
Priority Class - Audio thread priority class, mapped to the kernel deadline scheduler.
- Audio
Sched Error - Errors from the audio real-time scheduler.
- Frame
Rate Mode - Frame rate conversion mode.
- Stream
Type - Stream type tag.