Page 1 of 3

DGDecIM section

Posted: Fri Aug 15, 2014 9:51 am
by AJR
Hello Donald,

I would like to ask you if you will going to continue developing DGDecIM. Some time elapsed, maybe Intel will help you with developing your tool now. Old thread on Doom9 is dead since you leave the forum and here is not any special section for DGDecIM. Maybe you could create special section for DGDecIM here?

Intel released in the end of April new SDK including new decoding library libmfxsw32.dll and libmfxsw64.dll . May I use it without any risk or should I stay using version of dll included in your original package?

Re: DGDecIM section

Posted: Fri Aug 15, 2014 11:17 am
by admin
Please use PM for personal inquiries. I have edited your post.

Intel has not supported me and I do not expect it to change. I can't do much more without some help from them. Unless it changes (I'll know that it has changed when they respond to my posts at their forum), development from my side is suspended, and so there seems little point to make a special section here.

But I may find time to play around and experiment further looking for ways to overcome the problems I've run into. If I discover anything on my own, then I'll surely make it available.

You should be able to use the latest DLLs although I have not tried them. Perhaps you could report here on your results.

Re: DGDecIM section

Posted: Sun Mar 15, 2015 11:58 am
by Selur
Just wanted to know if you have played with DGDecIM some more and if there is some kind of update :)

Re: DGDecIM section

Posted: Sun Mar 15, 2015 5:31 pm
by admin
Hi Selur!

Yes, in fact, I have been working on it. How did you know? :scratch: Intel support has suddenly materialized, definitely a good thing, for which we should be thankful. I have implemented double-rate deinterlacing (which looks very nice) and a few bug fixes. Is there something specific you'd like to have before I release a new beta? I would like to implement GPU cropping, resizing, denoising, IVTC, etc.

Re: DGDecIM section

Posted: Mon Mar 16, 2015 8:06 am
by AJR
I would welcome GUI for DGDecIM like DGDecNV has.

Re: DGDecIM section

Posted: Mon Mar 16, 2015 9:02 am
by admin
As a GUI would be a large development effort, can you tell me specifically what valuable functionality you seek in a GUI that you can't get by simply loading your script in (say) Avspmod or VirtualDub?

Re: DGDecIM section

Posted: Mon Mar 16, 2015 9:27 am
by AJR
I am always cropping in dgdecnv window :) And this is the way I prefer.

Re: DGDecIM section

Posted: Tue Mar 17, 2015 7:05 pm
by sparktank
admin wrote:Yes, in fact, I have been working on it.
This is good news!
I can revive me old laptop.
Very dated, though. I can't remember what HDG it uses.
I thik 2500.

My desktop has integrated Intel.
Though I don't use it since I upgraded video card to NVidia.

But, this still is a nice thing to look into for me old laptop.

Re: DGDecIM section

Posted: Tue Mar 17, 2015 8:55 pm
by admin
Well, sparktank, as a veteran who has helped us in the past, you just know I'll be looking out for you. 8-)

Re: DGDecIM section

Posted: Mon Apr 20, 2015 7:28 pm
by WorBry
Great news that the project has now been re-activated! GUI or not, what I'd really like to see at some point is the MeGUI developers include it in the AVS Script Creator file indexing options. I guess that would come with a formal release version?

Re: DGDecIM section

Posted: Mon Apr 20, 2015 8:37 pm
by admin
WorBry wrote:Great news that the project has now been re-activated! GUI or not, what I'd really like to see at some point is the MeGUI developers include it in the AVS Script Creator file indexing options. I guess that would come with a formal release version?
beta 50 is highly stable and quite suitable for integration into MeGUI. Somebody just has to ask Zathor about it.

Re: DGDecIM section

Posted: Tue Apr 21, 2015 10:24 pm
by WorBry
Done. I see he's a forum member and have sent him a PM about it.

Re: DGDecIM section

Posted: Wed Apr 22, 2015 5:08 am
by admin
I don't know how often he visits here. You may want to PM him.

