Log in

View Full Version : aWarpSharp2 – rewrite of aWarpSharp


Pages : 1 [2] 3

Soulhunter
26th July 2009, 14:52
I thought green border artifact bug was fixed years ago... >.>

SEt
26th July 2009, 21:55
As requested, i've updated Toon to use aWarpSharp2 instead of aWarpSharp. As i don't see the sources - made it by patching the dll, so no optimizations or bugfixes in this v1.1.

lych_necross, YUY2 is very inconvenient format for vectorized processing (MMX/SSE) while YV16 has no such problems and adding its support to YV12 code is almost trivial.

lych_necross
27th July 2009, 07:16
Oh, I didn't know that. Thats cool as I usually use YV12 anyways.
P.S. SWEET!!! :D new toon.dll!! I think Soulhunter originally posted toon.dll, so he would probably have the sources.

Adub
27th July 2009, 18:24
Soulhunter didn't make Toon, he just posted it on behalf of the author, who I'm pretty sure is mf.

Soulhunter
28th July 2009, 14:39
Soulhunter didn't make Toon, he just posted it on behalf of the author, who I'm pretty sure is mf.
...who was banned here some time ago
...so he cant post here anymore
...so I do it for him

But, the aWarpSharp version in his dumpster (2nd Google result when searching for aWarpSharp.dll) should already contain the fixed version I mentioned in my last post... So, is there really a reason to update Toon.dll besides the minimal (the old aWarpSharp already runs way above realtime, doesn't it?) speed gain?

SEt
29th July 2009, 04:14
I don't see any fixed version of aWarpSharp.dll. I prefer to have one WarpSharp filter for everything and it's always better to be faster.

Great Dragon
30th April 2010, 20:09
Hi guys.
I have VD crash with this script:
s=AVISource("h:\dt_314.avi")
a1=trim(s,0,13566).crop(10,0,-6,0)
a2=trim(s,13567,22584).crop(6,0,-10,0)
a3=trim(s,22585,32818).crop(8,0,-8,0)
a1++a2++a3
mergechroma(awarpsharp2(blur=16,thresh=128, type=1))

and if I put mergechroma code right after input clip like this:

a1=AVISource("h:\dt_314.avi").mergechroma(awarpsharp2(blur=16,thresh=128, type=1)).trim(0,13566).crop(10,0,-6,0)
a2=AVISource("h:\dt_314.avi").mergechroma(awarpsharp2(blur=16,thresh=128, type=1)).trim(13567,22584).crop(6,0,-10,0)
a3=AVISource("h:\dt_314.avi").mergechroma(awarpsharp2(blur=16,thresh=128, type=1)).trim(22585,32818).crop(8,0,-8,0)
a1++a2++a3

I have an error: "Invalid arguments to function "awarpsharp2".

In same with simple usage like this:

AVISource("h:\dt_314.avi")
mergechroma(awarpsharp2(blur=16,thresh=128, type=1))

filter works like a charm.

Gavino
30th April 2010, 20:33
if I put mergechroma code right after input clip like this:

a1=AVISource("h:\dt_314.avi").mergechroma(awarpsharp2(blur=16,thresh=128, type=1)).trim(0,13566).crop(10,0,-6,0)
...
I have an error: "Invalid arguments to function "awarpsharp2".
That's because the input clip for the call to awarpsharp2() is not explicitly provided, and 'last' is not defined at that point in the script.
You need to do it like this:

AVISource("h:\dt_314.avi")
mergechroma(awarpsharp2(blur=16,thresh=128, type=1))
a1=trim(0,13566).crop(10,0,-6,0)
a2=trim(13567,22584).crop(6,0,-10,0)
a3=trim(22585,32818).crop(8,0,-8,0)
a1++a2++a3

Don't know why VD should crash with your original script though.

Keiyakusha
30th April 2010, 20:43
This script crashes for me even without aWarpsharp2.

s=AVISource("something.avi")
a1=trim(s,0,13566).crop(10,0,-6,0)
a2=trim(s,13567,22584).crop(6,0,-10,0)
a3=trim(s,22585,32818).crop(8,0,-8,0)
a1++a2++a3
Access Violation in Decoder ffdshow (libavcodec or xvid) for divx 720p video. When awarpsharp2 is present, Access Violation is reported for awarpsharp2

EDIT: oops, quoted wrong script. now is fine.

Great Dragon
1st May 2010, 21:34
Gavino, Thanks man. I still need to learn avisynth language a lot.

Esc
15th September 2010, 05:37
When I try to use aWarpSharp2 after MCTemporalDenoise, I get error:
CAVIStreamSynth: System Exception - Access Violation at 0x4981415, reading from 0x0.
Other functions seem to not matter at all. Here are the two lines
MCTemporalDenoise(settings="high",edgeclean=true)
aWarpSharp2()
If I switch them, it works again.
Source is mpeg2source from a dvd rip.

Nice thinning btw!

MajorX
15th September 2010, 16:31
Is it good to use aWarpSharp() for good result ...means default value for anime content (BluRay source)?

kypec
26th March 2012, 05:01
Dear experienced developers,

I'm having hard time to make aWarpsharp2 function properly. Please find sample VOB with AVS script (http://www.mediafire.com/?dvcva96khcka9gq) (~15 MB) and also all
necessary plugins (http://www.mediafire.com/?log40wj33dbw25w) (~10MB) to reproduce the error.
Whenever there is the last line which invokes sharpening functionaWarpSharp2(thresh=120, blur=2, type=0, depth=16, chroma=4)included the script fails.
AVS2AVI and AVSMeter both crash with failure pointing to awarpsharp.dll
AvspMod crash report when trying to preview the script:
Traceback (most recent call last):
File "F:\AvsPmod\src\AvsP.py", line 7405, in OnMenuVideoRefresh
File "F:\AvsPmod\src\AvsP.py", line 11109, in ShowVideoFrame
File "F:\AvsPmod\src\AvsP.py", line 11696, in PaintAVIFrame
File "pyavs.pyo", line 343, in DrawFrame
File "pyavs.pyo", line 320, in _GetFrame
File "avisynth.pyo", line 277, in GetFrame
WindowsError: exception: access violation reading 0x00000000

I'm using AviSynth 2.60, build Sep 13 2011. No multithreading involved at all, Win 7 x64 @ Intel E8400, 8GB RAM.

Is there any alternative plugin that would provide same/very similar output to aWarpsharp?

:thanks: in advance for your replies!

SEt
27th March 2012, 14:47
Fixed, see updated link in first post.

Chainmax
27th March 2012, 15:14
Thanks, SEt! :)

SEt
28th March 2012, 01:18
While I'm at it, let's post some improvements that were implemented years ago but never made it to public: new version 2012.03.28.

Changes:
1) Added new final part aWarp4 that takes 4x upsampled source for better final subpixel interpolation. Allows producing much sharper result with lower depth, so less deformations. Examples:

