⚠️ VeridianOS Kernel Documentation - This is low-level kernel code. All functions are unsafe unless explicitly marked otherwise. no_std

Module video_processing

Module video_processing 

Source
Expand description

Video processing module for VeridianOS

Provides four major subsystems:

  1. AVI container parser – RIFF/AVI header parsing, stream demuxing, index (idx1) parsing, and frame extraction.
  2. 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.
  3. Subtitle overlay – SRT parser, timestamp matching, 8x16 bitmap font text rendering with semi-transparent background, multi-line word wrapping, and configurable margins.
  4. 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§

AudioSchedParams
Audio scheduling parameters for a single audio thread.
AudioSchedStats
Statistics for a single audio thread’s scheduling behavior.
AudioScheduler
Real-time audio scheduler manager.
AviContainer
Parsed AVI container.
AviFlags
AVI file flags from the main header (avih).
AviIndexEntry
An entry in the AVI index (idx1 chunk).
AviMainHeader
AVI main header (avih chunk) – 56 bytes.
AviStreamHeader
AVI stream header (strh chunk) – 56 bytes.
AviStreamInfo
Information about a parsed AVI stream.
BitmapInfoHeader
BitmapInfoHeader (BITMAPINFOHEADER) – 40 bytes. Used in video strf chunks to describe the video format.
FourCC
Four-character code (FourCC) used throughout RIFF/AVI.
FrameMapEntry
A single entry in the frame map produced by FrameRateConverter::build_frame_map.
FrameRateConverter
Frame rate converter state.
SubtitleConfig
Subtitle overlay configuration.
SubtitleEntry
A single subtitle entry parsed from SRT format.
SubtitleTrack
Subtitle track holding all parsed entries.
WaveFormatEx
WaveFormatEx (WAVEFORMATEX) – 18 bytes minimum. Used in audio strf chunks to describe the audio format.

Enums§

AudioPriorityClass
Audio thread priority class, mapped to the kernel deadline scheduler.
AudioSchedError
Errors from the audio real-time scheduler.
FrameRateMode
Frame rate conversion mode.
StreamType
Stream type tag.