in order to replace GBM. This was not taken positively by the community, and Nvidia eventually changed their mind, and took another approach. Implementations of video acceleration APIs There are three possible ways to do the calculations necessary for the encoding and decoding of video streams: use a software implementation of a video compression or decompression algorithm (commonly called a CODEC) and execute this software on the CPU use a software implementation of a video compression or decompression algorithm (commonly called a CODEC) and execute this software on the GPU (the 3D rendering engine) use a complete (or partial) hardware implementation of a video compression or decompression algorithm; it has become very common to integrate such ASICs into the chip of the GPU/CPU/SoC and therefore abundantly available; for marketing reasons companies have established brands for their ASICs, such as PureVideo (Nvidia), Unified Video Decoder (AMD), Video Coding Engine (AMD), Quick Sync Video (Intel), DaVinci (Texas Instruments), CedarX (Allwinner), Crystal HD (Broadcom); some ASICs are available for licensing as semiconductor intellectual property core; usually different versions implement different video compression and/or video decompression algorithms; support for such ASICs usually belong into the kernel driver, to initialize the hardware and do low-level stuff. Mesa, which runs in user-space, houses the implementations of several APIs for software, e.g. VLC media player, GStreamer, HandBrake, etc., to conveniently access such ASICs: Video Acceleration API (VAAPI) – the most common API for Linux, used by AMD and Intel Video Decode and Presentation API for Unix (VDPAU) – used by Nvidia DirectX Video Acceleration (DXVA) – Microsoft Windows-only OpenMAX IL – designed by Khronos Group for video compression Distributed Codec Engine (DCE) – designed by Texas Instruments X-Video Bitstream Acceleration (XvBA) – extension to Xv - succeeded by VAAPI X-Video Motion Compensation (XvMC) – extension to Xv - succeeded by VAAPI For example, Nouveau, which has been developed as part of Mesa, but also includes a Linux kernel component, which is being developed as part of the Linux kernel, supports the PureVideo-branded ASICs and provides access to them through VDPAU and partly through XvMC. The free radeon driver supports Unified Video Decoder and Video Coding Engine through VDPAU and OpenMAX. V4L2 is a kernel-to-user-space interface for video bit streams delivered by webcams or TV tuners. Due to patent concerns, Fedora Linux disabled support for VAAPI in its build of Mesa in September 2022. Device drivers The available