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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 26th October 2012, 17:59   #581  |  Link
IJM
Registered User
 
IJM's Avatar
 
Join Date: Jul 2003
Location: Lancashire, U.K.
Posts: 21
@SEt. Can I offer a suggestion, please? If read ahead buffering is required to make many of these filters (especially temporal ones) work properly in an MT environment, would it not be a good idea to add such a feature into Avisynth 2.6 MT? That way it would be native to the environment, instead of relying on a third party's software being at a reliable patch level? (In fact I'm not keen on being forced to use ffdshow, so I'm running single threaded instead.) Besides, wouldn't it be better to have all the required functionality self contained as part of your Avisynth MT "package"?

For instance, have a SetMTBuffer(framesback int, framesahead int) function. Or build the buffering functionality into existing Avisynth source filters such as avisource() and directshowsource().

I imagine this might not be a trivial piece of work for you, but I thought I'd put it out there as a suggestion to see what you and others think.

Last edited by IJM; 26th October 2012 at 18:04.
IJM is offline   Reply With Quote
Old 27th October 2012, 15:34   #582  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
I have several interesting ideas but they require quite some time and effort, so no promises when.
SEt is offline   Reply With Quote
Old 28th October 2012, 16:12   #583  |  Link
jb_alvarado
Registered User
 
Join Date: Jul 2007
Posts: 1
Hello SEt,
I will use your Avisynth.dll in a Batchfile. This Batch check if is avisynth install and when not it will download it via WGet.exe. The Problem is, that WGet can not download from your link. Is it ok for you when I upload your dll to my webspace and share the link?
jb_alvarado is offline   Reply With Quote
Old 29th October 2012, 17:05   #584  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
Avisynth is free software under GPL license, so of course it's allowed.
SEt is offline   Reply With Quote
Old 29th October 2012, 23:48   #585  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,360
But it is still polite to ask when using someone's build.
Asmodian is offline   Reply With Quote
Old 3rd November 2012, 04:33   #586  |  Link
bcn_246
Registered User
 
bcn_246's Avatar
 
Join Date: Nov 2005
Location: UK
Posts: 146
Not really much of a coder or I would re-compile the MT.dll (v0.7) myself. Could anybody modify it to work with AviSynth v2.6 (from what I can see it is just a version check that stops it working - but there may be more).

Regards,

Ben
bcn_246 is offline   Reply With Quote
Old 12th November 2012, 21:06   #587  |  Link
Vesdaris
Registered User
 
Join Date: Mar 2008
Posts: 68
I suppose there is not much sense in switching to Avisynth 2.6 MT from standard AVS if i don't use on most of my blurays encodes any specific filters, just standard crop\resize?
Would it increase perfomance on interlaced sources?
Vesdaris is offline   Reply With Quote
Old 17th November 2012, 17:56   #588  |  Link
bcn_246
Registered User
 
bcn_246's Avatar
 
