RIFE for PotPlayer

RIFE for PotPlayer
User guide

RIFE interpolation at the original source resolution. Set up the filter, choose your frame rate and check playback.

v0.2.0 · 2026-10-15 · Offline HTML manual

RTX 50 series only · RTX 5090 tested / RTX 5080 operation user-confirmed

Connect for the first time

Extract the complete archive and run RifeControl.exe. No separate .NET, Python or VapourSynth installation is required. PotPlayer and the NVIDIA graphics driver are separate prerequisites.

  1. Extract the whole folder to a fixed, writable location. Do not move only the EXE.
  2. Open 연결 설정 (Connection) → 엔진 검사 / 준비 (Check / prepare engine). A compatible engine is reused. If preparation is needed, close PotPlayer and build the engine once for this computer.
  3. Choose 필터 등록 (Register filter). If PotPlayer runs elevated, the button reads 관리자용 필터 등록 (Register for administrator) and Windows requests elevation.
  4. In PotPlayer, open F5 → Filter Control → Global Filter Priority → Add system codec. Add RIFE for PotPlayer, enable it and select Prefer / highest priority. Do not enable another interpolation filter at the same time. Menu wording varies with the PotPlayer translation.
  5. Reopen the video. Check 프레임 보간 동작 중 (interpolation active) and the input → output frame rates at the top of the RIFE window.

Registration and selecting the filter in PotPlayer are separate steps. Registration alone does not make PotPlayer use RIFE.

RIFE Connection tab with engine preparation, administrator registration and Open PotPlayer
Actual RIFE screenshot supplied by the user; some version labels reflect the earlier release. The registration button changes with the player’s elevation state. Select the image to open it at full size.

Requirements and engine reuse

This stable release targets Windows x64. Supported GPUs: NVIDIA GeForce RTX 50 series only. RTX 5090 is tested; normal operation on RTX 5080 is user-confirmed. RTX 30 series did not work in the user’s test and is unsupported. Other GPU series are outside this release’s support scope. It supports PotPlayer64.exe and PotPlayerMini64.exe. The main tested system is Windows 10 22H2 with an RTX 5090 and NVIDIA driver 617.42.

ItemDetails
IncludedRIFE 4.25 Standard model, TensorRT 10.16.0.72 / CUDA 13 family runtime, .NET/WPF runtime and engine preparation tools.
Reuse across videosA fixed guide input with a maximum long edge of 960 avoids per-video engine builds.
Another PC or GPURun the engine check first on a supported RTX 50-series GPU. GPU or runtime changes may require preparation. SM120 / PTX builder resources are included. Engine preparation does not make RTX 30 or other series supported.
GPU memoryUsage depends on source resolution, interpolation multiplier, renderer and VSR.
Package formatA self-contained portable ZIP, without an installer. DirectShow filter registration is still required.

Engine preparation may take several minutes or longer. The playback filter does not compile TensorRT engines when opening or seeking a video. Initial CUDA command preparation is separate from engine compilation. Keep the executable, runtime and model from the same package together.

Interpolation settings

Use the top switch to enable interpolation. Reopen the video after changing settings. The release defaults to a 60fps output cap. The current application interface is Korean; the English labels below explain the controls.

ControlBehavior
보간할 원본 FPS
Source FPS
Select any of 24, 25, 30, 50, 60 and Other. 23.976 belongs to 24; 29.97 to 30; 59.94 to 60.
세로 해상도
Source height
Choose all inputs, up to 1080p or up to 1440p.
FPS 상한
FPS cap
Uses the largest integer multiplier within the cap. At 120: 24→120, 25→100 and 23.976→119.88fps.
원본 배수
Source multiplier
Uses a fixed multiplier. For example, 60fps ×4 → 240fps. Higher multipliers also increase GPU work.
해상도별 설정
Resolution rules
When enabled, a matching resolution rule overrides the common output setting.
RIFE Interpolation tab with source FPS selection, input height and output cap
Actual RIFE screenshot supplied by the user; some version labels reflect the earlier release. The pictured 120fps cap is an example; a fresh release package defaults to 60fps.

Startup and seeking

At first playback, original frames are shown for approximately 100ms of wall-clock time while interpolation is prepared. Audio continues and playback start is not held back. The original-preview threshold after seeking is 50ms. Actual interpolation resumption also depends on input frame spacing and acquiring a new adjacent pair.

How it works and video compatibility

RIFE estimates motion and blending masks at a maximum guide long edge of 960, then uses them to compose the original-resolution pixels. It does not upscale a completed 960-pixel RGB result. Inference uses TensorRT FP16; coordinates, selected operations and I/O remain FP32.

Scene-cut handling holds original frames instead of blending unrelated scenes. Detection was tuned to reduce false cuts on fast motion and lighting changes; perfect detection on every source is not guaranteed.

Input / pathCoverage and limitations
8-bit SDRNV12 has been validated. A D3D11 decoder and D3D11 renderer are recommended.
10-bit SDR / HDRComposition uses original P010 code values. HDR10 / HLG color information and static metadata paths have been tested. The filter does not tone-map.
HW ↔ SW switchingHardware input, software input and reconnect tests cover format and HDR metadata retention. Actual connection support depends on the decoder / renderer combination.
Interlaced / 4:2:2Software interlaced input handling and P210/Y210 conversion paths have been tested. This does not cover every codec combination.
Dolby VisionCoverage is decoder-provided metadata forwarding. It does not certify every profile, FEL processing or actual Dolby Vision display output.
LimitationsHDR10+ dynamic metadata forwarding is not implemented. Some color formats, including full-range and BT.601 paths, may be rejected.

