-
Notifications
You must be signed in to change notification settings - Fork 1
Description
The quality of frame interpolation with a complex and fast motion quickly degrades and with the current plugin for temporal_radius=2 we have only 2 interpolated frames of +-1 and +-2 source frames.
It may be added 2 more non-symmetric frames requests for tr=2 (and even more for tr=3 and more).
New params may be direct input of +frame_num and -frame_num as offsets from current frame number.
Default to 0 (use old denoise_tr).
And calculation of time offset internally as
double time_offset = (abs)(-frame_num)/((abs)(-frame_num) + (abs)(+frame_num))
In current version time_offset=0.5 always with equal +-frame_offset_num.
So for call
RIFE(denoise=true, -f_n=-1, +f_n=2) time offset will be 0.333 (1/3)
and for
RIFE(denoise=true, -f_n=-2, +f_n=1) time offset will be 0.666 (2/3)
And we can get more quality frames for lower total time range for interpolation/processing engine next to frame interpolation.
Expected script for total tr=2:
int_d1=RIFE(denoise=true, denoise_tr=1)
int_d2=RIFE(denoise=true, denoise_tr=2)
int_m1p2=RIFE(denoise=true, -f_n=-1, +f_n=2)
int_m2p1=RIFE(denoise=true, -f_n=-2, +f_n=1)
Interleave(int_d1, int_d2, last, int_m1p2, int_m2p1)
vsTTempSmooth(pmode=1, maxr=2)
SelectEvery(5,2)