Join Date: Nov 2005
Location: UK
Posts: 146
No not really, and quite the opposite if you use any filter other than the ones you mentioned. v2.5.8 with the ability to use MT("*) will be much faster than v2.6 (can only do SetMTMode(*) at the moment, due to the MT.dll not being compatible). The main advantage (IMO) of v2.6 is support for high-depth colour spaces (YV24 etc...) which doesn't really affect Blu-Ray (the spec won't allow higher than 4:2:0, YV12).

Last edited by bcn_246; 23rd November 2012 at 05:12.
bcn_246 is offline   Reply With Quote
Old 17th November 2012, 18:27   #589  |  Link
Keiyakusha
契約者
 
Keiyakusha's Avatar
 
Join Date: Jun 2008
Posts: 1,567
you never thought that mt.dll still not compatible because setmtmode may be better and noone bothered to mess with suboptomal stuff

Quote:
Originally Posted by bcn_246 View Post
The main advantage (IMO) of v2.6 is support for high-depth colour spaces (YV24 etc...)
you wanted to say "support for other colorspaces". high bitdepth is not supported.
Keiyakusha is offline   Reply With Quote
Old 23rd November 2012, 04:20   #590  |  Link
bcn_246
Registered User
 
bcn_246's Avatar
 
Join Date: Nov 2005
Location: UK
Posts: 146
Quote:
Originally Posted by Keiyakusha View Post
you never thought that mt.dll still not compatible because setmtmode may be better and noone bothered to mess with suboptomal stuff
I wouldn't say MT(* was 'suboptimal' for a lot of filters. Yes, there are filters that processing parts of the image separately is a bad idea for (debanding over large areas, filters that change the number of frames...).

However, provided the user chooses an appropriate orientation and a reasonable amount of overlap, then checks for any visible artefacts were the split parts are joined and adjusts the parameters accordingly) MT(* still provides huge speed benefits with little/no quality loss for a huge number of filters (deblocking, sharpening, de-noising, anti-aliasing...).

Comparing (preview w/VDub, source 1280x720@24 uncompressed YV12 AVI stored on 2xSSDs in RAID-0)
Code:
MCTemporalDenoise()
with
Code:
SetMTMode(2,8)
MCTemporalDenoise()
with
Code:
MT("MCTemporalDenoise(),threads=8,overlap=16,splitvertical=true)
On my i7@4.2GHz the single-threaded version rendered at ~4fps, SetMTMode rendered at ~6fps while MT(... rendered at ~13fps. I couldn't see any visible artefacts (and an overlap of 16 is overkill, for most video an overlap of 4 would have been fine).

Its one small test, but I've used both enough times now to know that splitting the image is considerably faster in every circumstance I have seen and causes issues (when used properly) in very few circumstances.

I haven't had any issues mixing the two with v2.5.8, even when switching multiple times. For example...
Code:
SetMTMode(5)
AVISource("blah.avi")
MT("ConvertToYV12",threads=4,overlap=0)
SetMTMode(2,16)
QTGMC(FPSDivisor=2)
SetMTMode(5)
MT("DeBlock_QED(quant1=16,quant2=17)",threads=4,overlap=8)
MT("LSFMod(60)",threads=4,overlap=16)
SetMTMode(2)
GradFun2DBmod(radius=3,str=0)
SetMTMode(5)
Crop(4,6,-2,-8)
Spline36Resize(960,544)
MT("AddGrain(1.2)",threads=4,overlap=0)
MT(* also does work with some filters change the amount of frames. I have used MT("QTGMC",threads=4,overlap=16,splitvertical=true) and have yet to see any 'joins' (or artefacts around the joined area) on the output. It's not like the speed difference between the two is small, in many cases MT(* can be several times as fast as SetMTMode(2).

Quote:
Originally Posted by Keiyakusha View Post
you wanted to say "support for other colorspaces". high bitdepth is not supported.
Your right, my bad... I was referring to 4:4:4 support...

Last edited by bcn_246; 23rd November 2012 at 06:00.
bcn_246 is offline   Reply With Quote
Old 24th November 2012, 01:38   #591  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
You are obviously doing something wrong. With 1280x720@24 source running on i7-930@4.1, VDub preview:
Code:
DGSource("test.dgi")
MCTemporalDenoise()
4.5 fps

Code:
SetMemoryMax(1024)
SetMTMode(3)
DGSource("test.dgi")
SetMTMode(2)
MCTemporalDenoise()
16 fps
SEt is offline   Reply With Quote
Old 26th November 2012, 10:40   #592  |  Link
bcn_246
Registered User
 
bcn_246's Avatar
 
Join Date: Nov 2005
Location: UK
Posts: 146
Just tried again with AviSynth 2.6.0 a3 (110525)...

Got about ~11fps with the same file, which is a big improvement over v2.5.8 RC5 (081230) which gave ~6fps.

Still, not quite as fast as splitting the picture (got ~13fps with MT("MCTemporal... but I can understand were you guys are coming from.

I'll keep playing around, possibly one of the filters it uses is sub-optimal (I have been using Vit-Mod filters were available, and do check for updates pretty often).

Regards,

Ben

P.S.
Set, do you have MultiThreading enabled (in your BIOS) for your over-clocked 930 (so it detects 8 cores)?. I have found it crashes (KERNALBASE error in VDub) with it on...

Last edited by bcn_246; 26th November 2012 at 13:39. Reason: P.S.
bcn_246 is offline   Reply With Quote
Old 26th November 2012, 15:23   #593  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
You need to tweak SetMemoryMax to your case to get the optimal speed and memory consumption. Larger values are not always better though.

Yes, it's fully enabled, so 8 threads. You get crashes in VD likely because its exe isn't LargeAddressAware (google it, it can be easily corrected).
SEt is offline   Reply With Quote
Old 27th December 2012, 06:11   #594  |  Link
bcn_246
Registered User
 
bcn_246's Avatar
 
Join Date: Nov 2005
Location: UK
Posts: 146
Quote:
Originally Posted by SEt View Post
...You get crashes in VD likely because its exe isn't LargeAddressAware...
You hit the nail on the head!

I rebuilt the VirtualDub.exe (v1.10.2) PE header to make it LargeAddressAware. Now when running ('preview input'):
Code:
SetMemoryMax(1024)
SetMTMode(3,8)
DGSource("720p24test.dgi")
SetMTMode(2)
MCTemporalDenoise()
I am getting 18fps+ on my 1280x720p24 sample.

Thanks for taking the time to help a noob like me (can't even begin to say thanks for everything else you have done here).

For others experiencing similar issues here is a ZIP containing LargeAddressAware patched versions of:
  • VirtualDub v1.9.11 build 32842 (x86)
  • VirtualDub v1.10.2 build 34807 (x86)
  • VirtualDubMod v1.5.10.2 build 2542 (x86)
Download Link 1: http://www.mediafire.com/?afapcj020qcra4n
Download Link 2: http://www.sendspace.com/file/borm0d
Virus Scan*: http://virusscan.jotti.org/en-gb/sca...1a1b30b8656758

*The files are safe, ClamAV is just complaining about VirtualDubMod being compressed with UPX
bcn_246 is offline   Reply With Quote
Old 28th December 2012, 16:35   #595  |  Link
GMJCZP
Registered User
 
GMJCZP's Avatar
 
Join Date: Apr 2010
Location: I have a statue in Hakodate, Japan
Posts: 518
Thanks for the input bcn_246.
I have a question: could not do the same with the version of VirtualDubMod 1.5.10.3 build 2550?
GMJCZP is offline   Reply With Quote
Old 30th December 2012, 22:25   #596  |  Link
bcn_246
Registered User
 
bcn_246's Avatar
 
Join Date: Nov 2005
Location: UK
Posts: 146
Here ya go:
http://www.mediafire.com/?99z6k97picyo1s8
bcn_246 is offline   Reply With Quote
Old 5th January 2013, 12:20   #597  |  Link
djonline
Registered User
 
Join Date: Mar 2011
Posts: 33
What about official x64 support ?
djonline is offline   Reply With Quote
Old 7th January 2013, 14:25   #598  |  Link
Carpo
Registered User
 
Carpo's Avatar
 
Join Date: Dec 2002
Location: /dev/null
Posts: 1,369
Would be nice if there was official x64 support, the dev's of MeGUI are planning on stopping development of the x64 version as there is no x64 Avisynth support
__________________
The Internet: where men are men, women are men, and children are FBI Agents
Carpo is offline   Reply With Quote
Old 7th January 2013, 19:52   #599  |  Link
SEt
Registered User
 
Join Date: Aug 2007
Posts: 374
x64 support for 2.6 is unlikely.
SEt is offline   Reply With Quote
Old 10th January 2013, 14:45   #600  |  Link
Poutnik
Useless idea generator
 
Poutnik's Avatar
 
Join Date: Apr 2004
Location: Europe, Czech Republic, Brno
Posts: 354
Quote:
Originally Posted by bcn_246 View Post
Just tried again with AviSynth 2.6.0 a3 (110525)...

Got about ~11fps with the same file, which is a big improvement over v2.5.8 RC5 (081230) which gave ~6fps.

Still, not quite as fast as splitting the picture (got ~13fps with MT("MCTemporal... but I can understand were you guys are coming from.
Is not there a general advice that spatial MT() slicing is a bad idea for MC ?
MT(MCwhatever) speeding up wrt SetMTMode() can be caused by sideeffect of spatial limiting of MC scope, decreasing MC quality.
__________________
Vista64 Premium SP2 / C2D E4700 2.6GHz/ 6GB RAM/ Intel GMA 3100 / DTV Leadtek DONGLE GOLD USB2 /
focused to DVB-T MPEG2 PS capture -> ProjectX -> M2V/MP2 -> MeGUI/AVS -> MP4[AVC/AAC]
Poutnik is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 11:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.