Expand description
Codec parameter types for video and audio streams.
Provides codec-agnostic wrappers around common encoding/decoding parameters such as resolution, frame rate, sample rate, channel count, and bit depth. These types decouple codec configuration from specific codec implementations and allow parameter passing through the pipeline without importing heavy codec crates.
§Structure
VideoParams— width, height, frame rate, pixel format, colour spaceAudioParams— sample rate, channel count, sample format, bit rateCodecParams— codec-agnostic union of video or audio params with aCodecIdlabelCodecParamsBuilder— ergonomic builder forCodecParams
§Example
use oximedia_core::codec_params::{AudioParams, CodecParams, VideoParams};
use oximedia_core::types::{CodecId, PixelFormat, Rational, SampleFormat};
let video = CodecParams::video(
CodecId::Av1,
VideoParams::new(1920, 1080, Rational::new(30, 1)),
);
assert!(video.is_video());
assert_eq!(video.video_params().map(|v| v.width), Some(1920));
let audio = CodecParams::audio(
CodecId::Opus,
AudioParams::new(48_000, 2),
);
assert!(audio.is_audio());
assert_eq!(audio.audio_params().map(|a| a.sample_rate), Some(48_000));Structs§
- Audio
Params - Audio stream encoding / decoding parameters.
- Codec
Param Set - A collection of
CodecParamsindexed by stream index, representing all streams present in a container. - Codec
Params - Codec-agnostic parameter descriptor for a single elementary stream.
- Video
Params - Video stream encoding / decoding parameters.
Enums§
- Chroma
Location - Chroma sample location for sub-sampled formats (e.g. YUV 4:2:0).
- Codec
Params Inner - Inner payload of a
CodecParamsdiscriminated by media type. - Color
Space - Colour-space / matrix coefficients used for YCbCr ↔ RGB conversion.