Log in

View Full Version : AviSynthShader + SuperRes


Pages : 1 2 3 4 [5] 6 7 8 9 10 11 12 13

MysteryX
28th December 2015, 06:10
If someone wants to port NNEDI3...
https://github.com/zachsaw/MPDN_Extensions/tree/master/Extensions/RenderScripts/NNEDI3

There might be some advantages to it. First, it would allow processing NNEDI3 with 16-bit depth. Second, it *might* not have performance overhead compared to SuperRes if both are run together, since running more commands in the same chain won't increase memory transfers. I know the AviSynth version of NNEDI3 is well optimized, and I'd be curious to see how it would perform in this case since the GPU is under-utilized anyway.

It would take a stand-alone version of NNEDI3, and then another script that combines NNEDI3 and SuperRes to run in the same chain. What I'm not sure about is how to do the sub-pixel shift in HLSL.

MysteryX
28th December 2015, 07:11
btw I found something that makes SuperRes shine even more. If I use KNLMeans with cmode=true to also denoise the chroma, I can apply a stronger SuperRes. See for yourself.

Without SuperRes

AviSource("Preview.avi", pixel_type="YV12")
ConvertToYV24()
KNLMeansCL(D=1, A=2, h=2.1, cmode=true, device_type="GPU", device_id=0)
ConvertToYV12()
ColorMatrixShader(MatrixIn="601")
edi_rpow2(2, nns=4, cshift="Spline16Resize", Threads=2)
edi_rpow2(2, nns=4, cshift="BicubicResize", a1=-.6, a2=0, fwidth=960, fheight=720, Threads=2)

http://s20.postimg.org/thske2l7d/NNEDI3.png (http://postimg.org/image/thske2l7d/)

With SuperRes

AviSource("Preview.avi", pixel_type="YV12")
ConvertToYV24()
KNLMeansCL(D=1, A=2, h=2.1, cmode=true, device_type="GPU", device_id=0)
ConvertToYV12()
Double="""edi_rpow2(2, nns=4, cshift="Spline16Resize", Threads=2)"""
SuperRes(1, 1, 0, Double, MatrixIn="601")
Double="""edi_rpow2(2, nns=4, cshift="BicubicResize", a1=-.6, a2=0, lsb=true, fwidth=960, fheight=720, Threads=2)"""
SuperRes(1, 1, 0, Double, lsb_upscale=true)

http://s20.postimg.org/nuw7gliop/Super_Res.png (http://postimg.org/image/nuw7gliop/)

sqrt(9801)
28th December 2015, 11:30
If someone wants to port NNEDI3...
https://github.com/zachsaw/MPDN_Extensions/tree/master/Extensions/RenderScripts/NNEDI3

You'll need to add support for SM5 in AvisynthShader first. :p

MysteryX
28th December 2015, 18:07
You'll need to add support for SM5 in AvisynthShader first. :p
Oh.

Using ShaderModel 5 requires DirectX 11 DirectCompute instead of DirectX 9.

I had worked on that implementation before; and then reverted back to DX9 when I realized configuring parameters was complex complicated. Everything else was pretty straightforward. Exact same logic as DX9 but replacing the commands with new names that make more sense. The DirectX code is well separated from the AviSynth code to make it easy.

That still would be considerable work that I won't have time for.

luquinhas0021
28th December 2015, 23:55
MisteryX, the Natural Grounding Player v1.3 is coming soon? Your last update was about 6 months (v1.2.1) and has no superresolution.

MysteryX
29th December 2015, 01:58
MisteryX, the Natural Grounding Player v1.3 is coming soon? Your last update was about 6 months (v1.2.1) and has no superresolution.
Yes, I just finished it; just have to release it. It has GREAT improvements to the Media Encoder!!

In the meantime, here's AviSynthShader v1.3.2 (https://github.com/mysteryx93/AviSynthShader/releases/tag/v1.3.2)