Re: DGDecIM section

Posted: Wed Apr 22, 2015 6:20 am
by WorBry
Double done

Re: DGDecIM section

Posted: Wed Apr 22, 2015 4:04 pm
by Zathor
OK, I will have a look at it.

What kind of containers / codecs / formats are supported? Same as with DGDecodeNV? Or more/less?
Is this list of file types correct? *.264;*.h264;*.avc;*.m2v;*.mpv;*.vc1;*.mkv;*.vob;*.mp4;*.mpg;*.mpeg;*.m2t;*.m2ts;*.mts;*.tp;*.ts;*.trp

Re: DGDecIM section

Posted: Thu Apr 23, 2015 5:53 am
by admin
Hi Zathor.

Yes, it is the same as DGDecNV and your list is correct.

Re: DGDecIM section

Posted: Thu Apr 23, 2015 2:46 pm
by Zathor
Hello Donald,

Thanks!

I hope I do not hijack this thread. If yes please move my post.
I played a little bit around with DGDecIM but I cannot get it to work at all. Independent of the engine mode (0,1,2 and none) it fails with "Pipeline init failed. Specified decode engine not available". I use an nVidia card as primary device and in the device manager I cannot see the Intel card at all, but that should only be a problem for the HW mode and SW mode should work in any case. Am I wrong here? I am happy to provide more details if required.
EDIT: DGMVCDecode works without any problems on this machine (auto detect = without hw parameter). I tested it with the same file in all indexers (for sure the file is a 2D file and e.g. DGIndexNV can open it).

Is it possible to hide somehow the indexing popup e.g. with a parameter in the filter? Btw it is great that the indexing is done automatically.

Re: DGDecIM section

Posted: Thu Apr 23, 2015 3:56 pm
by admin
Investigating...

I'll probably have to make an test build with more specific error messages.

Re: DGDecIM section

Posted: Thu Apr 23, 2015 6:32 pm
by admin
OK, please re-download b50 and use the updated 32-bit dgdecodeim.dll.

Explicitly request SW mode with engine=2. Use Dbgview to capture the OutputDebugString() output and then post the result.

Thank you. Feature requests we can deal with later.

Re: DGDecIM section

Posted: Fri Apr 24, 2015 11:50 am
by Zathor
engine=2 works now! But not without the parameter at all or engine=0:

