DGDecIM section

Anything related to video and my tools that is not a support request.
DAE avatar
AJR
Posts: 106
Joined: Mon Jan 06, 2014 10:40 am

DGDecIM section

Post 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?
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post 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.
User avatar
Selur
Posts: 134
Joined: Mon Nov 05, 2012 3:49 pm
Location: Germany
Contact:

Re: DGDecIM section

Post by Selur »

Just wanted to know if you have played with DGDecIM some more and if there is some kind of update :)
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post 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.
DAE avatar
AJR
Posts: 106
Joined: Mon Jan 06, 2014 10:40 am

Re: DGDecIM section

Post by AJR »

I would welcome GUI for DGDecIM like DGDecNV has.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post 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?
DAE avatar
AJR
Posts: 106
Joined: Mon Jan 06, 2014 10:40 am

Re: DGDecIM section

Post by AJR »

I am always cropping in dgdecnv window :) And this is the way I prefer.
DAE avatar
sparktank
Posts: 64
Joined: Thu Mar 28, 2013 5:24 pm
Location: Gotham City

Re: DGDecIM section

Post 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.
Nvidia GeForce GT 1030 | GPU Caps Viewer
Windows 10 Annversary (x64) | ASVPlus_x64
Region A/R1
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post 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-)
DAE avatar
WorBry
Posts: 9
Joined: Mon Feb 14, 2011 11:21 pm

Re: DGDecIM section

Post 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?
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post 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.
DAE avatar
WorBry
Posts: 9
Joined: Mon Feb 14, 2011 11:21 pm

Re: DGDecIM section

Post by WorBry »

Done. I see he's a forum member and have sent him a PM about it.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post by admin »

I don't know how often he visits here. You may want to PM him.
DAE avatar
WorBry
Posts: 9
Joined: Mon Feb 14, 2011 11:21 pm

Re: DGDecIM section

Post by WorBry »

Double done
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: DGDecIM section

Post 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
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post by admin »

Hi Zathor.

Yes, it is the same as DGDecNV and your list is correct.
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: DGDecIM section

Post 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.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post by admin »

Investigating...

I'll probably have to make an test build with more specific error messages.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post 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.
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: DGDecIM section

Post 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
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post 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.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post 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.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post by admin »

I went ahead and updated the 64-bit version. Your feedback on the changes will be appreciated.
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: DGDecIM section

Post 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.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDecIM section

Post 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.
Post Reply