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. |
![]() |
#1 | Link |
Registered User
Join Date: Jan 2010
Posts: 270
|
FTurn and SangNom2 - plugins for faster antialiasing
I've been doing lots of antialiasing on HD content and most current implementations are insanely slow. Hence these two plugins.
FTurn GitHub repo (binaries) This is a simple plugin that contains faster TurnLeft/TurnRight/Turn180 implementations (all with F prefix). Only Y8, YV12 and YV24 are supported. I wouldn't mind seeing these optimizations in Avisynth core, but since contributing to it is not the easiest task, we're going with a separate plugin for now. SangNom2 GitHub repo (binaries) This is a rewrite of the old SangNom filter. Its output is mostly identical to the old version on default settings. In addition to huge speed improvements thanks to threading, it also supports additional colorspaces (such as Y8) and processes borders in a more correct manner. SangNom (scaled x2 with PointResize) ![]() SangNom2 ![]() Please note that SangNom2 is still in "beta" stage so I might change some parameters and defaults in the future. For instance, I consider migrating to avstp. Example usage line0 wrote a maa mod that uses both these plugins and works on Y8 in some cases for maximum performance. Note All plugins work only with Avisynth 2.6 alpha 4. Older versions also support older Avisynth, so get them if you need it. Both plugins require SSE2-compatible CPU. All binaries and additional info are available on GitHub. All future releases will also be posted there. I might forget to update this thread later so check the repos out if you want the latest version. Last edited by TurboPascal7; 29th July 2013 at 08:01. Reason: Requirements changed in FTurn 1.3 |
![]() |
![]() |
![]() |
#2 | Link |
Oz of the zOo
Join Date: May 2005
Posts: 208
|
Tested on a progressive 1920x1080 video, loaded with FFVideoSource, no other filters except the following:
Original maa(): 4.75 fps New maa2(): 17 fps - 3.5 times faster New maa2() with setmtmode(2,4): 24.5 fps - 5.15 times faster - realtime! Original maa() with setmtmode(2,4): 10 fps p.s. i7-3770k @ 4.4GHz Last edited by wOxxOm; 27th July 2013 at 09:31. |
![]() |
![]() |
![]() |
#4 | Link |
Anime addict
Join Date: Feb 2009
Location: Spain
Posts: 675
|
Great!! Thanks for your effort.
__________________
Intel i7-6700K + Noctua NH-D15 + Z170A XPower G. Titanium + Kingston HyperX Savage DDR4 2x8GB + Radeon RX580 8GB DDR5 + ADATA SX8200 Pro 1 TB + Antec EDG750 80 Plus Gold Mod + Corsair 780T Graphite |
![]() |
![]() |
![]() |
#7 | Link | |
Oz of the zOo
Join Date: May 2005
Posts: 208
|
Quote:
Well, the difference is that -icc dll should run faster on Intel CPUs. Test both and choose the fastest for you. Last edited by wOxxOm; 7th August 2013 at 16:36. |
|
![]() |
![]() |
![]() |
#10 | Link |
Leader of Dual-Duality
Join Date: Aug 2010
Location: America
Posts: 134
|
Any plans to add 16bit (stacked) support for either filter?
__________________
I'm Mr.Fixit and I feel good, fixin all the sources in the neighborhood My New filter is in the works, and will be out soon |
![]() |
![]() |
![]() |
#11 | Link |
Registered User
Join Date: Jan 2010
Posts: 270
|
I don't think it's reasonable. 16-bit sangnom doesn't make much sense to me, and turning is easier to implement as a script, since plugin would do exactly the same things anyway.
I will add interleaved 16-bit support to FTurn if other plugins' devs switch to it. |
![]() |
![]() |
![]() |
#13 | Link | |
Registered User
Join Date: Jan 2010
Posts: 270
|
Quote:
It should be possible to compile it for x64 without/with few source modifications though, you can try it yourself. Oh and do note that SangNom2 doesn't support avisynth 2.5.8, you'll have to replace avisynth.h header and change colorspaces handling a bit. Last edited by TurboPascal7; 3rd September 2013 at 13:31. |
|
![]() |
![]() |
![]() |
#14 | Link |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
It's unfortunate everyone seems to think this. 32-bit AVIsynth has serious issues when handling high resolution content that's got a lot of processing being done on it. Accessing only 2GB of RAM just isn't enough. Just because it's possible to pipe 32bit AVIsynth to a 64-bit encoder doesn't mean there's no need for 64-bit AVIsynth or that it's useless.
Do you think 64-bit encoders like x264 are worthless too? |
![]() |
![]() |
![]() |
#15 | Link | |
Registered User
Join Date: Jan 2010
Posts: 270
|
Quote:
x64 is quite useful, but there might be a reason why almost no one uses avs x64, you know (hint: it's slower than x86 as most asm code in both avs core and external plugins is not portable). |
|
![]() |
![]() |
![]() |
#16 | Link |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
I suspect very few people use it because it's poorly supported by plugin authors like yourself. If you're correct about it being slower, a small speed tradeoff can be well worth it when it actually works and doesn't crash.
|
![]() |
![]() |
![]() |
#17 | Link | |
Registered User
Join Date: Jan 2010
Posts: 270
|
Quote:
So if anyone wants to actually make x64 avisynth useful, he'd need to rewrite insane amount of assembly code to either use a real assembler as YASM, or use intrinsics (like Firesledge's, Chikuzen's, and my plugins do). There is no one crazy enough to do this. So we go without x64 for now and it most likely will never happen. Anyway, some plugins are not that hard to port to x64, you just need to recompile them yourself (also downgrade most of them to 2.5.8. avisynth, as I explained earlier), because asking people to do something they don't care about is wrong. |
|
![]() |
![]() |
![]() |
#18 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
Blaming the plugin author(s) for not supporting this makes no sense.
__________________
Groucho's Avisynth Stuff |
|
![]() |
![]() |
![]() |
#19 | Link |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
Well, that certainly hasn't been my experience with it. Aside from a lack of 64-bit plugins I haven't found it to be any less robust or more problematic than the 32-bit version. Heck, I was even able to get QTGMC working in 64-bit. I pretty much use 64-bit AVIsynth + MP Pipeline (for 32-bit filters that aren't available in 64-bit and enhanced "multithreading") exclusively.
Last edited by Stereodude; 4th September 2013 at 13:40. |
![]() |
![]() |
![]() |
#20 | Link | |
Yes, I'm weird.
Join Date: May 2010
Location: Southeast Asia
Posts: 271
|
Quote:
![]()
__________________
“Never argue with stupid people, they will drag you down to their level and then beat you with experience.” — Mark Twain |
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|