View Single Post
Old 21st September 2008, 23:45   #271  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Thanks, Pookie, I'll have a look at it. I can always rely on you for good trouble reports giving me everything I need to duplicate it without me having to ask!

On another front... Woo hoo! I have multi instance working. And it supports interleaving from different processes, too, not just serialized (most of the GUIs are serial, however, and I can't vouch for the performance if you do interleaved access). I tested it in 2-pass HCEnc, which went mammary glands up before (gotta watch out for rule 4, doncha know). New package coming tonight or tomorrow then.

What I did was move all CUDA code and variables into the filter instance DGAVCDecoder object. Then each new filter instance starts up an entire complete new CUDA instance. CUDA already manages context switching between threads. I can open a script in two instances of VirtualDub and step and seek independently without them interfering with each other. I was shocked to see CUDA managing that without me having to explicitly push/pop contexts, but hey, no complaints from me.

I also did it for DGAVCIndexNV, so that you can open multiple DGAVCIndexNV instances at once if you so desire, although I don't see much reason for that.

Last edited by Guest; 22nd September 2008 at 00:05.
Guest is offline