pub struct DecodePumpConfig {
pub codec_name: String,
pub info_for_decoder: StreamInfo,
pub source_color_metadata: ColorMetadata,
pub source_pixel_format: PixelFormat,
pub needs_downsample: bool,
pub tonemap_to_sdr: bool,
pub gpu_index: Option<u32>,
pub filters: Arc<FilterChain>,
}Expand description
Configuration for one decode pump.
Fields§
§codec_name: StringSource video codec label (e.g. "h264").
info_for_decoder: StreamInfoStream info handed to the decoder.
source_color_metadata: ColorMetadataSource color metadata (drives HDR-aware tonemap vs SDR passthrough).
source_pixel_format: PixelFormatSource pixel format.
needs_downsample: boolWhether to run the 4:4:4 → 4:2:0 downsample per frame.
tonemap_to_sdr: boolTonemap policy (from the OutputSpec): when
true, HDR (PQ/HLG) sources are mapped down to 8-bit SDR BT.709; when
false, the source color/transfer/bit-depth passes through unchanged.
The pump does not decide this on its own — the caller sets it from the
spec’s ColorPolicy.
gpu_index: Option<u32>Pin the decoder to this physical GPU; None = first matching adapter.
filters: Arc<FilterChain>Prepared per-frame video filter chain (crop/pad/flip/rotate/grayscale/
overlay/colour), applied after colorspace normalize and before the frame
is fanned out to the per-rung scalers. Overlay images are loaded once at
prepare time. Arc so the per-GPU pump configs clone it cheaply.
Trait Implementations§
Source§impl Clone for DecodePumpConfig
impl Clone for DecodePumpConfig
Source§fn clone(&self) -> DecodePumpConfig
fn clone(&self) -> DecodePumpConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more