RIFE

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(RIFE v1.0.0)
 
(RIFE 1.0.3)
 
(2 intermediate revisions by one user not shown)
Line 2: Line 2:
 
{{Filter3
 
{{Filter3
 
|1={{Author/Asd-g}}
 
|1={{Author/Asd-g}}
|2=1.0.0
+
|2=1.0.3
|3=[https://github.com/Asd-g/AviSynthPlus-RIFE/releases/ RIFE-1.0.0.7z]
+
|3=[https://github.com/Asd-g/AviSynthPlus-RIFE/releases/ RIFE-1.0.3.7z]
 
|4=Frame Rate Converters
 
|4=Frame Rate Converters
 
|5=[https://github.com/Asd-g/AviSynthPlus-RIFE/blob/main/LICENSE MIT]
 
|5=[https://github.com/Asd-g/AviSynthPlus-RIFE/blob/main/LICENSE MIT]
Line 15: Line 15:
 
<br>
 
<br>
 
== Requirements ==
 
== Requirements ==
* [https://en.wikipedia.org/wiki/Vulkan Vulkan] compatible devive
+
* [https://en.wikipedia.org/wiki/Vulkan Vulkan] compatible device
* '''AviSynth+ r3682''' (can be downloaded from [https://gitlab.com/uvz/AviSynthPlus-Builds here] until official release is uploaded) or later
+
* [x64]: '''AviSynth+ r3682''' or greater (AviSynth+ 3.7.3 (test 6, r3935 can be [https://forum.doom9.org/showthread.php?p=1983250#post1983250 downloaded from here])
 
* Microsoft VisualC++ Redistributable Package 2022 (can be downloaded from [https://github.com/abbodi1406/vcredist/releases here])
 
* Microsoft VisualC++ Redistributable Package 2022 (can be downloaded from [https://github.com/abbodi1406/vcredist/releases here])
 
* Supported color formats: [[RGBPS]]
 
* Supported color formats: [[RGBPS]]
 
* <code>models</code> must be located in the same folder as [[RIFE]].
 
* <code>models</code> must be located in the same folder as [[RIFE]].
 
<br>
 
<br>
 +
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef|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", float "sc_threshold", bool "skip", float "skip_threshold", bool "list_gpu")}}
+
:{{Template:FuncDef|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", float "sc_threshold", bool "skip", float "skip_threshold", bool "list_gpu", bool "denoise", int "denoise_tr")}}
 
<br>
 
<br>
 
::{{Par2|input|clip|}}
 
::{{Par2|input|clip|}}
Line 101: Line 102:
 
:::Simply print a list of available GPU devices on the frame and does nothing else.
 
:::Simply print a list of available GPU devices on the frame and does nothing else.
 
:::Default: False.
 
:::Default: False.
 +
<br>
 +
::{{Par2|denoise|bool|false}}
 +
:::Whether to return only the interpolated frames.
 +
:::Default: False.
 +
<br>
 +
::{{Par2|denoise_tr|int|1}}
 +
:::Frame radius.
 +
:::For example, denoise_tr=1 means frames n-1 and n+1 are used.
 +
:::Must be greater than 0.
 +
:::Default: 1.
 
<br>
 
<br>
 
==Examples==
 
==Examples==
Line 112: Line 123:
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
 +
v1.0.3      2023/02/26      - Added parameters denoise, denoise_tr.
 +
                              - Boost updated to 1.81.0.
 +
                              - Vulkan SDK updated to 1.3.239.0.
 +
                              - ncnn updated to 20230223.
 +
v1.0.2      2022/10/06      - Added quality oriented models. (https://github.com/styler00dollar/VapourSynth-RIFE-ncnn-Vulkan)
 +
v1.0.1      2022/09/16      - Fixed undefined behavior when upstream throw runtime error.
 +
                              - Updated boost 1.80.0.
 +
                              - Updated Vulkan SDK 1.3.224.1.
 
  v1.0.0      2022/08/21      - Initial release.
 
  v1.0.0      2022/08/21      - Initial release.
 
                               - Used ncnn@93ed2bc.
 
                               - Used ncnn@93ed2bc.

Latest revision as of 08:29, 18 May 2023

Abstract
Author Asd-g
Version 1.0.3
Download RIFE-1.0.3.7z
Category Frame Rate Converters
License MIT
Discussion

Contents

[edit] Description

Real-Time Intermediate Flow Estimation for Video Frame Interpolation, based on rife-ncnn-vulkan.

This is a port of the VapourSynth plugin RIFE.

[edit] Requirements

  • Vulkan compatible device
  • [x64]: AviSynth+ r3682 or greater (AviSynth+ 3.7.3 (test 6, r3935 can be downloaded from here)
  • Microsoft VisualC++ Redistributable Package 2022 (can be downloaded from here)
  • Supported color formats: RGBPS
  • models must be located in the same folder as RIFE.


[edit] Syntax and Parameters

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", float "sc_threshold", bool "skip", float "skip_threshold", bool "list_gpu", bool "denoise", int "denoise_tr")


clip  input =
A clip to process.
It must be in RGB 32-bit planar format.


int  model = 5
Model to use.
models must be located in the same folder as RIFE.dll.
  • 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-v4
Default: 5.


int  factor_num = 2
int  factor_den = 1
Factor of target frame rate.
For example factor_num=5, factor_den=2 will multiply input clip FPS by 2.5.
Only rife-v4 model supports custom frame rate.
Default: 2, 1.


int  fps_num =
int  fps_den =
Target frame rate.
Only rife-v4 model supports custom frame rate.
Supersedes factor_num/factor_den parameter if specified.
Default: Not specified.


string  model_path =
RIFE model path.
Supersedes model parameter if specified.
Default: Not specified.


int  gpu_id =
GPU device to use.
By default the default device is selected.


int  gpu_thread = 2
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.
Default: 2.


bool  tta = false
Enable TTA(Test-Time Augmentation) mode.
Default: False.


bool  uhd = false
Enable UHD mode.
Default: False.


bool  sc = false
Avoid interpolating frames over scene changes.
Default: False.


float  sc_threshold = 0.12
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.


bool  skip = false
Skip interpolating static frames.
Requires VMAF plugin.
Default: False.


float  skip_threshold = 60.0
PSNR threshold to determine whether the current frame and the next one are static.
Must be between 0.0..60.0.
Default: 60.0.


bool  list_gpu = false
Simply print a list of available GPU devices on the frame and does nothing else.
Default: False.


bool  denoise = false
Whether to return only the interpolated frames.
Default: False.


int  denoise_tr = 1
Frame radius.
For example, denoise_tr=1 means frames n-1 and n+1 are used.
Must be greater than 0.
Default: 1.


[edit] Examples

RIFE with default settings:

LSMASHVideoSource("hd-video.mp4")
z_ConvertFormat(pixel_type="RGBPS", colorspace_op="709:709:709:limited=>rgb:709:709:full")
RIFE()


[edit] Changelog

Version      Date            Changes
v1.0.3 2023/02/26 - Added parameters denoise, denoise_tr. - Boost updated to 1.81.0. - Vulkan SDK updated to 1.3.239.0. - ncnn updated to 20230223. v1.0.2 2022/10/06 - Added quality oriented models. (https://github.com/styler00dollar/VapourSynth-RIFE-ncnn-Vulkan) v1.0.1 2022/09/16 - Fixed undefined behavior when upstream throw runtime error. - Updated boost 1.80.0. - Updated Vulkan SDK 1.3.224.1. v1.0.0 2022/08/21 - Initial release. - Used ncnn@93ed2bc. - Used boost 1.79.0. - Used Vulkan SDK 1.3.216.0.


[edit] External Links

  • GitHub - Source code repository.




Back to External Filters

Personal tools