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. |
17th August 2013, 20:15 | #1 | Link |
typo lover
Join Date: May 2009
Posts: 595
|
TCannyMod
Canny edge detection filter for Avisynth2.6x based on tcanny by tritical.
slow (because almost all processings are performed in the floating point), but faster than tcanny about 1400% to 2500%(by the favor of SSE/SSE2 and smart hysteresis algorithm). binary: TCannyMod-1.2.0.zip source code: https://github.com/chikuzen/TCannyMod/ requirement: * Avisynth2.6.0/Avisynth+r1576 or greater * Microsoft Visual C++ 2015 Redistributable Package * WindowsVista sp2/7 sp1/8.1/10 * SSE2 capable CPU EDIT: 2016-05-25 update to 1.2.0
__________________
my repositories Last edited by Chikuzen; 25th May 2016 at 10:16. |
17th August 2013, 20:37 | #2 | Link | |
Registered User
Join Date: Sep 2008
Posts: 365
|
Quote:
And more of a curiosity question, would this plugin be even faster if AVX optimization was added considering it's floating point heavy?
__________________
(i have a tendency to drunk post) |
|
17th August 2013, 20:51 | #3 | Link | ||
typo lover
Join Date: May 2009
Posts: 595
|
Quote:
Quote:
My machine is old penlyn.
__________________
my repositories Last edited by Chikuzen; 18th August 2013 at 11:40. |
||
18th August 2013, 02:42 | #5 | Link | |
typo lover
Join Date: May 2009
Posts: 595
|
Quote:
It is a foolish act to release a new binary whenever a bug is found in MSVCRT. The developer who likes static link is an irresponsible person who does not consider such a thing. And in my experience, dynamic linked binaries are a bit faster than static linked.
__________________
my repositories |
|
18th August 2013, 07:49 | #6 | Link |
LaTo INV.
Join Date: Jun 2007
Location: France
Posts: 701
|
|
19th August 2013, 04:51 | #7 | Link |
typo lover
Join Date: May 2009
Posts: 595
|
update to 0.1.0
* fix some typo * add new function 'GBlur' * add new argument 'sobel' * sigma allows to set to 0 (do not blur before edge detection)
__________________
my repositories |
21st August 2013, 02:59 | #8 | Link |
typo lover
Join Date: May 2009
Posts: 595
|
update to 0.1.1
* fix crash when sigma is too large.
__________________
my repositories |
27th August 2013, 19:38 | #9 | Link |
Registered User
Join Date: Aug 2011
Posts: 103
|
It seems using left Crop before TCannyMod will return error "TCannyMod: Invalid memory alignment".
This script returns error Code:
BlankClip(1000, 1920, 1080, "YV12") Crop(4, 0, 0, 0) TCannyMod() Code:
BlankClip(1000, 1920, 1080, "YV12") Crop(0, 4, -4, -4) TCannyMod() |
27th August 2013, 19:55 | #10 | Link | |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Quote:
Code:
BlankClip(1000, 1920, 1080, "YV12") Crop(4, 0, 0, 0,align=true) TCannyMod()
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? |
|
26th March 2016, 12:28 | #11 | Link |
typo lover
Join Date: May 2009
Posts: 595
|
updated to v1.0.0
__________________
my repositories |
27th March 2016, 19:40 | #12 | Link |
typo lover
Join Date: May 2009
Posts: 595
|
update to 1.1.0.
__________________
my repositories |
3rd April 2016, 08:27 | #14 | Link |
typo lover
Join Date: May 2009
Posts: 595
|
fixed
__________________
my repositories |
25th May 2016, 10:19 | #15 | Link |
typo lover
Join Date: May 2009
Posts: 595
|
update to 1.2.0
- Set filter mode as MT_NICE_FILTER automatically on Avisynth+ MT. - Use buffer pool on Avisynth+ MT. - Disable AVX2/FMA3/AVX code when /arch:AVX2 is not set. - Disable AVX2/FMA3/AVX code on Avisynth2.6.
__________________
my repositories |
26th May 2016, 10:21 | #16 | Link |
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,297
|
A little question about things like this in your code :
Code:
#if defined(_MSC_VER) __cpuid(array, info_type); #else __cpuid(info_type, array[0], array[1], array[2], array[3]); #endif Is it Intel compiler, or another ? In what case do you put the Intel compiler ? |
26th May 2016, 10:37 | #17 | Link | |
typo lover
Join Date: May 2009
Posts: 595
|
Quote:
That code was written to use it by vapoursynth plugins originally. Since avisynth's GetCPUFlags() does not support AVX2 and FMA3, I use it on avisynth plugins too.
__________________
my repositories Last edited by Chikuzen; 26th May 2016 at 11:19. |
|
29th January 2017, 14:43 | #18 | Link |
Registered User
Join Date: Jul 2003
Location: Italy
Posts: 1,135
|
Don't know if this is the right place to post (or maybe in the avs+ topic?) but I get an "Avisynth open failure: system exception - access violation" when just loading the plugin (on latest dev avs+ r2397). The strange thing is that this happens only on x86 because the x64 version seems to work fine (at least it load the plugin).
|
Thread Tools | Search this Thread |
Display Modes | |
|
|