aWarp4(Spline36Resize(width*4, height*4, 0.375, 0.375), aSobel().aBlur(), depth=3)
aWarp4(nnedi3_rpow2(rfactor=2).Spline36Resize(width*4, height*4, 0.25, 0.25), aSobel().aBlur(), depth=3)
aWarp4(nnedi3_rpow2(rfactor=2).nnedi3_rpow2(rfactor=2), aSobel().aBlur(), depth=2)

Note that upsampling should be left-top aligned, so Spline36Resize(width*4, height*4) or nnedi3_rpow2(rfactor=4) won't produce correct results.

2) aWarpSharp2 can now be also called by aWarpSharp() with internal parameters conversion for compatibility with ancient scripts. Direct aWarpSharp2 call is encouraged though.
3) New chroma values: 5 and 6: the same as 3 and 4, but luma isn't processed and just copied. Useful for filtering sources with certain chroma problems.
4) Changed some defaults.

kypec
28th March 2012, 06:47
:thanks: SEt, much appreciated!

mastrboy
28th March 2012, 11:43
Thanks :)

handsomejack
12th June 2012, 05:12
I cant download Toon 1.1, please upload to another host.

poisondeathray
12th June 2012, 05:40
I cant download Toon 1.1, please upload to another host.

Toon-v1.1
http://www.mediafire.com/?6p3dx7cpc7dyakl

handsomejack
12th June 2012, 06:59
Thanks poisondeathray, you are lifesaver :D

