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 > General > DVD2AVI / DGIndex

Reply
 
Thread Tools Search this Thread Display Modes
Old 22nd August 2010, 01:55   #2441  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
You can MT everything but the source filter. I don't use it but I have seen scripts like that.
Guest is offline   Reply With Quote
Old 22nd August 2010, 09:04   #2442  |  Link
crl2007
Registered User
 
Join Date: Nov 2007
Posts: 650
The licensing page does not work. The program says that my license is invalid and I can't get a new one.
crl2007 is offline   Reply With Quote
Old 22nd August 2010, 12:43   #2443  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Send me an email repeating that and including your user ID.
Guest is offline   Reply With Quote
Old 22nd August 2010, 13:07   #2444  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,389
Quote:
Originally Posted by neuron2 View Post
You can MT everything but the source filter. I don't use it but I have seen scripts like that.
Partial multithreading of an Avisynth script is only possible with the (spatial) MT() filter. Partial multithreading is not possible with the (temporal) SetMTmode(). With this one, the number of threads is initiated and fixed upon script loading. The only possible way for not multithreading-friendly filters is SetMTmode(5), which will use only one thread actively, while all other threads are "parked".

Basically, MT() is the more poor filter - it's bad for filters with big spatial context (e.g.: all MVTools applications, or e.g. TNLMeans), and some scripts can *only* use SetMTmode, because MT is plain impossible (e.g. Srestore).

This is a pity. The main point of GPU decoding is to free up CPU time. But you don't need to offload from CPU to GPU in easy scenarios where you've plenty of CPU time to spare anyway. The case where freeing CPU really counts is in heavy scenarions when CPU is loaded to the brim.


... testing ...


*edit* : false alarm, the crashes were because I had a silly typo in my script.

For now, it seems to work when no SetMTmode at all is set in the beginning, but only after the DGDecodeNV call.

Don't know what to say, this behaviour of SetMTmode seems to be in contradiction to the description of it's functionality. But it seems to work, sorry for the buzzing.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 22nd August 2010, 13:14   #2445  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
I'm confused. Are you saying that DGDecNV should work with SetMTMode(5), that it does work for you, both of those?

If it is thought that it should work, I'll be happy to investigate it.
Guest is offline   Reply With Quote
Old 22nd August 2010, 13:25   #2446  |  Link
cweb
Registered User
 
cweb's Avatar
 
Join Date: Oct 2002
Location: The Pandorica
Posts: 527
Quote:
Originally Posted by neuron2 View Post
I'm confused. Are you saying that DGDecNV should work with SetMTMode(5), that it does work for you, both of those?

If it is thought that it should work, I'll be happy to investigate it.
I successfully use it with SetMtMode(2,2) on my source dg filter call. Perhaps I'm just lucky then....
__________________
PC specs for bug reports: Intel Core i7-4790K @4Ghz Win10(Linux VM) PCI express NVIDIA RTX 2060 SUPER graphics card
http://twitter.com/cwebdesign
cweb is offline   Reply With Quote
Old 22nd August 2010, 13:32   #2447  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,389
You see me confused as well.

Documentation for SetMTmode says that you need to put it at the start of the script, because the number of threads is set and fixed only one time, when the script is initiated.
For source filters that don't play well with using multiple threads, the docu recommends to use mode 5 for the sourcefilter.

Hence, the generally-recommended structure for not-MT'able sourcefilters is

Code:
SetMTmode(5, threads)
SourceFilter()

SetMTmode(2)
other_filters
This generally works, e.g. with good old dgdecode_mpeg2source. But it seems to not work with DGDecodeNV. I got Vdub either crash, or go not responding anymore.

The following, however, seems to work:
Code:
DGMultiSource()

SetMTmode(2)
other_filters
That is running right now, and it's actually using all threads as specified. (And surprise, that's exactly what you told to try.)

My confusion is because this structure is not correct as per the documentation ... which is saying that one SetMTmode call must be present at the very start of the script.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 22nd August 2010, 13:35   #2448  |  Link
cweb
Registered User
 
