Niklas Haas
Open Source Multimedia • Performance Optimization
Consulting in multimedia processing, HDR color management, Vulkan GPU acceleration, and low-level SIMD performance optimization for industry-defining software projects.
Hello, I'm Niklas Haas
I'm an independent IT consultant based in Germany, specializing in multimedia processing, algorithm design, color management, and high-performance optimization.
With nearly 20 years of programming experience and active participation in the open source multimedia community, I bring deep technical expertise and a proven track record of solving complex problems in video processing, color management, and high-performance data processing.
I am a regular and active contributor to industry-leading projects including FFmpeg, dav1d, VLC and mpv, where I focus on advancing the state of the art in multimedia processing and playback. I am a member of the FFmpeg and VideoLAN technical committees, as well as the maintainer of libplacebo and checkasm.
Services
I offer specialized consulting services for organizations and projects that require expert-level multimedia and performance optimization capabilities.
Debugging & Fixing
Efficient diagnosis, analysis and resolution of bugs, across all levels from kernel drivers to end user applications.
Algorithm Design & Optimization
Research, design, and implementation of algorithms balancing quality and performance. Prototyping, A/B testing, and subjective evaluation to validate psychovisual improvements. SIMD, GPU acceleration, and algorithmic innovation to achieve 5x-10x improvements.
Feature Development
Design and implementation of new features, including implementation of new standards, codecs or filters, from concept through production-ready code.
Color Management
Specialized consulting on color management pipelines, HDR workflows, tone mapping, and color space transformations.
Architecture & Design
High-level system architecture and technical design consulting for multimedia processing systems. Strategic guidance on quality-vs-performance tradeoffs, scalability, and maintainability. Design reviews and technical decision-making.
Code Review & Auditing
In-depth code review and technical auditing to ensure code quality, correctness, and adherence to industry best practices.
While much of my consulting work has focused on open source multimedia projects, my experience extends across the broader computing landscape.
Skills
Technical capabilities spanning a broad range of multimedia processing, GPU computing, and systems programming topics.
GPU Programming
GPU-accelerated computing with Vulkan and OpenGL. Shader programming for graphics and compute workloads. Pipeline design for image and video processing.
Low-Level Optimization
SIMD programming with x86 and RISC-V Vectors. Assembly optimization and performance tuning for CPU-intensive workloads.
Color Spaces
Deep expertise in color science, HDR workflows, and tone mapping. Familiarity with all industry standards including ITU-R, SMPTE, Dolby, JCTVC, and more.
Multimedia Processing
Video and audio codecs, processing algorithms, and filtering pipelines. Familiar with both traditional DSP and neural network-based approaches.
Systems
Low-level C and assembly programming, driver development, systems software. Linux administration, distribution packaging, and network security.
Languages & Compilers
Experience with a broad range of programming paradigms and general language theory. Experience designing languages and building compilers.
Projects
Selected projects and past consulting work.
libplacebo
Author, Maintainer
Reusable cross-platform library for GPU-accelerated real-time image and video processing. Features the world's most feature-complete open source GPU color management pipeline, including dynamic tone mapping with on-the-fly frame analysis, GPU film grain synthesis, high-quality scaling and filtering, and more. Used in mpv, VLC and FFmpeg.
libswscale
Full Refactor (ongoing)
Full rewrite of libswscale, a widely used core FFmpeg component for pixel format conversion. Developed a novel approach that combines SIMD fragments assembled at runtime to create optimized conversion routines, achieving dramatic performance improvements across all supported formats while reducing the size and complexity of the codebase.
checkasm
Maintainer
Major overhaul of checkasm, a helper library for verifying correctness and benchmarking SIMD routines in open source projects. Improved portability, user friendliness, and made it reusable across projects. Enhanced benchmark statistics collection and analysis, enabling cycle-accurate performance metrics for even very large projects in seconds rather than minutes.
dav1d
Developer
Development of an experimental GPU-based Vulkan decoder using compute shaders, as well as other contributions including film grain synthesis and RISC-V SIMD routines.
FFmpeg
Developer, Technical Committee
Ongoing contributions focused on architectural improvements, including better format negotiation, filter optimization, and development of new features. My past work spans a broad domain of topics, including the first open-source implementations of ITU-R H.274, AFGS1, SMPTE RDD5, and MV-HEVC.
VLC
Developer, Technical Committee
Integration of libplacebo into VLC, bringing support for HDR, Dolby Vision, and ICC Profiles, as well as enabling VLC to render natively with Vulkan for improved performance and visual quality.
Publications & Talks
Selected papers, presentations, and conference talks.
libswscale reimagined
TalkAn overview of my project for the Sovereign Tech Fund 2024, which was all about rewriting/refactoring libswscale. I went into depth explaining my novel approach to pixel format conversion, which was based around generating and optimizing an abstract operation list and then "JIT" compiling this by combining a list of assembly fragments using continuation passing style.
Faster (and better) GPU (down)scaling
TalkA short lightning talk, containing a primer on how signal reconstruction works, and an explanation of how we can abuse GPU texture sampling tricks to more efficiently compute convolutions on positive kernels.
HDR tone-mapping in VLC / libplacebo
TalkAn exploration of the dynamic tone-mapping algorithm used in libplacebo, VLC and mpv. Note: This algorithm has gone through significant overhauls since 2018. Included mainly for historical context.
State of the Art in Cryptocurrency Network Simulation
PaperBachelor's Thesis. Comparative study of three Bitcoin network simulators (ns-3, Shadow, and simbit), evaluating their user-friendliness, performance characteristics, adaptability to other cryptocurrencies, and range of configurable parameters. Provides detailed performance benchmarks and recommendations.
Random Linear Network Coding: Use cases and Implementations
PaperIntroduction to random linear network coding and its applications in point-to-point communication, broadcast, multicast, content delivery, and peer-to-peer networks. Includes evaluations of real-world implementations, libraries, and products, as well as discussion of current limitations and future research directions.
Write less, type more—or: How I learned to stop worrying and love the compiler
PaperIntroduction to dependent type systems, which extend traditional types with dependent functions and pairs. Explores how dependent types enable greater expressiveness, increased type safety, and the ability to couple programs with proofs of correctness.
Testimonials
What clients and collaborators say about working with me.
"We contracted Niklas through ffmpeg's development mailing list to improve the performance of ffmpeg's ITU 1770 filter. He was a joy to work with: fast, concise, and precise communication around both technical & contractual matters, quick turnaround, fair rates, and first-rate C/assembly skills. Looking forward to our next opportunities for working together!"
Get In Touch
Interested in working together? Let's discuss your project.
consulting@niklashaas.de
Niklas Haas
@haasn
Download CV (PDF)
For consulting inquiries, please reach out via email.