Skip to content

5.20.3 - Prewarmed hardware deinterlacing for software playback

Choose a tag to compare

@superuser404notfound superuser404notfound released this 24 Jul 11:24

Fixed

The first automatically deinterlaced software session after process launch now warms the Metal deinterlace pipeline before playback reaches its first video frame (#203).

Root cause

FFmpeg created the yadif_videotoolbox Metal compute pipeline synchronously while processing the first interlaced video frame. On a cold process this could delay video for roughly ten seconds while audio had already started.

Fix

  • Start one process-wide detached hardware-deinterlace warm-up during AetherEngine initialization.
  • Let automatic deinterlacing await that shared warm-up before renderer audio activation and software-host creation.
  • Keep forced software deinterlacing immediate.
  • Keep warm-up failure nonfatal and preserve the real session's CPU fallback.

Verification

981 tests in 162 suites passed; strict Swift concurrency build clean; arm64 and x86_64 tvOS Simulator package build green.

Status

Physical Apple TV verification is still pending. Issue #203 remains open for the reporter retest.