luke83
8th June 2013, 14:18
Toon-v1.1
http://www.mediafire.com/?6p3dx7cpc7dyakl
what's matter Toon in aWarpsharp2???

It's good idea to do anti-aliasing and temporal filtering over edge mask before passing it to warp stage if you want more stable results.
do you mean an external anti-aliasing filter? (like AAA, DAA or FAA)
Is there an internal function for that?

poisondeathray
8th June 2013, 16:03
what's matter Toon in aWarpsharp2???



Green borders with awarpsharp (hence the reason for awarpsharp2's existence), read the first post .

http://forum.doom9.org/showthread.php?p=1289036#post1289036




do you mean an external anti-aliasing filter? (like AAA, DAA or FAA)
Is there an internal function for that?

I don't know who you are quoting for this ? or what context this refers to ??

luke83
8th June 2013, 17:53
Green borders with awarpsharp (hence the reason for awarpsharp2's existence), read the first post .
honestly i had green borders with the new version of Avisynth 2.6 MT optimized by SET XD
However...

I don't know who you are quoting for this ? or what context this refers to ??
I've quoted it from the readme of awarpsharp2

killerteengohan
16th August 2015, 06:05
This plugin works pretty good. I wouldn't mind more control over the depth though for a more exact line measurement.

Is there a way to use depth with decimals like with the regular awarpsharp or can it be implemented?

I cannot use depth=3.5 on awarpsharp2 but its fine with awarpsharp.

depth=1 is almost the same as depth=3.5 on the original awarpsharp when it comes to line thinning, but not quite as much and if I set it to depth=2 in awarpsharp2, its more than depth=3.5 on the original awarpsharp and I was hoping to get the about the exact same thinning level.

Reel.Deel
16th August 2015, 14:56
This plugin works pretty good. I wouldn't mind more control over the depth though for a more exact line measurement.

Is there a way to use depth with decimals like with the regular awarpsharp or can it be implemented?

I cannot use depth=3.5 on awarpsharp2 but its fine with awarpsharp.

depth=1 is almost the same as depth=3.5 on the original awarpsharp when it comes to line thinning, but not quite as much and if I set it to depth=2 in awarpsharp2, its more than depth=3.5 on the original awarpsharp and I was hoping to get the about the exact same thinning level.

You started a thread a while back in which SeT said this:

aWarpSharp2 is exactly the same algorithm as aWarpSharp, only with some bugfixes. If you are getting significantly different results – you are doing something wrong. Latest aWarpSharp2 supports aWarpSharp alias that remaps the parameter values automatically if you absolutely can't read the documentation.

Btw, aWarpSharp2 has integer parameters because algorithm uses actually integers, so again aWarpSharp2 is exactly the same as aWarpSharp, just removes the false feeling that slight change in float number changes something when it actually maps to the same integer inside.

real.finder
9th November 2015, 09:37
hi SEt

this http://www.dropbox.com/s/5s6xht0xu80otbz/aWarpSharp_20120328_x64.zip?dl=1 from http://avisynth.nl/index.php/AviSynth%2B#AviSynth.2B_x64_plugins

has the same crash http://forum.doom9.org/showpost.php?p=1744196&postcount=18 in avs 64 (http://forum.doom9.org/showthread.php?t=152800)

and in avs+ 64 (even with "width=640, height=480", since avs 64 will work fine here)


AVSMeter 2.1.5 (x64)
AviSynth+ 0.1 (r1576, x64) (2.6.0.5)

Exception 0xC000001D
STATUS_ILLEGAL_INSTRUCTION

Press any key to exit...


but in avs+ 32 with awarpsharp2-2015.10.25 by cretindesalpes will be fine in both image size

Apart from this problem, I think Y8 is important for speed up script like aWarpSharp4xx since aWarpSharp2 uses MPEG-1 chroma placement, yes, make aWarpSharp2 uses MPEG-2 chroma placement and supports other planar colorspaces is better but I think add Y8 more important

cretindesalpes
30th December 2015, 23:42
aWarpSharp2 2015-12-30 (https://ldesoras.fr/src/avs/awarpsharp2-2015.12.30.zip):
Support for YV16 and YV24 colorspaces
Support for Y8 colorspace, by _08
Added parameter depthC specifying the depth for the chroma planes, by _08
Added parameter cplace to specify MPEG1 or MPEG2 chroma placement
Some crashes of the beta version hopefully solved.

real.finder
9th January 2016, 00:20
aWarpSharp2 2015-12-30 (http://ldesoras.free.fr/src/avs/awarpsharp2-2015.12.30.zip):
Support for YV16 and YV24 colorspaces
Support for Y8 colorspace, by _08
Added parameter depthC specifying the depth for the chroma planes, by _08
Added parameter cplace to specify MPEG1 or MPEG2 chroma placement
Some crashes of the beta version hopefully solved.

:thanks:

this work with no crashes, now the only thing is missed is x64 plugin

ryrynz
7th June 2016, 13:47
:thanks:

this work with no crashes, now the only thing is missed is x64 plugin

Yeah this is preventing me from using AVS+ 64 bit. I've mentioned it on jackoneill's Vapoursynth port thread.

Reel.Deel
7th June 2016, 17:35
Yeah this is preventing me from using AVS+ 64 bit. I've mentioned it on jackoneill's Vapoursynth port thread.

You can find the 64-bit plugin here (http://avisynth.nl/index.php/AviSynth%2B#AviSynth.2B_x64_plugins), but it's the 2012 version. You can use it with aWarpSharp4xx (http://forum.doom9.org/showthread.php?t=171488) to provide the same functionality as the 2015 version. A 64-bit version of cretindesalpes updated aWarpSharp2 would be better though.

ryrynz
8th June 2016, 01:28
A 64-bit version of cretindesalpes updated aWarpSharp2 would be better though.

Thanks, I've hit up cretindesalpes about it. I doubt SEt would be interested and jackoneill isn't, I guess that leaves one or two guys in the Avisynth+ thread, fingers crossed.

FWIW it seems the current 64 bit version doesn't appear to be entirely stable, I get crashes approximately 20% of the time using awarpsharp or awarp4 on file playback when using latest Avisynth+ through ffdshow. No problems with the 32 bit version.

Reel.Deel
19th June 2016, 04:14
FWIW it seems the current 64 bit version doesn't appear to be entirely stable, I get crashes approximately 20% of the time using awarpsharp or awarp4 on file playback when using latest Avisynth+ through ffdshow. No problems with the 32 bit version.

Post your script. I've haven't had any problems so far but I'm not using ffdshow.

pinterf
24th June 2016, 11:36
Due to popular demand (ryrynz) :), I updated this nice plugin for those who were missing only this chain before plunging into the 64 bit world.

aWarpSharp2-20160624, x64 / x86 (https://github.com/pinterf/aWarpSharp/releases/tag/aWarpSharp2-20160624)

Remark: does not work with Avisynth 2.5x interface.

GMJCZP
25th June 2016, 03:09
Thanks, it works in XP x86!

Selur
25th June 2016, 08:44
@pinterf:
using aWarpSharp(depth=64.00,blurlevel=4) I get:
aWarpSharp2: 'depth' must be -128..127
according to http://avisynth.nl/index.php/AWarpSharp depth for aWarpSharp should be a float in the range of 0.0 - 64.0
aWarpSharp(depth=64.00,blurlevel=3) works fine
probably some internal mapping error, reported the error also to the issue tracker of the github project.

Groucho2004
25th June 2016, 09:24
according to http://avisynth.nl/index.php/AWarpSharp depth for aWarpSharp should be a float in the range of 0.0 - 64.0
AWarpSharp != AWarpSharp2. AWarpSharp2 expects int for depth.

Selur
25th June 2016, 09:33
@Groucho: I know, I never said it was and I never assumed it,....
a. the description of http://avisynth.nl/index.php/AWarpSharp2 states that the dll implements multiple functions aBlur, aSobel, aWarp, aWarp4, aWarpSharp, aWarpSharp2 and the implementation of aWarpSharp should be compatible to the old dll (which it aside from the combination of depth=64 and blurlevel=4 does seem to be)
b. depth itself isn't the issue; my guess is aWarpSharp is implemented by mapping the calls internally to aWarSharp2 and that there is a mapping error in case of the mentioned parameter combination

Selur
25th June 2016, 09:57
Okay, but why does it only complain with blurlevel=4 and not blurlevel=3 ?

Groucho2004
25th June 2016, 09:58
Okay, but why does it only complain with blurlevel=4 and not blurlevel=3 ?
Sorry, too early, need coffee.

pinterf
26th June 2016, 07:47
@pinterf:
using aWarpSharp(depth=64.00,blurlevel=4) I get:

according to http://avisynth.nl/index.php/AWarpSharp depth for aWarpSharp should be a float in the range of 0.0 - 64.0
aWarpSharp(depth=64.00,blurlevel=3) works fine
probably some internal mapping error, reported the error also to the issue tracker of the github project.
The mapping is: depth * blurlevel * 0.5.
This is 128, when depth=64.0 and blurlevel=4, so you get a 'depth' must be -128..127 error message.

Selur
26th June 2016, 07:53
shouldn't it be more like:
(depth * blurlevel * 0.5)-1
to not throw an error?

pinterf
27th June 2016, 20:18
I don't see the logic behind the re-mapping depth value -128..127 exactly. What do negative numbers mean there?
The source code uses the parameter as depth << 8 and a comment says it should be 0..7FFF
Anyway, depth(64)*blurlevel(4) may silently be mapped to 127. Is it a good idea? (And the error message is confusing, too, needs polishing)

Selur
27th June 2016, 20:22
Anyway, depth(64)*blurlevel(4) may silently be mapped to 127. Is it a good idea?
Probably a bit ugly, but personally I wouldn't mind as long as it doesn't break anything else.

real.finder
6th July 2016, 04:27
Due to popular demand (ryrynz) :), I updated this nice plugin for those who were missing only this chain before plunging into the 64 bit world.

aWarpSharp2-20160624, x64 / x86 (https://github.com/pinterf/aWarpSharp/releases/tag/aWarpSharp2-20160624)

Remark: does not work with Avisynth 2.5x interface.

x64 work now :thanks:

TCmullet
30th October 2016, 07:12
I've been using aWarpSharp for about a year. I just noticed there's an aWarpSharp2, and it allegedly has a function aWarpSharp built in in a way that lets you use the original parameters for aWarpSharp so that old scripts still work.

I got:
aWarpSharp2-20160624.7z

I copied the aWarpSharp.dll from the x86 folder and to my plugins folder of Avisynth. It blows up saying aWarpSharp not found.

What's going on? Of course my system is Windows 10, 64-bit. However, I always use x86 (32-bit) versions of all video processing software to ensure reliability. Is there REALLY an aWarpSharp (original version) built in to aWarpSharp2? It doesn't seem to work.

Groucho2004
30th October 2016, 14:41
It blows up saying aWarpSharp not found.
You can always test your Avisynth installation and plugin functionality with AVSMeter:
Run "AVSMeter -avsinfo" and look for any error messages.

However, I'm quite certain that your problem is related to missing MS runtimes (VS2015 x86 (http://download.microsoft.com/download/4/5/6/456cf79a-4046-4232-8e6f-7cf3d8075d9a/vc_redist.x86.exe)).

TCmullet
1st November 2016, 00:44
Yes, that was it. Thanks, and thanks or the link. When I refound the doc here:
http://avisynth.nl/index.php/AWarpSharp2
... it DOES say you need it. I hadn't bothered to read the "requirements" as I thought it would be the same as aWarpSharp "1". Also, the link there for the c++ runtime is broken, therefore especially thanks for a working link. I knew I had c++ runtime, but turns out it was 2013; obviously outdated.

StainlessS
1st November 2016, 10:39
I knew I had c++ runtime, but turns out it was 2013; obviously outdated.

You need all runtimes specific to the software that you run, the latest dll's are of no use to software requiring earlier runtimes.

Here is an All-In-One installer:- http://repacks.net/forum/viewtopic.php?t=125

Get the latest version of above if you find you have similar problems with other s/ware.

EDIT: Although you do sometimes get later versions of a specific runtime, eg a later version of VS CPP 2015 runtimes,
but still called VS CPP 2015 runtimes even if released in 2016.

real.finder
14th February 2017, 09:14
I think it will be nice if there are depthV like internal avs Sharpen() amountV (http://avisynth.nl/index.php/Blur) so that we can work with only horizontal halos or colour bled safely without hurt the vertical details by set depthV=0 or depthCV=0

edit: blurV also