Skip to main content

Module decode

Module decode 

Source
Expand description

GPU-only decode dispatch.

Per the 2026-05-08 directive: every CPU decoder (openh264, libde265, libvpx, rav1d, libmpeg2, libxvidcore, pure-Rust ProRes) was deleted along with the legacy FallbackDecoder GPU→CPU fallover. The production binary supports exactly two backends:

  • NVDEC (NVIDIA, via libnvcuvid)
  • QSV (Intel, via libvpl + iHD)

Hosts without one of those (no NVIDIA, no Intel Arc / Meteor Lake, or a codec the local GPU can’t decode) hard-fail at create_decoder. There is no CPU decode path of any shape.

Structs§

DecodeSupport
One codec’s decode support across the compiled backends.

Traits§

Decoder

Functions§

create_decoder
Construct a hardware decoder for codec. NVIDIA GPUs win on tie when both vendors are present (NVDEC is generally lower-latency on the standard codec set + is what the production fleet has been tuned against). When NVDEC is disabled per env-var or doesn’t support the codec, fall through to QSV. If neither fits, hard-fail — there is no CPU fallback.
create_decoder_on
Construct a decoder pinned to a specific gpu_index when one is supplied. None preserves the legacy “pick the first matching adapter” behaviour for one-shot callers (thumbnails, tests, benches) that don’t care about distributing work across physical GPUs.
decode_backends
Decode backends compiled into this build, in dispatch-preference order.
decode_capabilities
Which compiled backends decode each common codec, for rivet capabilities.