5.20.3 - Prewarmed hardware deinterlacing for software playback
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
AetherEngineinitialization. - 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.