Real-Time Intermediate Flow Estimation for Video Frame Interpolation, based on rife-ncnn-vulkan.
This is a port of the VapourSynth plugin RIFE.
-
Vulkan device
-
Microsoft VisualC++ Redistributable Package 2022 (can be downloaded from here)
RIFE(clip input, int "model", int "factor_num", int "factor_den", int "fps_num", int "fps_den", string "model_path", int "gpu_id", int "gpu_thread", bool "tta", bool "uhd", bool "sc", bool "sc1", float "sc_threshold", bool "skip", float "skip_threshold", bool "list_gpu", bool "denoise", int "denoise_tr")
-
input
A clip to process.
It must be in RGB 32-bit planar format. -
model
Model to use.
models
must be located in the same folder as RIFE.dll.
Some of the models have two versions: speed oriented (ensemble=False / fast=True) and quality oriented (ensemble=True / fast=False).
0: rife
1: rife-HD
2: rife-UHD
3: rife-anime
4: rife-v2
5: rife-v2.3
6: rife-v2.4
7: rife-v3.0
8: rife-v3.1
9: rife-v3.9_ensembleFalse_fastTrue
10: rife-v3.9_ensembleTrue_fastFalse
11: rife-v4_ensembleFalse_fastTrue
12: rife-v4_ensembleTrue_fastFalse
13: rife-v4.1_ensembleFalse_fastTrue
14: rife-v4.1_ensembleTrue_fastFalse
15: rife-v4.2_ensembleFalse_fastTrue
16: rife-v4.2_ensembleTrue_fastFalse
17: rife-v4.3_ensembleFalse_fastTrue
18: rife-v4.3_ensembleTrue_fastFalse
19: rife-v4.4_ensembleFalse_fastTrue
20: rife-v4.4_ensembleTrue_fastFalse
21: rife-v4.5_ensembleFalse
22: rife-v4.5_ensembleTrue
23: rife-v4.6_ensembleFalse
24: rife-v4.6_ensembleTrue
25: rife-v4.7_ensembleFalse
26: rife-v4.7_ensembleTrue
27: rife-v4.8_ensembleFalse
28: rife-v4.8_ensembleTrue
29: rife-v4.9_ensembleFalse
30: rife-v4.9_ensembleTrue
31: rife-v4.10_ensembleFalse
32: rife-v4.10_ensembleTrue
33: rife-v4.11_ensembleFalse
34: rife-v4.11_ensembleTrue
35: rife-v4.12_ensembleFalse
36: rife-v4.12_ensembleTrue
37: rife-v4.12_lite_ensembleFalse
38: rife-v4.12_lite_ensembleTrue
39: rife-v4.13_ensembleFalse
40: rife-v4.13_ensembleTrue
41: rife-v4.13_lite_ensembleFalse
42: rife-v4.13_lite_ensembleTrue
43: rife-v4.14_ensembleFalse
44: rife-v4.14_ensembleTrue
45: rife-v4.14_lite_ensembleFalse
46: rife-v4.14_lite_ensembleTrue
47: rife-v4.15_ensembleFalse
48: rife-v4.15_ensembleTrue
49: rife-v4.15_lite_ensembleFalse
50: rife-v4.15_lite_ensembleTrue
51: rife-v4.16_lite_ensembleFalse
52: rife-v4.16_lite_ensembleTrue
53: sudo_rife4_ensembleFalse_fastTrue
54: sudo_rife4_ensembleTrue_fastFalse
55: sudo_rife4_ensembleTrue_fastTrue
Default: 5. -
factor_num, factor_den
Factor of target frame rate.
For examplefactor_num=5, factor_den=2
will multiply input clip FPS by 2.5.
Only rife-v4 model supports custom frame rate.
Default: 2, 1. -
fps_num, fps_den
Target frame rate.
Only rife-v4 model supports custom frame rate.
Supersedesfactor_num
/factor_den
parameter if specified.
Default: Not specified. -
model_path
RIFE model path.
Supersedesmodel
parameter if specified.
Default: Not specified. -
gpu_id
GPU device to use.
By default the default device is selected. -
gpu_thread
Thread count for interpolation.
Using larger values may increase GPU usage and consume more GPU memory.
If you find that your GPU is hungry, try increasing thread count to achieve faster processing.
Must be between 1 and the max compute queue count supported by the GPU.
Default: 2. -
tta
Enable TTA(Test-Time Augmentation) mode.
Default: False. -
uhd
Enable UHD mode.
Default: False. -
sc
Avoid interpolating frames over scene changes.
This cannot be true whensc1=true
.
Default: False. -
sc1
Blend frames (average) frames over scene changes.
This cannot be true whensc=true
.
Default: False. -
sc_threshold
Threshold to determine whether the current frame and the next one are end/beginning of scene.
Must be between 0.0..1.0.
Default: 0.12. -
skip
Skip interpolating static frames.
Requires VMAF plugin.
Default: False. -
skip_threshold
PSNR threshold to determine whether the current frame and the next one are static.
Must be between 0.0..60.0.
Default: 60.0. -
list_gpu
Simply print a list of available GPU devices on the frame and does no interpolation.
Default: False. -
denoise
Whether to return only the interpolated frames.
Default: False. -
denoise_tr
Frame radius.
For example,denoise_tr=1
means framesn-1
andn+1
are used.
Must be greater than 0.
Default: 1.
- Requires
Boost
,Vulkan SDK
.
git clone --depth 1 --recurse-submodules --shallow-submodules https://github.com/Asd-g/AviSynthPlus-RIFE
cd AviSynthPlus-RIFE
# Building boost (optional):
#b2 --with-system --with-filesystem --with-chrono -q --toolset=msvc-14.3 address-model=64 variant=release link=static runtime-link=shared threading=multi --hash --prefix=.\bin\x64
#b2 --with-system --with-filesystem --with-chrono -q --toolset=msvc-14.3 address-model=64 variant=release link=static runtime-link=shared threading=multi --hash --prefix=.\bin\x64 install
cmake -B build -G Ninja -DCMAKE_PREFIX_PATH=<path_to_boost_installation>;<path_to_vulkan_installation>