cweb's Avatar
 
Join Date: Oct 2002
Location: The Pandorica
Posts: 527
This is what I put in my scripts usually:

SetMtMode(2,2)

video=dgmultisource("x.dgi")

It works for me on my dual core.
__________________
PC specs for bug reports: Intel Core i7-4790K @4Ghz Win10(Linux VM) PCI express NVIDIA RTX 2060 SUPER graphics card
http://twitter.com/cwebdesign
cweb is offline   Reply With Quote
Old 22nd August 2010, 13:35   #2449  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Thank you for the clarification, Didée. Can you try cweb's script?
Guest is offline   Reply With Quote
Old 22nd August 2010, 13:43   #2450  |  Link
cweb
Registered User
 
cweb's Avatar
 
Join Date: Oct 2002
Location: The Pandorica
Posts: 527
Quote:
Originally Posted by cweb View Post
This is what I put in my scripts usually:

SetMtMode(2,2)

video=dgmultisource("x.dgi")

It works for me on my dual core.
My full script (for MTS files) is quite complicated

Code:
#avisynth

SetMemoryMax(384)


LoadPlugin("c:\apps\avisynth2\plugins\nonautoload\agc.dll")
Import("c:\apps\avisynth2\plugins\avsi\dv.avsi") # for newundot()
Import("c:\apps\avisynth2\plugins\avsi\lremovedust.avsi")

Import("c:\apps\avisynth2\plugins\avsi\jdl-effects.avsi")
Import("c:\apps\avisynth2\plugins\avsi\jdl-range.avsi")
Import("c:\apps\avisynth2\plugins\avsi\limitedsharpenfaster.avsi")
Import("c:\apps\avisynth2\plugins\avsi\subtitleshadow.avsi")

LoadPlugin("c:\apps\avisynth2\plugins\transall\TransAll.dll") # transitions

SetMtMode(2,2)

video=dgmultisource("00010.dgi")

#zooming text stuff deleted



audio=nicac3source("00010 PID 1100 2_0ch 48KHz 192Kbps DELAY 0ms.ac3")




video=audiodub(video,audio)

video=video.SelectEven() 


#transitions are done here



#resize for youtube goes here

video=video.LRemoveDust_YV12(4,1) 


video
__________________
PC specs for bug reports: Intel Core i7-4790K @4Ghz Win10(Linux VM) PCI express NVIDIA RTX 2060 SUPER graphics card
http://twitter.com/cwebdesign

Last edited by cweb; 22nd August 2010 at 13:45.
cweb is offline   Reply With Quote
Old 22nd August 2010, 13:55   #2451  |  Link
crl2007
Registered User
 
Join Date: Nov 2007
Posts: 650
You have mail. But my problem is that I changed my network adapter and I can't access the licensing page to get a new license.

Last edited by crl2007; 22nd August 2010 at 14:09.
crl2007 is offline   Reply With Quote
Old 22nd August 2010, 13:59   #2452  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,389
cweb's variant seems to work, too. For some reason, it's specifically mode=5 in SetMTmode that makes problems; mode=2 seems to work fine.

Funny that the "potentially critical" mode works, and the "most-safe fallback" mode works not.


Edit:

However, this is only a sucess as far as "it doesn't crash". Looking closer, the speed (CPU utilization) seems to be worse, and by a lot so.

Like: SetMTmode(2,8) on a heavy duty scriptfunction - dgdecode: 35 fps - dgdecodeNV: 8 fps

This need closer investigation, but right now I have to leave for other things.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)

Last edited by Didée; 22nd August 2010 at 14:10.
Didée is offline   Reply With Quote
Old 22nd August 2010, 14:00   #2453  |  Link
crl2007
Registered User
 
Join Date: Nov 2007
Posts: 650
Nevermind the mail, tried just now and the licensing page loaded. I was able to get a new license after all. Thx for your reply.
crl2007 is offline   Reply With Quote
Old 22nd August 2010, 18:48   #2454  |  Link
Clumpco
Registered User
 
Clumpco's Avatar
 
