From 9c51eee3bcc1301e51446e31de79248fb7c70687 Mon Sep 17 00:00:00 2001 From: w33b Date: Fri, 3 Oct 2025 12:22:31 +0200 Subject: [PATCH] Update RIFE Model (fixes 4k48 Linux?) --- utils/interpolate.py | 100 ++++++++++++++++++++--------------------- utils/interpolate4k.py | 2 +- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/utils/interpolate.py b/utils/interpolate.py index bd9a4bd..e2bd01a 100644 --- a/utils/interpolate.py +++ b/utils/interpolate.py @@ -1,50 +1,50 @@ -import os -import subprocess - -def createInterpolateScript(upscaleOut, tempName, inputAspect): - if os.path.isfile(upscaleOut + '.vpy'): - print('Interpolate script exists') - return - - script = [] - - if inputAspect == '4:3': - script = ['from vsrife import rife', - 'import vapoursynth as vs', - 'from vapoursynth import core', - 'clip = core.ffms2.Source(source="./' + tempName + ' [4k][HEVC].mkv")', - 'clip = vs.core.resize.Bicubic(clip, width=1440, height=1080, format=vs.RGBS, matrix_in_s="709")', - 'clip = rife(clip=clip, model="4.15", factor_num=2, factor_den=1)', - 'clip = vs.core.resize.Bicubic(clip, format=vs.YUV420P8, matrix_s="709")', - 'clip.set_output()'] - else: - script = ['from vsrife import rife', - 'import vapoursynth as vs', - 'from vapoursynth import core', - 'clip = core.ffms2.Source(source="./' + tempName + ' [4k][HEVC].mkv")', - 'clip = vs.core.resize.Bicubic(clip, width=1920, height=1080, format=vs.RGBS, matrix_in_s="709")', - 'clip = rife(clip=clip, model="4.15", factor_num=2, factor_den=1)', - 'clip = vs.core.resize.Bicubic(clip, format=vs.YUV420P8, matrix_s="709")', - 'clip.set_output()'] - - if not os.path.isfile(upscaleOut + '.vpy'): - with open(upscaleOut + '.vpy', 'a') as fs: - fs.writelines([i + '\n' for i in script]) - -def Interpolate(interpolateOut, upscaleOut, tempName, inputAspect): - if os.path.isfile(interpolateOut): - print('Already interpolated') - return - - createInterpolateScript(upscaleOut, tempName, inputAspect) - - if not os.path.isfile(upscaleOut + '.vpy'): - print('=== Interpolation script not found ===') - return - - print('Interpolating') - subprocess.call('vspipe -c y4m "' + upscaleOut + '.vpy" - | ffmpeg -v quiet -stats -i - -c:v hevc_nvenc -qp 5 "' + interpolateOut + '"', shell=True) - - # Remove Temp Files - os.remove(upscaleOut + '.ffindex') - os.remove(upscaleOut + '.vpy') +import os +import subprocess + +def createInterpolateScript(upscaleOut, tempName, inputAspect): + if os.path.isfile(upscaleOut + '.vpy'): + print('Interpolate script exists') + return + + script = [] + + if inputAspect == '4:3': + script = ['from vsrife import rife', + 'import vapoursynth as vs', + 'from vapoursynth import core', + 'clip = core.ffms2.Source(source="./' + tempName + ' [4k][HEVC].mkv")', + 'clip = vs.core.resize.Bicubic(clip, width=1440, height=1080, format=vs.RGBS, matrix_in_s="709")', + 'clip = rife(clip=clip, model="4.25", factor_num=2, factor_den=1)', + 'clip = vs.core.resize.Bicubic(clip, format=vs.YUV420P8, matrix_s="709")', + 'clip.set_output()'] + else: + script = ['from vsrife import rife', + 'import vapoursynth as vs', + 'from vapoursynth import core', + 'clip = core.ffms2.Source(source="./' + tempName + ' [4k][HEVC].mkv")', + 'clip = vs.core.resize.Bicubic(clip, width=1920, height=1080, format=vs.RGBS, matrix_in_s="709")', + 'clip = rife(clip=clip, model="4.25", factor_num=2, factor_den=1)', + 'clip = vs.core.resize.Bicubic(clip, format=vs.YUV420P8, matrix_s="709")', + 'clip.set_output()'] + + if not os.path.isfile(upscaleOut + '.vpy'): + with open(upscaleOut + '.vpy', 'a') as fs: + fs.writelines([i + '\n' for i in script]) + +def Interpolate(interpolateOut, upscaleOut, tempName, inputAspect): + if os.path.isfile(interpolateOut): + print('Already interpolated') + return + + createInterpolateScript(upscaleOut, tempName, inputAspect) + + if not os.path.isfile(upscaleOut + '.vpy'): + print('=== Interpolation script not found ===') + return + + print('Interpolating') + subprocess.call('vspipe -c y4m "' + upscaleOut + '.vpy" - | ffmpeg -v quiet -stats -i - -c:v hevc_nvenc -qp 5 "' + interpolateOut + '"', shell=True) + + # Remove Temp Files + os.remove(upscaleOut + '.ffindex') + os.remove(upscaleOut + '.vpy') diff --git a/utils/interpolate4k.py b/utils/interpolate4k.py index b7d237f..0a3071c 100644 --- a/utils/interpolate4k.py +++ b/utils/interpolate4k.py @@ -11,7 +11,7 @@ def createInterpolateScript(upscaleOut, tempName): 'from vapoursynth import core', 'clip = core.ffms2.Source(source="./' + tempName + ' [4k][HEVC].mkv")', 'clip = vs.core.resize.Bicubic(clip, width=3840, height=2160, format=vs.RGBS, matrix_in_s="709")', - 'clip = rife(clip=clip, model="4.15.lite", factor_num=2, factor_den=1)', + 'clip = rife(clip=clip, model="4.25.lite", factor_num=2, factor_den=1)', 'clip = vs.core.resize.Bicubic(clip, format=vs.YUV420P8, matrix_s="709")', 'clip.set_output()']