[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=3, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=3, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=3, lpReserved=0x00000000, gRefCnt = 4
[8592] 05373A50->CAVIStreamSynth::QueryInterface() (video) {00020022-0000-0000-c000-000000000046} (IAVIStreaming)
[8592] 05373A50->CAVIStreamSynth::AddRef() (video) gRefCnt=5, m_refs=2
[8592] 05373A50->CAVIStreamSynth::End() (video)
[8592] 05373A50->CAVIStreamSynth::Release() (video) gRefCnt=4, m_refs=1
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=3, lpReserved=0x00000000, gRefCnt = 4
[8592] 05373A50->CAVIStreamSynth::Release() (video) gRefCnt=3, m_refs=0
[8592] 05373A50->~CAVIStreamSynth() (video), gRefCnt = 3
[8592] 00859978->CAVIFileSynth::Release() gRefCnt=2, m_refs=2
[8592] 00859978->CAVIFileSynth::Release() gRefCnt=1, m_refs=1
[8592] 00859978->CAVIFileSynth::Release() gRefCnt=0, m_refs=0
[8592] 00859978->CAVIFileSynth::~CAVIFileSynth(), gRefCnt = 0
[8592] DllGetClassObject() CLSID: CAVIFileSynth
[8592] 00859978->CAVIFileSynth::CAVIFileSynth()
[8592] 00859978->CAVIFileSynth::AddRef() gRefCnt=1, m_refs=1
[8592] 00859978->CAVIFileSynth::QueryInterface() {00000001-0000-0000-c000-000000000046} (IClassFactory)
[8592] 00859978->CAVIFileSynth::AddRef() gRefCnt=2, m_refs=2
[8592] 00859978->CAVIFileSynth::Release() gRefCnt=1, m_refs=1
[8592] DllGetClassObject() result=0x0, object=00859980
[8592] 00859978->CAVIFileSynth::CreateInstance()
[8592] 008597C8->CAVIFileSynth::CAVIFileSynth()
[8592] 008597C8->CAVIFileSynth::AddRef() gRefCnt=2, m_refs=1
[8592] 008597C8->CAVIFileSynth::QueryInterface() {00000000-0000-0000-c000-000000000046} (IUnknown)
[8592] 008597C8->CAVIFileSynth::AddRef() gRefCnt=3, m_refs=2
[8592] 008597C8->CAVIFileSynth::Release() gRefCnt=2, m_refs=1
[8592] 00859978->CAVIFileSynth::CreateInstance() result=0x0, object=008597C8
[8592] 00859978->CAVIFileSynth::Release() gRefCnt=1, m_refs=0
[8592] 00859978->CAVIFileSynth::~CAVIFileSynth(), gRefCnt = 1
[8592] 008597C8->CAVIFileSynth::QueryInterface() {00020025-0000-0000-c000-000000000046} (unsupported!)
[8592] 008597C8->CAVIFileSynth::QueryInterface() {0000010b-0000-0000-c000-000000000046} (IPersistFile)
[8592] 008597C8->CAVIFileSynth::AddRef() gRefCnt=2, m_refs=2
[8592] 008597C8->CAVIFileSynth::QueryInterface() {00020020-0000-0000-c000-000000000046} (IAVIFile)
[8592] 008597C8->CAVIFileSynth::AddRef() gRefCnt=3, m_refs=3
[8592] 008597C8->CAVIFileSynth::Load("D:\MeGUI\_SAMPLE_VIDEOS\test.avs", 0x0)
[8592] 008597C8->CAVIFileSynth::Release() gRefCnt=2, m_refs=2
[8592] 008597C8->CAVIFileSynth::Release() gRefCnt=1, m_refs=1
[8592] 008597C8->CAVIFileSynth::QueryInterface() {e6d6b708-124d-11d4-86f3-db80afd98778} (IAvisynthClipInfo)
[8592] 008597C8->CAVIFileSynth::AddRef() gRefCnt=2, m_refs=2
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 2
[8592] 008597C8->CAVIFileSynth::GetStream(*, 73647561(auds), 0)
[8592] 008597C8->CAVIFileSynth::GetStream(*, 73766169(iavs), 0)
[8592] 008597C8->CAVIFileSynth::GetStream(*, 73646976(vids), 0)
[8592] 05373770->CAVIStreamSynth(video)
[8592] 05373770->CAVIStreamSynth::AddRef() (video) gRefCnt=3, m_refs=1
[8592] 008597C8->CAVIFileSynth::AddRef() gRefCnt=4, m_refs=3
[8592] 05373770->CAVIStreamSynth::Info(0018F96C, 204) (video)
[8592] 05373770->CAVIStreamSynth::ReadFormat() (video)
[8592] 05373770->CAVIStreamSynth::ReadFormat() (video)
[8592] 05373770->CAVIStreamSynth::Info(0018FA00, 204) (video)
[8592] 05373770->CAVIStreamSynth::Info(0018F9F8, 204) (video)
[8592] 05373770->CAVIStreamSynth::Info(0018F9F8, 204) (video)
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=3, lpReserved=0x00000000, gRefCnt = 4
[8592] 05373770->CAVIStreamSynth::QueryInterface() (video) {00020022-0000-0000-c000-000000000046} (IAVIStreaming)
[8592] 05373770->CAVIStreamSynth::AddRef() (video) gRefCnt=5, m_refs=2
[8592] 05373770->CAVIStreamSynth::Begin(0, 3390, 2000) (video)
[8592] 05373770->CAVIStreamSynth::Release() (video) gRefCnt=4, m_refs=1
[8592] DGDecodeIM: session init failed (-3)
[8592] DllMain: hModule=0x10000000, ulReason=3, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4

Successful call with engine=2:

[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=3, lpReserved=0x00000000, gRefCnt = 4
[8592] 05373730->CAVIStreamSynth::QueryInterface() (video) {00020022-0000-0000-c000-000000000046} (IAVIStreaming)
[8592] 05373730->CAVIStreamSynth::AddRef() (video) gRefCnt=5, m_refs=2
[8592] 05373730->CAVIStreamSynth::End() (video)
[8592] 05373730->CAVIStreamSynth::Release() (video) gRefCnt=4, m_refs=1
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=3, lpReserved=0x00000000, gRefCnt = 4
[8592] 05373730->CAVIStreamSynth::Release() (video) gRefCnt=3, m_refs=0
[8592] 05373730->~CAVIStreamSynth() (video), gRefCnt = 3
[8592] 00859540->CAVIFileSynth::Release() gRefCnt=2, m_refs=2
[8592] 00859540->CAVIFileSynth::Release() gRefCnt=1, m_refs=1
[8592] 00859540->CAVIFileSynth::Release() gRefCnt=0, m_refs=0
[8592] 00859540->CAVIFileSynth::~CAVIFileSynth(), gRefCnt = 0
[8592] DllGetClassObject() CLSID: CAVIFileSynth
[8592] 00859738->CAVIFileSynth::CAVIFileSynth()
[8592] 00859738->CAVIFileSynth::AddRef() gRefCnt=1, m_refs=1
[8592] 00859738->CAVIFileSynth::QueryInterface() {00000001-0000-0000-c000-000000000046} (IClassFactory)
[8592] 00859738->CAVIFileSynth::AddRef() gRefCnt=2, m_refs=2
[8592] 00859738->CAVIFileSynth::Release() gRefCnt=1, m_refs=1
[8592] DllGetClassObject() result=0x0, object=00859740
[8592] 00859738->CAVIFileSynth::CreateInstance()
[8592] 008599C0->CAVIFileSynth::CAVIFileSynth()
[8592] 008599C0->CAVIFileSynth::AddRef() gRefCnt=2, m_refs=1
[8592] 008599C0->CAVIFileSynth::QueryInterface() {00000000-0000-0000-c000-000000000046} (IUnknown)
[8592] 008599C0->CAVIFileSynth::AddRef() gRefCnt=3, m_refs=2
[8592] 008599C0->CAVIFileSynth::Release() gRefCnt=2, m_refs=1
[8592] 00859738->CAVIFileSynth::CreateInstance() result=0x0, object=008599C0
[8592] 00859738->CAVIFileSynth::Release() gRefCnt=1, m_refs=0
[8592] 00859738->CAVIFileSynth::~CAVIFileSynth(), gRefCnt = 1
[8592] 008599C0->CAVIFileSynth::QueryInterface() {00020025-0000-0000-c000-000000000046} (unsupported!)
[8592] 008599C0->CAVIFileSynth::QueryInterface() {0000010b-0000-0000-c000-000000000046} (IPersistFile)
[8592] 008599C0->CAVIFileSynth::AddRef() gRefCnt=2, m_refs=2
[8592] 008599C0->CAVIFileSynth::QueryInterface() {00020020-0000-0000-c000-000000000046} (IAVIFile)
[8592] 008599C0->CAVIFileSynth::AddRef() gRefCnt=3, m_refs=3
[8592] 008599C0->CAVIFileSynth::Load("D:\MeGUI\_SAMPLE_VIDEOS\test.avs", 0x0)
[8592] 008599C0->CAVIFileSynth::Release() gRefCnt=2, m_refs=2
[8592] 008599C0->CAVIFileSynth::Release() gRefCnt=1, m_refs=1
[8592] 008599C0->CAVIFileSynth::QueryInterface() {e6d6b708-124d-11d4-86f3-db80afd98778} (IAvisynthClipInfo)
[8592] 008599C0->CAVIFileSynth::AddRef() gRefCnt=2, m_refs=2
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 2
[8592] 008599C0->CAVIFileSynth::GetStream(*, 73647561(auds), 0)
[8592] DGDecodeIM: requesting SW mode
[8592] 008599C0->CAVIFileSynth::GetStream(*, 73766169(iavs), 0)
[8592] 008599C0->CAVIFileSynth::GetStream(*, 73646976(vids), 0)
[8592] 053739B0->CAVIStreamSynth(video)
[8592] 053739B0->CAVIStreamSynth::AddRef() (video) gRefCnt=3, m_refs=1
[8592] 008599C0->CAVIFileSynth::AddRef() gRefCnt=4, m_refs=3
[8592] 053739B0->CAVIStreamSynth::Info(0018F96C, 204) (video)
[8592] 053739B0->CAVIStreamSynth::ReadFormat() (video)
[8592] 053739B0->CAVIStreamSynth::ReadFormat() (video)
[8592] 053739B0->CAVIStreamSynth::Info(0018FA00, 204) (video)
[8592] 053739B0->CAVIStreamSynth::Info(0018F9F8, 204) (video)
[8592] 053739B0->CAVIStreamSynth::Info(0018F9F8, 204) (video)
[8592] 053739B0->CAVIStreamSynth::QueryInterface() (video) {00020022-0000-0000-c000-000000000046} (IAVIStreaming)
[8592] 053739B0->CAVIStreamSynth::AddRef() (video) gRefCnt=5, m_refs=2
[8592] 053739B0->CAVIStreamSynth::Begin(0, 3390, 2000) (video)
[8592] 053739B0->CAVIStreamSynth::Release() (video) gRefCnt=4, m_refs=1
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=2, lpReserved=0x00000000, gRefCnt = 4
[8592] DllMain: hModule=0x10000000, ulReason=3, lpReserved=0x00000000, gRefCnt = 4

Re: DGDecIM section

Posted: Fri Apr 24, 2015 12:25 pm
by admin
Thanks for the results, Zathor! I will make it fall back to SW if HW is not available, although I thought I had coded it that way. :oops: Could well be a
:bug:

Also, I will make a version with the ability to suppress the pop-up as you requested.

Re: DGDecIM section

Posted: Fri Apr 24, 2015 1:05 pm
by admin
Zathor, please re-download b50 and update dgdecodeim.dll.

You should find that it works for engine=0, engine=2, or engine not specified, but not for engine=1 (because you do not have appropriate HW).

To suppress the popup, include silent=true on the filter parameters.

If you advise that things are working, I will update the 64-bit version as well.

Re: DGDecIM section

Posted: Mon Apr 27, 2015 12:05 pm
by admin
I went ahead and updated the 64-bit version. Your feedback on the changes will be appreciated.

Re: DGDecIM section

Posted: Tue Apr 28, 2015 4:05 pm
by Zathor
admin wrote:Zathor, please re-download b50 and update dgdecodeim.dll.
You should find that it works for engine=0, engine=2, or engine not specified, but not for engine=1 (because you do not have appropriate HW).
Yes, it works now without engine specified and with engine=0 :D Thanks!
admin wrote:To suppress the popup, include silent=true on the filter parameters.
Sadly this does not work :oops:
I have tried it e.g. with

Code: Select all

DGSourceIM("D:\MeGUI\_SAMPLE_VIDEOS\test.h264", engine=0, silent=true)
Btw is this message box a functionality of the exe or the dll as only the dll is renewed in the zip file.

Re: DGDecIM section

Posted: Tue Apr 28, 2015 5:13 pm
by admin
Thanks for the testing, Zathor.

Hmm, that's funny that silent=true isn't working. I'll look into that right away.

It's a function of the DLL.