PyroWave is a video codec for game streaming that aims to minimize latency



When streaming PC games, transferring video to other devices over a network, minimizing latency is crucial. This process typically involves the use of video compression technologies known as 'video codecs,' such as H.264 and AV1. However, these technologies pose a dilemma: they increase latency in exchange for high compression rates. To address this issue, graphics engine programmer Themeister has developed a codec called ' PyroWave ,' designed to minimize latency in environments with abundant bandwidth, such as home LANs.

I designed my own ridiculously fast game streaming video codec – PyroWave – Maister's Graphics Adventures

https://themaister.net/blog/2025/06/16/i-designed-my-own-ridiculously-fast-game-streaming-video-codec-pyrowave/

Themaister/pyrowave
https://github.com/Themaister/pyrowave

PyroWave eliminates the typical 'motion estimation' method that uses differential information between frames and instead uses an 'intra-only' method that compresses each frame individually. This increases data size, but simplifies processing and improves error tolerance. Furthermore, it also omits the data compression step known as 'entropy coding,' which hinders parallel processing on GPUs, resulting in drastic speed improvements.

Instead of the DCT (Discrete Cosine Transform) used by many codecs, PyroWave uses a technology called the Discrete Wavelet Transform (DWT). This is a method of decomposing an image into multiple frequency bands, i.e., 'low-frequency components' that represent the overall structure and 'high-frequency components' that represent details such as contours, enabling efficient compression according to the characteristics of the image.

The data decomposed by DWT is then reduced in volume through a process called 'quantization.' This is a process that intentionally reduces the precision of the data, but PyroWave is unique in that it takes advantage of the characteristics of human vision. Since the human eye is relatively insensitive to changes in fine details (high-frequency components), by quantizing this data more coarsely, the amount of data is significantly reduced while minimizing the perceived degradation of image quality.

Furthermore, PyroWave is optimized for GPU architectures, which use multiple cores for parallel processing, enabling high-speed encoding by processing images block by block in parallel. Furthermore, by eliminating entropy coding, rate control, or data volume management, has become much easier. PyroWave accurately calculates the balance between 'quality loss' and 'data reduction' for each block in the image, achieving the target data volume with almost no error, according to Themeister.

PyroWave can encode a single frame of 1080p video in significantly less than 1 millisecond, which is sometimes faster than transferring uncompressed video over a PC's internal bus. This processing speed directly translates into reduced latency, significantly improving the user's quality of experience.

For example, the game 'Clair Obscur: Expedition 33 ' is considered a 'tough' test case for image compression because it contains a lot of green vegetation and TAA noise.



The performance analysis chart shows that encoding a 1080p video using PyroWave takes just 0.13 milliseconds (130.738 microseconds) on an RX 9070 XT GPU.



Here's a performance analysis chart for encoding a less demanding 'normal' game: The encoding time in this case was about 80 microseconds, showing improved performance for lighter scenes.



By specializing in the niche area of 'ultra-low latency local streaming' rather than general use, PyroWave has achieved performance that surpasses existing technologies. Themeister commented confidently, 'This project is a good example of the importance of boldly selecting technologies to suit a specific purpose.'

in Software, Posted by log1i_yk