• Stefy Lanza (nextime / spora )'s avatar
    video: cap CPU cores + thermal-manage RIFE interpolation · 80f8fe22
    Stefy Lanza (nextime / spora ) authored
    rife-ncnn-vulkan and the ffmpeg frame extract/encode were grabbing all cores
    and ran with no ongoing thermal control. Now:
    
    - _cpu_thread_limit() mirrors coderai's half-the-cores cap (honours the
      OMP_NUM_THREADS set at import). All ffmpeg calls in the upscale + interpolate
      paths pass -threads N and are CPU-pinned via a sched_setaffinity preexec_fn;
      rife gets -j capped and the same affinity pin — so neither can saturate 24
      cores.
    - RIFE is one opaque subprocess, so it now runs under a watcher thread that
      SIGSTOPs it when the GPU/CPU exceeds the configured thermal-high threshold and
      SIGCONTs it once cooled (the subprocess analogue of the upscaler's per-frame
      thermal gate), and terminates it on task cancel. Per-frame progress preserved.
    Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
    80f8fe22
video.py 146 KB