The MPS backend implements grid_sample but rejects padding_mode="border"
(RuntimeError: MPS: Unsupported Border padding mode), so the Frame
Interpolation node fails on Apple Silicon for every RIFE and FILM model.
PYTORCH_ENABLE_MPS_FALLBACK=1 does not help, as the op is implemented and
only the argument is rejected. The upstream PyTorch issue (#125098) has
been open since April 2024.
Clamping the sampling grid to the valid range makes padding_mode="zeros"
exactly equivalent to "border": with align_corners=True that range is
[-1, 1], and with align_corners=False it is +-(1 - 1/size) per axis.
Gated on device.type == "mps", so CUDA and CPU paths are unchanged.
* initial RIFE support
* Also support FILM
* Better RAM usage, reduce FILM VRAM peak
* Add model folder placeholder
* Fix oom fallback frame loss
* Remove torch.compile for now
* Rename model input
* Shorter input type name
---------