Expand description
Frame-level transcode context: decoder/filter-graph/encoder pipeline.
This module provides the TranscodeContext that wires together a
FrameDecoder, a FilterGraph, and a FrameEncoder into a single
execute-loop. The design is codec-agnostic: callers supply concrete
implementations of the FrameDecoder and FrameEncoder traits.
§Example
ⓘ
use oximedia_transcode::pipeline_context::{
TranscodeContext, FilterGraph, Frame,
};
// Supply your own decoder/encoder implementations.
let ctx = TranscodeContext::new(decoder, FilterGraph::new(), encoder);
let stats = ctx.execute()?;
println!("{} frames in, {} frames out", stats.pass.input_frames, stats.pass.output_frames);Structs§
- Filter
Graph - A composable filter graph applied to frames between decode and encode.
- Frame
- A raw decoded frame flowing through the transcode pipeline.
- HdrPassthrough
Config - High-level configuration for HDR metadata passthrough in the transcode pipeline.
- HdrSei
Injector - Stores SMPTE ST 2086 and CTA-861.3 SEI payloads extracted from the input stream and optionally prepends them to output packet data.
- Pass
Stats - Per-pass statistics from a
TranscodeContext::executecall. - Transcode
Context - Wires a
FrameDecoder,FilterGraph, andFrameEncodertogether into a single execute loop. - Transcode
Stats - Statistics returned by
TranscodeContext::execute.
Traits§
- Frame
Decoder - A frame-level decoder that produces raw
Framevalues. - Frame
Encoder - A frame-level encoder that converts raw
Framevalues to encoded bytes.