Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
2nd October 2015, 21:50 | #1 | Link |
Soul Architect
Join Date: Apr 2014
Posts: 2,559
|
AviSynthShader + SuperRes
Shiandow wrote a scaling algorithm called SuperRes that greatly enhances upscaling. Unfortunately, it wasn't possible to use this code in AviSynth and I really wanted to use it. So, I wrote an AviSynth plugin that allows running any HLSL pixel shaders through DirectX9.
Download the latest release here (v1.6.4, September 20th 2017) https://github.com/mysteryx93/AviSynthShader/releases Source code available on GitHub https://github.com/mysteryx93/AviSynthShader This plugin allows running HLSL pixel shaders within AviSynth. This gives access to various HLSL filters that haven't been programmed in AviSynth. Note: Shiandow's SuperRes is not what is typically being called SuperRes; it's something else. It does not "create" any details like traditional SuperRes or Sharpening algorithms do. It doesn't have any temporal effect either, it works with frames one by one. Here's the way it works. It wraps around other resizers. After doubling the image size (with NNEDI3 for example), it resizes it back down with Bicubic and compares it with the original, producing a diff map representing details that were lost while upscaling. Then, it does its magic from that diff map. How? Well... with this code. Results speak for themselves. I found it to work best with NNEDI3(nns=4) Syntax information on GitHub Special thanks to Shiandow for writing such amazing code, and especially to make it open source! Special thanks to Madshi for taking the time to give very valuable pointers when nobody else was able to help! Here are comparison images ImageSource("Lighthouse.png").ConvertToRGB24() Note: Since uploading these comparison, SuperRes has slightly changed. The newer version has less ringing and softer images. 1. Original 2. Spline16 3. nnedi3_rpow2(4, nns=4, cshift="Spline16Resize") 4. SuperXBR(edgeStrength=.6, weight=.6), twice 5. SuperRes(2, .43, 0, """edi_rpow2(2, nns=4, cshift="Spline16Resize")"""), twice 6. SuperResXBR(2, .6, xbrEdgeStrength=2.3, xbrSharpness=1.2), twice 7. SuperResXBR(1, .7, xbrEdgeStrength=.1, xbrSharpness=.7), twice Lighthouse Clown Eclipse (x2)
__________________
FrameRateConverter | AvisynthShader | AvsFilterNet | Natural Grounding Player with Yin Media Encoder, 432hz Player, Powerliminals Player and Audio Video Muxer Last edited by tebasuna51; 14th October 2019 at 11:00. Reason: postimg.cc |
|
|