Otro más, el Clarity Creation que mencionan en la primera página retocado.

Le he bajado un poco la resolución de upscaling porque tal como viene es una locura mover eso, quizás con un i7 vitaminado y una nvidia tirando de CUVID se haga algo más...

Código:
#Clarity Creation | Blu-ray | VP by Eyldebrandt 
#Decoding software/Cuda/Cuvid in LAV Video or CoreAVC 
#Deinterlacing max quality in madVR if needed 
#Avisynth in ffdshow 
#TTempSmooth * LimitedSharpenFaster * GradFun2db  
#Upscaling 4K by Spline144 in AviSynth with 2 layers 
SetMTMode(3,4) #X as your number of CPU threads 
ffdshow_source() 
SetMTMode(2) 
#Denoiser 
TTempSmooth(maxr=3,lthresh=4,cthresh=3,lmdiff=3,cmdiff=2,strength=2,interlaced=false) 
#Algorithm I [Spline144]  
dispWidth = 2560
dispHeight = 1440 
mWidth = float(last.width) 
mHeight = float(last.height) 
ratio = (mWidth/mHeight) 
newHeight= round((dispWidth/ratio)/8)*8 
newHeight > dispHeight ? Eval(""" 
newHeight=dispHeight 
newWidth=round((newHeight*ratio)/8)*8 
""" ) : Eval(""" 
newWidth=dispWidth 
""" ) 
Spline144Resize(newWidth,newHeight) 
#BicubicResize(b=0.3782,c=0.3109,newWidth,newHeight) 
#Sharpen  
LimitedSharpenFasterHC(strength=60) 
#Deband 
GradFun2db() 
#Algorithm II [Spline144]  
dispWidth = 2880
dispHeight = 1620 
mWidth = float(last.width) 
mHeight = float(last.height) 
ratio = (mWidth/mHeight) 
newHeight= round((dispWidth/ratio)/8)*8 
newHeight > dispHeight ? Eval(""" 
newHeight=dispHeight 
newWidth=round((newHeight*ratio)/8)*8 
""" ) : Eval(""" 
newWidth=dispWidth 
""" ) 
Spline144Resize(newWidth,newHeight) 
SetMTMode(1)  
GetMTMode(false) > 0 ? distributor() : last 
#Unsharp Mask @ 4 in ffdshow 
#Postprocessing : luma & chroma dering @ 25% in ffdshow 
#Output P016 in ffdshow 
#Chroma Upsampling by Jinc 3 Taps + Anti-Ringing Filter in madVR 
#Downscaling 1080p by Lanczos 8 Taps + Anti-Ringing Filter + Scale Linear Light in madVR 
#FRC max quality 60hz in madVR
Se come la CPU por completo, aunque va fluído en mi caso.

Capturas: