pub async fn run_multigpu_single_file(
params: MultiGpuParams<'_>,
sink: Arc<dyn ProgressSink>,
) -> Result<Vec<Option<RungPackets>>>Expand description
Single-file counterpart to run_multigpu_hls: decode once, fan to per-rung
scalers, and dynamically schedule each rung’s GOP-sized chunks across all
GPUs (fair lease pool + mid-flight helper dispatch + cross-vendor codec
invariant). Each worker encodes its chunk to packets (a fresh encoder per
chunk → first frame is an IDR); the finalizer concatenates them in segment
order into one ordered packet stream per rung — no disk round-trip.