What's new:
- Added FormatOut to all scripts to set output format
- Fixed SuperRes when using lsb_out
- Removed bogus "info" in Super-xBR

MysteryX
29th December 2015, 03:11
Natural Grounding Player v1.3 is here (https://github.com/mysteryx93/NaturalGroundingPlayer/releases/tag/v1.3). Merry Christmas!!

Natural Grounding Player Media Encoder thread is here (http://forum.doom9.org/showthread.php?p=1751320#post1751320)

Overdrive80
29th December 2015, 03:17
Hi, thanks for your work. One question, I am testing your code with some modification, this:

DGDecode_mpeg2source("E:\Dragon Ball\DB_13\074\VideoFile.d2v", info=3)

assumetff()

tfm(order=1,pp=6,mode=4).tdecimate(mode=1)

Spline36Resize(720,480,6,0,-3,-6)

ConvertToYV24()

ChromaReconstructor() # Dont smooth

KNLMeansCL(D=1, A=2, h=2.1, cmode=true, device_type="GPU", device_id=0)
ConvertToYV12()
Double="""edi_rpow2(2, nns=4, cshift="Spline16Resize", Threads=2)"""
SuperRes(1, 1, 0, Double, MatrixIn="601")
Double="""edi_rpow2(2, nns=4, cshift="BicubicResize", a1=-.6, a2=0, lsb=true, fwidth=960, fheight=720, Threads=2)"""
SuperRes(1, 1, 0, Double, lsb_upscale=true)

spline36resize(640,480) # its for comparison

return last

http://s6.postimg.org/5dvwjlku9/Sin_t_tulo.png

The result is good, but in dark areas is too smoothing and lost details (background). Any configuration less destrutive for your code, type as sourcematch in qtmgc??

MysteryX
29th December 2015, 03:43
What is causing the loss of details? With SuperRes, you can play with Strength and Passes, such as Passes=2 with Strength=.45

and perhaps your loss of details is due to KNLMeansCL?

Overdrive80
29th December 2015, 12:34
Ok, apologize me. It is KNLMeansCl which causes lost of details.

Edit: I get a good result but its bit slooooooow XD:

Original: 640x480; Upsize: 960x720
http://s6.postimg.org/j50dlt9s1/Captura_de_pantalla_2015_12_29_13_31_42.png

Code:

DGDecode_mpeg2source("E:\Dragon Ball\DB_13\074\VideoFile.d2v", info=3)

assumetff()

tfm(order=1,pp=6,mode=4).tdecimate(mode=1)

Spline36Resize(720,480,6,0,-3,-6)

ConvertToYV24()

ChromaReconstructor()

ConvertToYV12()

Double="""edi_rpow2(2, nns=4, cshift="Spline16Resize", Threads=2)"""

SuperRes(1, 1, 0, Double, MatrixIn="601")

Double="""edi_rpow2(2, nns=4, cshift="BicubicResize", a1=-.6, a2=0, lsb=true, fwidth=960, fheight=720, Threads=2)"""

SuperRes(1, 1, 0, Double, lsb_upscale=true)

#/*Prefiltrado*/#

original=last

pre=original.BrightDfttestMod(sbright=8.5, smedium=2.0, sdark=0,th_low=20, th_med=40, th_high=100, tbsize=1,lsb=true,mode=6)

mascara=original.mt_edge("hprewitt",thY1=8, thY2=255,thc1=0,thc2=255)

prefiltrado=mt_merge(pre, original, mascara)

#Temporal degrain

tr = 6

last=prefiltrado.SMDegrain (tr, thSAD=570, thSADC=180,lsb=true,lsb_out=true,thSCD1=570,thSCD2=160, blksize=8, overlap=4,search=4,contrasharp=false)

#/*Otros*/#

csmod16(lsb_in=true, lsb=true)

gradfun3(mode=6,lsb_in=true, lsb=false)

Unsharphq(19,1.6,0.2,show=false)

santiag(aa=15)

hysteria(showmask=false,strength=0.9,lowthresh=32,highthresh=32)

luquinhas0021
29th December 2015, 15:27
overdrive80, suggestion: instead use spline 36 and edi, apply spline 144 or lanczos 4, and nnedi3, and change cshift: put spline144 or lanczos4. Post here the result. Your result you`ve posted is a bit blurry, if we compare with original image.

Overdrive80
29th December 2015, 17:09
The code is here, you can change at your way. I am only playing with that tool.

luquinhas0021
29th December 2015, 17:56
whats the difference between superres and superres xbr?

MysteryX
29th December 2015, 18:41
Edit: I get a good result but its bit slooooooow XD:
ChromaReconstructor is very slow; remove it to get a performance boost.


ConvertToYV24()
ChromaReconstructor()
ConvertToYV12()


And this is useless! There's no point in calling ChromaReconstructor to throw away the data right after.

whats the difference between superres and superres xbr?
SuperRes runs around resizers to restore the details while upscaling.

Super-xBR is a frame-double algorithm, similar to NNEDI3.

SuperRes require a frame-double algorithm to run: either NNEDI3, EEDI3 or Super-xBR.

luquinhas0021
29th December 2015, 18:53
super-xbr or nnedi3: what you preffer?
Ah, in "Super-xBR 100", what the "100" means?

Overdrive80
29th December 2015, 19:10
And this is useless! There's no point in calling ChromaReconstructor to throw away the data right after.

Oh, my mistake, I just limited to copy and paste your code. :(

If I remove Converttoyv12, I get this:

http://postimg.org/image/s1g7mv6pp/

I had add Converttoyv12 before of Hysteria because dont admit YV24

EDIT: Problem of SMDegrain, neither admit YV24

MysteryX
29th December 2015, 20:02
super-xbr or nnedi3: what you preffer?
Ah, in "Super-xBR 100", what the "100" means?
Strength parameter; actually it should be 1. Default is Strength=1, Sharpness=1.

Super-xBR seems to be doing a good job on some material. It is very sharp but has serious ringing problems, which are then reduced by applying SuperRes.

I personally prefer NNEDI3 because its results are more consistent.

Overdrive80
29th December 2015, 20:10
http://s6.postimg.org/3yzdrzq2p/Captura_de_pantalla_2015_12_29_20_07_17.png

http://s6.postimg.org/8m5ftrdfl/Sin_t_tulo.png


#Obviously, garbage is accentuated

Double="""edi_rpow2(2, nns=4, cshift="SincResize", Threads=8)"""

SuperRes(1, 1, 0, Double, MatrixIn="601")

Double="""edi_rpow2(2, nns=4, cshift="SincResize", a1=-.6, a2=0, lsb=true, fwidth=960, fheight=720, Threads=8)"""

SuperRes(1, 1, 0, Double, lsb_upscale=true)

luquinhas0021
29th December 2015, 20:17
MisteryX, edge strenght goes from 0 to 5. 1 is the maximum acceptable value? 1 is the maximum acceptable value of sharpness? Super-xBR in Dither16 generates less artifacts? You talked you preffer nnedi3, but a lot of people says Super-xBR retains more details than nnedi3. You told me that use Super-xBR with SuperRes reduces ringing. What about sharpness where there isn`t ringing: reduces? Super-xBR is equal sharp or sharper than sinc4? And compared with the monstruosly sharp, and aliased, Bicubic b=-1, c=1?

MysteryX
29th December 2015, 21:24
I haven't played much with Super-xBR. Post your discoveries.

luquinhas0021
30th December 2015, 04:02
MisteryX, I downloaded the .zip file of AviSynth Shader 1.3.2 and tried install it, but I can't do it work. How I install properly, considering I downloaded the AviSynthShader-1.3.2.zip?
I had the Microsoft C++ 2008, 2010, 2012 and 2013 (All of them in last updates) and Microsoft .NET Framework 4.5.2 and 4.6.1, and AviSynth 2.6 ST. Windows 7 32 bits.

MysteryX
30th December 2015, 05:59
luquinhas0021, what error are you getting? AviSynthShader depends neither on VC runtime libraries (they're included, I know it's not good for DLLs but I'm not seeing any issue), nor on .NET.

Here's something cool. The bottleneck is memory transfers, right?

I've done a hybrid between SuperRes and Super-xBR, called SuperResXBR. It performs both operations at the same time, reducing memory transfers and increasing performance.
https://github.com/mysteryx93/AviSynthShader/tree/master/Shaders/SuperResXBR

Using KNLMeansCL with cmode=true allows me to use stronger SuperRes, which further reduces the halo effects of Super-xBR. I'm using SuperRes with 2 passes of .50 or .75, and Super-xBR with its default settings, and it looks just as good as NNEDI3+SuperRes and even slightly better and sharper. Quality is better.

Performance-wise, you'll get about the same performance as NNEDI3+SuperRes, EXCEPT that the CPU runs at 15% instead of 45%! If I encode with x265, this leaves a LOT more CPU juice to run the heavy encoder.

There's only one issue. Here are the screenshots of my complex script with NNEDI3 (left) vs Super-xBR (right). There is a line of distortion at the top with Super-xBR. Anyone has an idea about how to fix that? These screenshots are with 2 passes of .50. 2 passes of .75 works fine with NNEDI3 but appear too much for Super-xBR.
http://s20.postimg.org/zfaojhnfd/Super_Res_NNEDI3.png (http://postimg.org/image/zfaojhnfd/) http://s20.postimg.org/tfritks0p/Super_Res_XBR.png (http://postimg.org/image/tfritks0p/)

Edit: here's a really good shot. In the middle is NNEDI3+SuperRes(Passes=2, Strength=.75). On the right is the following script. To see how far we've gone, on the left is NNEDI3(nns=4)
http://s20.postimg.org/rrsdexe55/Good_NNEDI3.jpg (http://postimg.org/image/rrsdexe55/) http://s20.postimg.org/e9lh2n1zt/Good_Super_Res_NNEDI3.png (http://postimg.org/image/e9lh2n1zt/) http://s20.postimg.org/cgikebgt5/Good_Super_Res_XBR.png (http://postimg.org/image/cgikebgt5/)

With such quality difference, I can forgive the distortion at the top; or crop it afterwards.


file="Preview.avi"
AviSource(file, audio=True, pixel_type="YV12")
ConvertToYV24()
KNLMeansCL(D=1, A=2, h=2.1, cmode=true, device_type="GPU", device_id=1)
ConvertToYV12()
Crop(0, 0, -8, -0)
SuperResXBR(2, .6, 0, xbrEdgeStrength=2.5, xbrSharpness=1.2, MatrixIn="601")
InterFrame(Cores=8, Tuning="Smooth", NewNum=60000, NewDen=1001)
SuperResXBR(2, .6, 0, xbrEdgeStrength=2.5, xbrSharpness=1.2)
ResizeX(944, 720, 0, 4, -4, -4, kernel="Bicubic", a1=-.6, a2=0)

luquinhas0021
30th December 2015, 15:12
I'm with AviSynthShader-1.3.2's .zip file. What should I do now?

foxyshadis
30th December 2015, 16:00
I'm with AviSynthShader-1.3.2's .zip file. What should I do now?

Don't be so helpless. Install the plugin like any other plugin. Put the shaders anywhere you want and call them with Shader("C:\Path\To\File") like opening any other file.

MysteryX
30th December 2015, 23:23
v1.3.3 is ready. (https://github.com/mysteryx93/AviSynthShader/releases/tag/v1.3.3)

Version 1.3.3: December 30th 2015
- Shader.dll: Added the option to copy clip data without processing by leaving Path empty
- Shader.dll: Fixed a bug where input textures were unecessarily copied for each command. This slightly increases performance and reduces CPU usage
- Added SuperResXBR, a hybrid between SuperRes and Super-xBR that runs both in the same command chain, reducing memory usage and improving performance
- SuperRes: Fixed a bug where YUV-RGB conversion was ignored when Convert=false
- SuperRes: Added ConvertYuv to specify whether to convert YUV-RGB data or not

When I did the previous tests with Super-xBR combined with SuperRes, it wasn't doing the YUV-RGB conversion which slightly deteriorated the image. By fixing this, results are better and it is seriously good. Performance is also very good. On a 288p clip with a quad-core i7 and a Radeon HD 7670M, I'm getting 55fps with a simple call to SuperResXBR. This is getting interesting.

luquinhas0021
31st December 2015, 00:59
Mistery, for installing your plugin, all I need is paste Shader.dll on Avisynth's plugin folder (I did it)? In Avisynthshader.zip, comes a bunch of .cso files? What I do with them? Avisynth Shader requires some other plugin or a Windows component for it work?
I did the follow script, but Avisynth speaked that the function SuperXBR doesn't exist:

ImageSource("C:\Users\Fernando H. Silva\Documents\Lucas\Imagens\Cat.jpg")
SuperXBR(EdgeStrenght=1, Sharpness=1)
Some is incomplete?

I've tried this follow script:

LoadPlugin("Shader.dll")

ImageSource("C:\Users\Fernando H. Silva\Documents\Lucas\Imagens\Cat.jpg")
SuperXBR(EdgeStrenght=1, Sharpness=1)

The message that player shows is: "Unable to load "Shader.dll": module not found. Install missing library?"

I'm with v1.3.3. My DirectX is the 11.1.

foxyshadis
31st December 2015, 01:40
It's Avisynth 2.6 only, and you need the DirectX runtimes (https://www.microsoft.com/en-us/download/details.aspx?DisplayLang=en&id=35) installed. But in this case, you probably just need a full path to the plugin, instead of just the name. The .cso files are the shaders.

MysteryX, I notice in your avsi files, you have no provision for the path to the shaders. Since virtually anything can change the current directory, or people may elect to keep the folder structure as-is, it makes more sense to have a path="" option to point to the shaders, and perhaps trying both pathless and with a local known path if that fails, like SuperRes looking in both ".\" and "SuperRes\".

MysteryX
31st December 2015, 03:17
Before I had an option to specify the path. Now it will look in the same folder as Shader.dll. Before I had all the CSO files in the same folder as all other plugins. Now I created a sub-folder called Shaders and put Shader.dll and all CSO files in there, to make it cleaner. It uses DirectX9.

Make sure to import SuperResXBR.avsi. If the DLL doesn't load, however, I don't know. Perhaps it's not finding it.

luquinhas0021
1st January 2016, 04:52
MisteryX, please, post results of Superres-xBR of Clown and Lighthouse images. The image you posted the results is too blocky.

MysteryX
1st January 2016, 17:37
MisteryX, please, post results of Superres-xBR of Clown and Lighthouse images. The image you posted the results is too blocky.
I'll post these later. For now, Super-xBR has a half-pixel shift to the right and a 1-pixel vertical stretching. This makes SuperRes run a little bit offset. And if you run it twice, it doubles the distortion. I'll see what I can do.

MysteryX
5th January 2016, 20:18
I made another improvement to SuperResXBR: adding WidthOut and HeightOut parameters, allowing to downscale the result before transfering back from the GPU.

This allows to downscale with high-bit-depth and to reduce memory transfers

This change isn't released into a package but you can get the updated file here
https://github.com/mysteryx93/AviSynthShader/blob/master/Shaders/SuperResXBR/SuperResXBR.avsi

MysteryX
7th January 2016, 07:12
WOW. I spent a lot of time trying to port it to DX11 with DirectCompute, to realize DirectCompute would require the shaders to be written differently, and to realize that Super-xBR, after all, is already written with PS_3_0.

Then the next is how to configure the STRUCT parameters... I spent quite a bit of time to allow configuring greater arrays of values, to realize that the STRUCT wasn't even being used. In the end, I realized the parameters being used are in the separate included file.

And the file compiles as-is with PS_3_0. It simply got broken in the unnecessary adaption.

Simply recompiling the original HLSL file solves the distortion problem... duh...

Will test and release soon.

MysteryX
7th January 2016, 19:54
AviSynthShader v1.3.4 is ready! (https://github.com/mysteryx93/AviSynthShader/releases/tag/v1.3.4)

What's new:
- Shader.dll: It is now possible to set parameter as vectors with more than 4 values
- Super-xBR and SuperResXBR: Fixed image distortion.
- SuperResXBR: Added WidthOut, HeightOut, b and c to do a final Bicubic resize before reading from GPU, reducing memory transfers

I added image comparison of SuperResXBR to the first post. Now that I look at it, Lighthouse doesn't look that good. Definitely a LOT more details coming out, but also lots of ringing and the straight lines appear like zigzags. You can tone down settings to remove ringing, but the zigzags remain. The 2 other images look very good. These problems only seem apparent on images with straight lines.

Edit: I just added another version of Lighthouse with weak settings that looks better

Hyllian
8th January 2016, 01:00
5. SuperRes(2, .43, 0, """edi_rpow2(2, nns=4, cshift="Spline16Resize")"""), twice

http://s20.postimg.org/5jkzo0vyx/Lighthouse_Super_Res.png (http://postimg.org/image/5jkzo0vyx/) http://s20.postimg.org/ze1xq1mft/Clown_Super_Res.png (http://postimg.org/image/ze1xq1mft/) http://s20.postimg.org/j4brn5brt/Eclipse_Super_Res.png (http://postimg.org/image/j4brn5brt/)

I'd like to understand this config. It's called SuperRes. Does it use Spline16Resize as the resizer?

This is the best combo in my eyes.

sqrt(9801)
8th January 2016, 02:07
It uses NNEDI3(_rpow2) and Spline16Resize for correcting the center shift.

And the file compiles as-is with PS_3_0. It simply got broken in the unnecessary adaption.

Simply recompiling the original HLSL file solves the distortion problem... duh...

Does that mean it was always possible to just compile the original HLSL file from the MPDN_Extensions repo and have it work in AvisynthShader ? If so, I kinda feel stupid, haha.

MysteryX
8th January 2016, 02:47
Does that mean it was always possible to just compile the original HLSL file from the MPDN_Extensions repo and have it work in AvisynthShader ? If so, I kinda feel stupid, haha.
Yes. Don't take it personal.

It means we can also port NNEDI3 the same way. I see NNEDI3 had to be compiled many times... perhaps compiling at run-time and being able to set HLSL compile-time parameters would be useful?

This is the best combo in my eyes.
SuperResXBR is working surprisingly well on my 288p VCD sources.

loneboyz
8th January 2016, 02:52
- SuperResXBR: Added WidthOut, HeightOut, b and c to do a final Bicubic resize before reading from GPU, reducing memory transfers


It seem still old, I can't see this parameter of function in script?

MysteryX
8th January 2016, 03:54
It seem still old, I can't see this parameter of function in script?
Oups. Fixed.

SuperResXBR seems very good on irregular textures and live action footage, even when it has artifacts. However, it's not as good on geometric forms and straight lines.

loneboyz
8th January 2016, 05:41
Thank MysteryX!

Follow your documentation, SuperResXBR with default b=0, c=0.75 when downscale with Bicubic (call second after larger upscale). So, what this has different from your previous settings b=-0.6, c=0 in SuperRes?

MysteryX
8th January 2016, 05:47
Thank MysteryX!

Follow your documentation, SuperResXBR with default b=0, c=0.75 when downscale with Bicubic (call second after larger upscale). So, what this has different from your previous settings b=-0.6, c=0 in SuperRes?
-.6,0 actually looks very similar to 0,.75, and 0,.75 just looks slightly better.

And this goes right back to what's written in the Bicubic documentation about these settings
http://avisynth.nl/index.php/Resize

Hyllian
8th January 2016, 13:01
SuperResXBR is working surprisingly well on my 288p VCD sources.

I'm trying to understand what is SuperResXBR.

Did you put both shaders inside one and called it that way? Or have you put those shaders separately and wrote a script to call both shaders one after the other, then called it that way?

That's because they're very distinct shaders with different purposes.

sqrt(9801)
8th January 2016, 17:56
As far as I can tell, it's just a wrapper for SuperRes, using Super-XBR as the upscaler.

Same as using something like SuperRes(2, .43, 0, """SuperXBR()"""), but faster because the output of Super-XBR isn't transferred to RAM.

Yes. Don't take it personal.

It means we can also port NNEDI3 the same way.
I'm not. Messing up is the best way to learn (and nourish my inferiority complex), IMO. I mostly feel bad for wasting your time. <_>

It looks like NNEDI3 still needs SM 5.0, though. As for compiling at run-time, I guess it depends on how much time it takes to compile the shaders ?

MysteryX
8th January 2016, 18:20
I'm trying to understand what is SuperResXBR.

Did you put both shaders inside one and called it that way? Or have you put those shaders separately and wrote a script to call both shaders one after the other, then called it that way?

That's because they're very distinct shaders with different purposes.
According to doc:
Enhances upscaling quality, combining Super-xBR and SuperRes to run in the same command chain, reducing memory transfers and increasing performance.

Arguments are the same as SuperRes and Super-xBR

Hyllian
8th January 2016, 18:31
Thanks for the answer.

And those screenshots (all number 5), are they NNEDI3 + Spline16 + SuperRes? They look perfect!

MysteryX
8th January 2016, 19:24
And those screenshots (all number 5), are they NNEDI3 + Spline16 + SuperRes? They look perfect!

Yes


5. SuperRes(2, .43, 0, """edi_rpow2(2, nns=4, cshift="Spline16Resize")"""), twice


I'd be curious to see the quality and performance difference if we run NNEDI3 on the GPU in the same run -- with high-bit-depth. It still needs to be implemented. It might be slower than the CPU version of NNEDI3.

MysteryX
13th January 2016, 06:45
v1.3.5 is ready! (https://github.com/mysteryx93/AviSynthShader/releases/tag/v1.3.5)

What's new:
- Combined all scripts into one file for simplicity
- Shortened some of the parameters
- SuperXBR: Removed ThirdPass argument, added MatrixIn and MatrixOut
- SuperXBR and SuperResXBR: Now does YUV to RGB color conversion

jpsdr
15th January 2016, 09:46
5. SuperRes(2, .43, 0, """edi_rpow2(2, nns=4, cshift="Spline16Resize")"""), twice


What do you mean exactly by twice ?

Can you provide the avs script used for this case ?

:thanks:

jpsdr
15th January 2016, 12:13
I've just tried, and have the following error message, translated it gives :
The entry point of the procedure Direct3DCreate9Ex cannot be found in the library of dynamic links d3d9.dll.

Edit : It doesn't seem to be realy important, i don't know. Now, script is telling that it can't find "ConvertToShader".
I thought the package was self efficiant. Others things are to download ?
I found nothing in the first post about any other thing to download, and nothing about some specific install to make.

MysteryX
15th January 2016, 16:44
Direct3DCreate9Ex requires Windows Vista or above. What OS are you using?

Search this error message in Google, you'll find interesting information (https://www.google.com/search?q=The+entry+point+of+the+procedure+Direct3DCreate9Ex+cannot+be+found+in+the+library+of+dynamic+links+d3d9.dll)

This, perhaps? (https://www.youtube.com/watch?v=tgbU7ucM0s0)

jpsdr
15th January 2016, 17:46
Ok, it explains things. I've first try at work, where my PC is under Windows XP. I've just tried at home, with PC under Window 7 x86, it worked fine, thanks.
Little question : Do you have an x64 version by any chance ?