Landscape, portrait and square sources reuse the same engine. Portrait guides rotate internally; small sources are not forcibly enlarged to fill the guide.

Diagnostics and troubleshooting

The 진단 (Diagnostics) tab shows the connected player, registration location, video transport, pixel format, HDR information and profiling state. Live updates preserve your scroll position and text selection. A hidden tab receives its latest display update on the next refresh after it is shown.

RIFE Diagnostics tab with registration, input and output formats, engine information and copy button
Actual RIFE screenshot supplied by the user; some version labels reflect the earlier release. It shows an earlier version label and that computer’s paths; live diagnostics report the current environment.

Use 정보 복사 (Copy information) for diagnostic text and 진단 폴더 열기 (Open diagnostics folder) for logs. The log location is %LOCALAPPDATA%\RifeStandardPotPlayer. Detailed profiling is enabled in this release, sampled every 32 input pairs.

TensorRT inference, D3D11↔CUDA sharing / waits and original-resolution composition are measured separately. CPU and GPU work overlap, so these durations cannot simply be added. Logs are written on a separate thread without making playback wait for storage.

The filter is registered but interpolation does not start

Check that RIFE is enabled and preferred in PotPlayer’s global filter list. Match the player’s elevation with filter registration. Verify the source FPS and height are selected, then reopen the video.

Engine checking or preparation fails

Extract the full ZIP and close PotPlayer before preparing an engine. Check the engine logs in the package’s logs folder. Check that the GPU is in the supported RTX 50 series. RTX 30 and other series are not supported by this package.

HDR state or colors look wrong

Check both input / output pixel formats and the video color information. 10-bit SDR is not HDR. Windows HDR being enabled does not mean the source is HDR. Also inspect decoder and renderer HDR / tone-mapping settings.

Performance and known limitations

8K 60fps ×4 → 240fps was tested in PotPlayer on an RTX 5090. Some measurements showed no additional drops during sustained playback, while startup drops remain. This is not a guarantee of drop-free playback on every PC, video or renderer configuration.

Match resolution and output FPS to your GPU. If the GPU cannot keep up with the video resolution and target output frame rate, the Dropped counter may keep increasing during playback. Lower the interpolation multiplier or FPS cap, or use a lower-resolution source when needed. Enabling VSR increases GPU demand further. Reopen the video after changing settings and check whether drops continue to increase in the same segment, then adjust for your hardware.

  • Startup drops: the 100ms original-frame preparation window is retained. Remaining startup drops are a long-term improvement task.
  • VSR contention: GPU Super Resolution plus a high interpolation multiplier can increase GPU load and drops during moving scenes. Turning VSR off stopped the drop increase in a comparison on the same segment. This contention is a long-term improvement task.
  • Display refresh: output FPS and monitor refresh rate are different. A 165Hz display cannot show all 240 distinct frames each second.

For comparisons, keep the video segment, window size, VSR and output settings unchanged. Record the Dropped counter at both the start and end. A lower output cap or multiplier can provide more GPU headroom when needed.

Using VSR alongside interpolation

This filter’s RIFE TensorRT FP16 inference and NVIDIA RTX Video Super Resolution (VSR) both use Tensor Cores. Running them together can create contention for the same GPU’s compute resources. At high resolutions and output frame rates, interpolation or upscaling may fall behind and drops may increase. Memory bandwidth, rendering and synchronization also contribute, so a drop cannot automatically be attributed solely to Tensor Cores. If drops keep increasing, reduce the interpolation multiplier, FPS cap or VSR quality to leave more GPU headroom. Temporarily disabling only VSR and comparing the same segment can help identify contention. NVIDIA documents VSR’s Tensor Core usage in its RTX Video FAQ.

PotPlayer on RTX 5090 showing 8K 60fps input, 239.69fps output, Dropped 0 and GPU-Z board power of 265W
User-supplied RTX 5090 playback capture: 8K 60fps ×4, VSR OFF. At capture, output was 239.69fps, Dropped was 0, and graphics-card board power was about 265W. Power is an instantaneous reading, not a measured average. RTX 5080 normal operation was confirmed separately; these performance figures are not from that GPU. Select the image to open it at full size.

Update, move or remove

  1. Close PotPlayer and the RIFE control window.
  2. Back up the existing folder and RifeStandardPotPlayer.ini. Extract a new release into a separate folder.
  3. Reopen RifeControl.exe from the old folder, choose 연결 설정 → 등록 해제 (Unregister), then close that control window before moving or deleting the old folder. Open RifeControl.exe from the new folder, check the engine and register the filter again.
  4. To remove RIFE, remove it from PotPlayer’s global filter list, unregister the RIFE filter, then delete its folder.

RIFE uses separate registration IDs, settings and status paths from NVOF. This package does not replace an existing NVOF installation.

Files and licenses

RifeControl.exe is the settings app; RifeStandardPotPlayer.ax is the filter. models holds the model, engines the prepared engine and runtime inference dependencies. Keep this folder structure intact.

Project code is MIT licensed. NVIDIA and Microsoft runtimes and model components retain their respective terms. See LICENSE, THIRD_PARTY_NOTICES.md and licenses in the package. This is an independent project, not an official NVIDIA, Microsoft or PotPlayer product.

All three settings screenshots were supplied by the user and show RIFE. Back to top