FFmpeg is a comprehensive, production-grade multimedia framework providing libraries and command-line tools for encoding, decoding, transcoding, muxing, demuxing, filtering, streaming, and playing audio, video, subtitles, and related metadata. The codebase is organized into several core libraries: libavcodec (codec implementations), libavformat (container formats), libavfilter (audio/video filters), libavutil (utilities), libavdevice (device I/O), libswresample (audio resampling), and libswscale (image scaling/colorspace conversion). The primary user-facing tools are ffmpeg (conversion/streaming), ffplay (media player), and ffprobe (media analysis). The architecture is modular, with each library exposing a public API and internally using a plugin-like registration system for codecs, demuxers, muxers, filters, and bitstream filters. Hardware acceleration is supported via Vulkan, CUDA, VA-API, D3D11VA, D3D12VA, VideoToolbox, MediaCodec, and others, with architecture-specific SIMD optimizations for x86, ARM, RISC-V, MIPS, LoongArch, and PowerPC. The project is actively maintained with extensive testing infrastructure including fuzzers, unit tests, and a checkasm framework for verifying assembly optimizations.
HandBrake is a cross-platform video transcoder application with GUIs for macOS (Cocoa/Objective-C), Windows (WPF/C#), and Linux (GTK/C). It features a shared core library (libhb) handling video/audio encoding, filtering, muxing, and job management. The application supports preset-based configuration, hardware acceleration (QSV, NVEnc, VCE, VideoToolbox), batch processing via job queues, and extensive format/subtitle handling. Architecture follows platform-appropriate patterns: MVVM in WPF, delegates/protocols in macOS, and GObject-based design in GTK. The codebase demonstrates strong modularity, clear separation of concerns, and active maintenance across all platforms.
OpenCV is a comprehensive computer vision and machine learning library written primarily in C++ with bindings for Python, Java, JavaScript, Swift, and other languages. Its architecture is modular, with core modules for fundamental data structures (Mat, UMat, Scalar), image processing (imgproc), video I/O (videoio), deep neural network inference (dnn), feature detection (features), object detection (objdetect), camera calibration (calib), 3D geometry (geometry), point cloud processing (ptcloud), and more. The library provides a hardware abstraction layer (HAL) for CPU optimizations (SIMD, IPP, Carotene) and supports GPU acceleration via CUDA, OpenCL, and Vulkan backends. Key entry points include cv::imread/cv::imwrite for image loading, cv::VideoCapture for video streams, and cv::dnn::readNet for model inference. Data flows typically involve reading image or video data, applying processing pipelines (filtering, feature extraction, detection), and outputting results. External dependencies include vendored third-party libraries for image codecs (libjpeg-turbo, libwebp, libtiff, openjpeg), compression (zlib-ng), serialization (protobuf, flatbuffers), text shaping (harfbuzz), and linear algebra (mlas, clapack). The codebase is actively maintained with frequent commits, extensive test and performance benchmarks, and support for multiple platforms including Windows, Linux, macOS, Android, and iOS.
Red-candle is a Ruby gem that provides bindings to the Hugging Face Candle library, enabling Ruby developers to run state-of-the-art language models directly in Ruby without Python or external APIs. The system supports LLMs (Mistral, Llama, Gemma, etc.), embedding models, rerankers, NER models, and vision-language models with hardware acceleration via Metal (Apple GPU) and CUDA (NVIDIA GPU). The architecture features a clean separation between Ruby interface layer and Rust extension. The Ruby layer provides idiomatic APIs (Candle::LLM, Candle::EmbeddingModel, etc.) while the Rust extension handles model loading, tensor operations, and hardware-specific computations using the Candle ML library. Key design patterns include unified model loading via `from_pretrained`, device abstraction for CPU/GPU selection, tokenizer access across all models, structured generation with JSON schema constraints, and a complete tool calling framework with agent capabilities. The project demonstrates strong engineering practices with comprehensive test coverage, extensive examples showing real-world usage (biomedical NER, chat interfaces, reranker benchmarks), and clear documentation. It successfully bridges the Ruby and Rust ecosystems while maintaining performance and usability, making advanced AI accessible to Ruby developers through a consistent, well-abstracted interface.
ExecuTorch is PyTorch's unified solution for deploying AI models on-device (mobile, embedded, edge). It enables direct export from PyTorch without intermediate format conversions (.onnx, .tflite) and powers Meta's production on-device AI across Instagram, WhatsApp, Quest 3, and Ray-Ban Meta Smart Glasses. The framework provides an ahead-of-time (AOT) compilation workflow: Export → Compile → Execute, supporting LLMs (Llama 3.2/3.1/3, Qwen 3, Phi-4-mini), vision (MobileNetV2, DeepLabV3, YOLO26), speech (Whisper), and multimodal models (Llava, Voxtral) across 12+ hardware backends including XNNPACK, CoreML, Qualcomm QNN, MediaTek Neuropilot, ARM Ethos-U, NXP, Cadence DSP, Vulkan, CUDA (experimental), Metal (experimental), and MLX (experimental). The architecture is modular with core runtime (C++/C), export pipeline (Python), backend-specific delegates, and examples/tools for model conversion and benchmarking. Key entry points include the Python API (torch.export.export() → to_edge_transform_and_lower() → .to_executorch()), C++ API (executorch::runtime::Module), backend partitioners (XnnpackPartitioner, CoreMLPartitioner), and command-line tools for model export and benchmarking. Data flows involve model export to Edge IR (EXIR), partitioning/lowering for backend, serialization to .pte, and runtime execution via delegate interfaces. External dependencies include PyTorch, FlatBuffers, backend-specific SDKs (QNN, Ethos-U, CoreML/Metal, Vulkan, WebGPU), CMake, Buck2, and testing frameworks. The codebase demonstrates strong engineering practices with reusable components like the visitor pattern for operator lowering, quantization pipelines for LLMs, memory planning utilities, and a flexible delegate framework. While actively maintained with frequent commits and CI/CD, technical drift is medium due to experimental backends, generated code synchronization challenges, and conditional build complexity across numerous hardware targets.
LAVFilters is a mature Windows DirectShow filter suite for media playback. It consists of three COM-registered filters: LAV Splitter (a demuxer/source filter), LAV Audio Decoder, and LAV Video Decoder. The splitter wraps FFmpeg's libavformat to read virtually any container, while the decoders use FFmpeg's libavcodec plus hardware acceleration backends (DXVA2, D3D11VA, NVIDIA CUVID, Intel QuickSync) and expose property pages and programmatic COM settings interfaces. The code is predominantly C++ with heavy use of DirectShow base classes, COM plumbing, and low-level SIMD pixel-conversion routines.
Weylus is a cross-platform application that turns tablets and smartphones into graphic tablets/touch screens for computers. It operates by running a local web server that serves a web page to the tablet's browser. The web page captures pointer, touch, stylus, keyboard, and wheel events via JavaScript PointerEvents and sends them over a WebSocket connection to the server. The server then simulates these input events on the host machine using platform-specific mechanisms: on Linux it uses the uinput kernel module for full stylus/touch/mouse/keyboard support; on macOS and Windows it falls back to the autopilot library for mouse/keyboard simulation and Windows-specific synthetic pointer injection for touch/pen. Simultaneously, Weylus captures the screen (or a selected window/monitor) using platform-native APIs: X11 shared memory (XShm) on Linux X11, PipeWire/GStreamer on Wayland, CoreGraphics on macOS, and DirectX via captrs on Windows. The captured frames are encoded into a fragmented MP4 H.264 video stream using a statically linked ffmpeg (libx264) with optional hardware acceleration (VAAPI, NVENC, VideoToolbox, MediaFoundation). The video stream is sent to the browser via the same WebSocket connection and played using the Media Source Extensions API. The application provides a GUI (built with FLTK) for configuration and a headless mode for automation. It supports access codes, custom input areas, and multiple simultaneous clients.
Clapper is a modern media player application designed for the GNOME desktop, built with GTK 4 and powered by GStreamer. It features a queue-based playback system supporting sequential, repeat, carousel, and shuffle modes, along with standard media controls like play/pause, seeking, volume adjustment, and fullscreen toggling. The application emphasizes usability with an adaptive interface, subtitle/audio track selection, playback speed control, and media information display showing technical details such as codecs and bitrates. The architecture consists of three main layers: a core library (`clapper`) handling playback logic, queue management, and extensibility via plugins; a GTK library (`clapper-gtk`) providing reusable widgets like video display, buffering indicators, and custom layouts; and the main application (`clapper-app`) assembling the user interface and integrating with the core. Extensibility is achieved through a libpeas-based plugin system for metadata extraction, playlist parsing, and reactive components, while optional features like MPRIS and a built-in web server for remote control are marked as deprecated in favor of the external enhancer ecosystem. Clapper demonstrates strong engineering practices with proper GObject encapsulation, thread-safe design using a custom `ClapperThreadedObject` base class, and adherence to GTK 4 patterns such as template-based widgets and action-driven UI. The project maintains active development with recent commits, comprehensive internationalization support, and integration with modern GNOME technologies like libadwaita, though it relies on evolving dependencies (GStreamer, GTK) and contains some deprecated components requiring ongoing maintenance.
This repository contains a native WebRTC streaming application designed for Raspberry Pi and NVIDIA Jetson platforms. It captures video from various camera sources (libcamera, libargus, V4L2) and audio from PulseAudio/ALSA, encodes the streams using hardware acceleration when available or software fallbacks, and transmits them via WebRTC with multiple signaling options (MQTT, WebSocket, HTTP/WHEP). The application includes recording capabilities, snapshot functionality, and IPC for local control. The architecture is modular with clearly separated concerns for capture, encoding, signaling, and real-time communication.
This repository implements a cycle-accurate NES/Famicom console on FPGA, targeting the MiSTer platform. The core is written in Verilog/SystemVerilog with some VHDL, integrating a 6502 CPU (T65 core), PPU with composite video output, APU with expansion audio support, and dozens of cartridge mappers (MMC1-5, VRC1-7, FDS, Namco163, Sunsoft, etc.). It provides a complete hardware video/audio pipeline including scanlines, gamma correction, scandoubling, HQ2x scaling, and HDMI output. The system supports save states, cheat codes, zapper light gun, multiplayer adapters, and the Family BASIC keyboard. The codebase is well-structured with a modular mapper interface and a generic savestate bus pattern, though it is tightly coupled to the MiSTer platform (Cyclone V FPGA, HPS interface). It is an actively maintained core in the MiSTer ecosystem, with frequent releases and community contributions.
HailoRT is a production runtime SDK for Hailo AI accelerators. It provides a C/C++ library (libhailort) for loading compiled HEF models, configuring network groups, managing virtual streams (vstreams), and executing synchronous/asynchronous inference on Hailo-8/10/15 devices over PCIe, USB, or Ethernet. The repository also contains a command-line tool (hailortcli) for scanning, benchmarking, power measurement, logging, and firmware control; Python bindings (pyHailoRT); a GStreamer plugin suite (hailonet, hailosend/hailorecv, hailodevicestats); and an RPC-based client/server layer (HRPC) that allows a remote hailo service to own devices and GenAI sessions. It is a hybrid repo in the sense that it includes tutorial notebooks and algorithm modules (NMS, tracking, quantization) that resemble research code, but the dominant character is a software application/SDK. The architecture is layered: a common OS abstraction layer (files, sockets, mmap, events, threads), a VDMA/driver layer for hardware DMA and streams, a core-op/resource-manager layer for memory planning and context switching, a net-flow pipeline layer for pre/post-processing (NMS, YOLO, softmax, quantization), and high-level APIs for infer models and GenAI (LLM/VLM/speech2text). The code uses an Expected monad instead of exceptions, pimpl idioms for ABI stability, buffer pools for high-throughput transfers, and protobuf serialization for HRPC. The codebase is large and professional, with strong modularization, but also carries noticeable internal debt: many HRT-TODO markers, duplicated pipeline construction, hardcoded sysfs/tmp paths, deprecated API overloads, and partial Windows/QNX platform stubs. Maintenance is active; the repo is versioned (v5.4.0) and recently committed. Technical drift is medium because core dependencies are current and the project is clearly under active commercial development, yet some legacy/deprecated surfaces and platform-specific ifdefs remain. As a library, meaningful inference requires Hailo hardware; the build is CMake-driven with external dependencies managed via CMake scripts.