Join Date: Sep 2006
Posts: 82
This may sound like a really stupid question, but is there an (easy) way to swap DGIndex for DGIndexNV in Gordian Knot and AutoGK?

Before you all jump on me, I am asking on behalf of a community where some users are not too technically savvy and can just about manage to fire up and run AutoGK. Is there an option that I have missed to get DGIndexNV to output a d2v file?

TIA
Clumpco is offline   Reply With Quote
Old 23rd August 2010, 01:01   #2455  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by Clumpco View Post
This may sound like a really stupid question, but is there an (easy) way to swap DGIndex for DGIndexNV in Gordian Knot and AutoGK?

Before you all jump on me, I am asking on behalf of a community where some users are not too technically savvy and can just about manage to fire up and run AutoGK. Is there an option that I have missed to get DGIndexNV to output a d2v file?
Why would I jump on you? You've been very helpful to me in the past by your testing and reporting of issues. You're the kind of guy I want to keep real happy.

You want DGIndexNV to output a D2V file? Hmm, that cannot be done as the formats are quite different. Hasn't anybobody gotten the DGNV tools to work with those programs? I would send manono a PM. He's my johnny on the spot for anything (A)GK. Anyway, if you make a D2V file, that would imply you want to use mpeg2source() (the DGMPGDec source filter). What would you gain from DGNV, given that indexing is not done on the GPU?

If DGNV can't be used with (A)GK, maybe you can wean your community friends onto a more recent, still supported tool, like MeGUI, that is known to work with the DGNV stuff.

Last edited by Guest; 23rd August 2010 at 01:05.
Guest is offline   Reply With Quote
Old 23rd August 2010, 02:12   #2456  |  Link
hydra3333
Registered User
 
Join Date: Oct 2009
Location: crow-land
Posts: 540
Quote:
Originally Posted by Didée View Post
However, this is only a sucess as far as "it doesn't crash". Looking closer, the speed (CPU utilization) seems to be worse, and by a lot so.

Like: SetMTmode(2,8) on a heavy duty scriptfunction - dgdecode: 35 fps - dgdecodeNV: 8 fps

This need closer investigation, but right now I have to leave for other things.
This result quite significantly devalues NV's usefulness for multi-core machines (almost all PCs nowadays) where multi-threading of hard-crunching avisynth scripts is the way forward... save some in decoding, unfortunately lose more by restriction to single-threading.

Last edited by hydra3333; 23rd August 2010 at 02:25. Reason: removed insane question
hydra3333 is offline   Reply With Quote
Old 23rd August 2010, 02:14   #2457  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by hydra3333 View Post
Neuron2, do you have an nvidia card to try this on ?
Nah, I just have ATI.

I'll try to find an NV card to test this.
Guest is offline   Reply With Quote
Old 23rd August 2010, 02:24   #2458  |  Link
hydra3333
Registered User
 
Join Date: Oct 2009
Location: crow-land
Posts: 540
Oh. Silly me. Just saw what I wrote. I plead insanity by way of constant harassment from 15yo daughter
hydra3333 is offline   Reply With Quote
Old 23rd August 2010, 02:45   #2459  |  Link
elguaxo
Registered User
 
elguaxo's Avatar
 
Join Date: Jun 2006
Posts: 260
Quote:
Originally Posted by hydra3333 View Post
This result quite significantly devalues NV's usefulness for multi-core machines (almost all PCs nowadays) where multi-threading of hard-crunching avisynth scripts is the way forward... save some in decoding, unfortunately lose more by restriction to single-threading.
You can still use MT just on the parts you want to multithread.
elguaxo is offline   Reply With Quote
Old 23rd August 2010, 03:26   #2460  |  Link
hydra3333
Registered User
 
Join Date: Oct 2009
Location: crow-land
Posts: 540
Well, yes, spatially, although not the temporal (and probably most useful) aspect per Didee's finding ... I suspect chopping up a frame into fragments for individual threading (which is what MT does) may not be all that happy a choice in a number circumstances.
hydra3333 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 19:03.


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