Repository navigation
Home
This wiki is the long version. The README says what qBlank is, the manual (English and German) how to use it; the pages here say how each part works, which file it lives in, and why it was built the way it was.
This program was called CapView. 4.0 is 3.7 under a different name and nothing else — nothing was added or taken away in that step. Settings, profiles and the log carry over by themselves, and an installed 3.7 finds its way here through its own update check. How that works, and what deliberately keeps the old name, is on Updates.
Most of what is written down here was measured rather than reasoned about. Where a number appears — a threshold, a window width, a percentage — it came off this hardware: a StarTech PEXHDCAP60L, a PAL SNES over composite, and a GameCube at 480i and PAL-60. Where something is untested, the page says so.
| Page | What it covers |
|---|---|
| Latency | The capture path end to end, and the four decisions that make it short |
| Source and signal | Device enumeration, format forcing, the analogue video standard |
| Automatic video standard | How the standard is found and confirmed, and what every threshold is worth |
| Colour range and matrix | Why the range is measured from the pixels rather than read from the format |
| Signal detection | Telling snow from a scene cut, and the empty state |
| Deinterlacing | How interlace is detected, and what the five modes actually do |
| The composite filter | Dot crawl, rainbow shimmer, noise and the rolled-off top end, and the five filters that address them |
| Cropping and geometry | Automatic border detection, rotation, line doubling, aspect |
| Scaling and sharpening | The five scalers and contrast adaptive sharpening |
| Freeze and compare | F11, F12 and Shift+F12: holding the picture, splitting it, and every filter off |
| High dynamic range | PQ, HLG, tone mapping, and what each output writes |
| Page | What it covers |
|---|---|
| Recording | Encoding in the process, the audio master clock, containers and splitting |
| Encoder settings | One set of names translated into four vendors' own |
| ffmpeg | Loading its libraries, downloading them, and probing what the hardware can do |
| Audio | WASAPI passthrough, drift correction, recording sources, track layout |
| Screenshots | PNG, JPEG, JPEG XR and AVIF, why WIC rather than ffmpeg, and the two grab points |
| Virtual camera | The DirectShow filter, the source 1:1, the shared memory, and the DLL name problem |
| Page | What it covers |
|---|---|
| The main window | Window size, Shift keeps the shape, borderless, the red dot while recording, the tray icon, and Start menu and desktop shortcuts |
| The settings window | A window of its own, what it shows for which source, search, and the stutter that took three fixes |
| Configuration and profiles | What is stored, where, and what a profile holds |
| Updates | Checking GitHub, replacing a running executable, and the bridge out of the old name |
| Shortcuts | The key list and how rebinding works |
| Translations | Why the strings sit inline instead of in a table |
| Building | Toolchain, build script, what ends up in the binary |
Source references are given as path/file.cpp with the function name, because
the code carries its own reasoning in comments and this wiki is a guide to it
rather than a replacement for it.
"Measured" means exactly that: a number taken from a running capture, usually through the statistics overlay (F1) or a temporary log line. "Estimated" and "untested" are used where that was not possible.