diff --git a/examples/dump-frames.rs b/examples/dump-frames.rs index d3124ef5..5e33bc7c 100644 --- a/examples/dump-frames.rs +++ b/examples/dump-frames.rs @@ -18,7 +18,15 @@ fn main() -> Result<(), ffmpeg::Error> { .ok_or(ffmpeg::Error::StreamNotFound)?; let video_stream_index = input.index(); - let context_decoder = ffmpeg::codec::context::Context::from_parameters(input.parameters())?; + let mut context_decoder = ffmpeg::codec::context::Context::from_parameters(input.parameters())?; + + if let Ok(parallelism) = std::thread::available_parallelism() { + context_decoder.set_threading(ffmpeg::threading::Config { + kind: ffmpeg::threading::Type::Frame, + count: parallelism.get(), + }); + } + let mut decoder = context_decoder.decoder().video()?; let mut scaler = Context::get(