Skip to main content

Module codec_params

Module codec_params 

Source
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 space
  • AudioParams — sample rate, channel count, sample format, bit rate
  • CodecParams — codec-agnostic union of video or audio params with a CodecId label
  • CodecParamsBuilder — ergonomic builder for CodecParams

§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§

AudioParams
Audio stream encoding / decoding parameters.
CodecParamSet
A collection of CodecParams indexed by stream index, representing all streams present in a container.
CodecParams
Codec-agnostic parameter descriptor for a single elementary stream.
VideoParams
Video stream encoding / decoding parameters.

Enums§

ChromaLocation
Chroma sample location for sub-sampled formats (e.g. YUV 4:2:0).
CodecParamsInner
Inner payload of a CodecParams discriminated by media type.
ColorSpace
Colour-space / matrix coefficients used for YCbCr ↔ RGB conversion.