[RESOLVED] MPLS: CLI parsing

Support forum for DGDecNV
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

1. The MPLS structure has a size of 30GB and I am not using an SSD. So indexing takes ~10min without any progress.
I tested it now also with a MKV file (~20GB in size) and I also do not get a progress. DGDecIM does show progress with both files.

2. I do have all files in one directory :(
Also again with DGDecIM no problem.

3/4: Thanks!
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

OK, thanks, that's very strange. Going out for a few hours and I'll resume when I get back.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

What OS are you on?
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

No need to rush. I will run a few additional tests and also take a break. I noticed at least the issue regarding the progress is on my end. I run several tests in parallel and the HD was too slow so that it seems it took a few minutes to get the first progress. I will run some tests later when no other activity is on the drives. I am sorry for the problems this may have caused :oops:

The bad license however is still there :-(
Maybe a more specific error message would help a bit? Nothing which would help with an illegal use, but maybe something like: "bad license: c:\tools\dgindexnv\license.txt not found" or "bad license: no proper license code available" if the file is available but empty / with wrong values.

I am on W10 1709 Professional x64.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

I'll consider that.

But it should be fine. Make absolutely sure you have the new DGDecodeNV.dll and you are not picking up some old version from the plugin dir or something.

Really stepping out now. :-)
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

Progress:
I made now two tests while no other activity was on the disks. Both tests with my original MPLS test case (but now with lower case) (with and without -a):
DGIndexNV: indexing took ~10min, no progress information written
DGIndexIM: indexing took ~10min, progress information written after ~10sec

Second test done with a MKV file:
DGIndexNV: indexing took ~1min, progress information written after ~2-3sec
DGIndexIM: indexing took ~1min, progress information written after ~2-3sec

License:
I am using a portable AviSynth which is not installed = no plugin dir with autoload available.
DGIndexNV.exe, DGDecodeNV.dll and license.txt are available in the same folder and do have a date from today.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

That's very strange because a) downloaded DLL works fine for me, and 2) the only thing that changed for DGDecodeNV.dll was gui.rc that gives the slipstream number.

I'm going to prepare a debug build for you but it has to be private between us so I will use PM to communicate from now on.

Please triple-check that you are not doing something unusual. And can I see your script?

Anybody else having problems with DGDecodeNV.dll in slipstream 117?

We'll address the progress stuff after we get this sorted out.
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

I will triple-check it tomorrow. I will also install AviSynth to check if this has something to do with it. My script is really simple:

Code: Select all

LoadPlugin("D:\MeGUI\tools\dgindexnv\DGDecodeNV.dll")
DGSource("D:\TEMP\00800.dgi",fieldop=0)
Also I will try older versions of dgindexnv to maybe see where the problem starts. After my downgrade to the slipstream before the one from today it worked once and since then it does also not work. I fear that there may be an stupid issue on my end, but I already double checked that license.txt is the same (made a copy) in the dginddexnv and dgindexim folder and that all files are there.
Triple-check to be done after sleep.
DAE avatar
Guest

Re: MPLS: CLI parsing

Post by Guest »

Anybody else having problems with DGDecodeNV.dll in slipstream 117?
Just tried it on a mpls and its working fine
64 bit version
Progress being shown on the command prompt window, up to 90% now
dgi file looks normal

Edit
Just completed
Edit 2
Reran test and had DGIndexNV create an AVS file
Played fine in VDub
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

"Bad license":
I think I found the root cause or at least a way to reproduce it. If I run MeGUI in Visual Studio debug mode, it will show a bad license. If I run the same MeGUI debug build directly (so not with Visual Studio) I do not get the bad license message and video is shown fine. If this is an intended "tampering protection" it is fine, if it is not intended it would be great if it can be removed so that I can test things with MeGUI in that mode as I have to use Visual Studio for debugging purposes.

I tried various older builds of dgdecodenv (always including a recreate of the dgi file with the proper dgindexnv). Result is that b2052 (dated 4th of december 16) did work with visual studio and since b2053 (dated 10th of march 17) it does not work. I do not have any other slipstreams between those dates available to test.
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

"Stalled process":
It happened once again. This time I saw in the task manager that there is below the dgindexnv process also a related "audio detection mismatch" process. But I was not able to find that window (double click in task manager usually brings the window to the front) so it seems that it was hidden. I have now to check if MeGUI hides that window (it should not as I have already seen it several times in the past). Workaround is to implement the "ResponseOnAudioMismatch" in the ini. ==> only a to-do on my side but FYI as well
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

Progress report:
Root cause found (sort of at least). If there is no dgindexnv.ini available I always get the progress report. If the default ini is available (only started dgindexnv.exe once and close it without changes) I do not get a progress report for any of my test files.

It seems to be related to "StrictAVC=0" - as soon as I remove that line I do get a progress.
EDIT: StrictAVC=1 is also not working

Btw. if the INI file is empty the process will crash and also dgindexnv.exe cannot be started:
0xC0000409 STATUS_STACK_BUFFER_OVERRUN (-1073740791)
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

Bad license: Yes, there is code to detect a debugger (used as an anti-crack method). If it is causing problems you can't work around then let me know and I can provide a special build for you without that check.

Stall: I have never seen a popup-window get hidden or covered so am thinking it is something MEGUI-related. In any case, the INI change should avoid it.

Progress: I checked the handling of StrictAVC and it looks irrelevant to progress reporting. Can you delete your INI file, then open and close DGIndexNV? That should re-create a default INI file. Use that one. If the issue still happens we can go from there. Please test both without MEGUI and through MEGUI. I had no problems getting progress with the INI file present, nor did gonca.
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

Bad license & stall: thanks for you help, in my eyes both issues can be closed.

Progress:
I used this command line for all the tests without MeGUI (= in a cmd prompt):

Code: Select all

"D:\MeGUI\tools\dgindexnv\dgindexnv.exe" -i "D:\test.mkv" -o "D:\test.dgi" -h
1. I deleted the dgindex.nv.ini, command started
Result: progress shown
And... dgindexnv.ini created at 100% automatically

2. command started again with the dgindexnv.ini created before
Result: no progress

3. I deleted dgindexnv.ini again, started dgindexnv.exe, waited ~5sec, closed it. dgindexnv.ini now available, command started again
Result: no progress

4. I removed the line "StrictAVC=0" in the ini, command started again
Result: progress shown
And ... StrictAVC=0 available again in the ini

5. run command again
Result: no progress
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

Here is my full ini:

Code: Select all

Version=
Window_Position=870,284
Info_Window_Position=100,100
Process_Priority=2
Playback_Speed=3
AVS_Template_Folder=
AVS_Template_File=template.avs
AVS_Template_File_Index=0
AVS_Enable_Template=1
AVS_Overwrite=0
Full_Path_In_Files=1
MRUList[0]=D:\test.mkv
MRUList[1]=
MRUList[2]=
MRUList[3]=
Enable_Info_Log=1
Loop_Playback=0
AVC_Extension=264
MPG_Extension=m2v
VC1_Extension=vc1
HEVC_Extension=265
Deinterlace=0
UsePF=0
AlwaysCrop=1
UseD3D=0
Snapped=0
ResponseOnAudioMismatch=0
Enable_Audio_Demux=1
CUDA_Device=255
Decode_Modes=0,0,0,0
Full_Info=1
Bare_Demux=0
Disable_Encrypted_Audio_Warning=0
Fine_Cropping=0
Force_Zoom=0
StrictAVC=0

User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

Weird. I couldn't make it happen but then I remembered you are using 32-bit. So when I tried with 32-bit I am seeing the problem. Strange it would only fail with 32-bit. Firing up the debugger...
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

OK, re-download 117 and the problem should be fixed. I was sscanf'ing a %d into a bool (strict_avc) and apparently that works in 64-bit but not 32-bit. In 32-bit it was overwriting an adjacent variable that controls progress reporting. Changed the variable to an int and all is well.

Thanks for bringing these matters to light and for helping to debug them. :hat:
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

Thank you very much! I tested the scenario from above and everything works now as expected :hat:
If related may I ask you to please slipstream those two things (progress and MPLS upper case) also into DGDecodeIM?
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

Sure, I will take care of that now. Note that DGDecIM does not have the strict_avc option.
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

Thank you very much! If I may raise one last point :oops:

In the DGI file in line 4 (EDIT: Nevermind, it is always 4 for NV and IM) the path to the indexed file is written. Sometimes not the full path is used but a relative one. Can this be changed to be always the full path? If not it is not an issue for me, I only have to adjust my program.

EDIT2:
Scenario:
d:\temp1\test.mkv
d:\temp2\test.dgi

line4 will read:
..\temp1\test.mkv
instead of:
d:\temp1\test.mkv
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

There's an INI file option to enable it: Full_Path_In_Files=1. It is enabled by default for a new INI file.

It should be working fine, please advise if not.
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

Yes, indeed. I should read the help first :wow:

If I delete the ini and have it created again by the GUI it is "Full_Path_In_Files=1".
However in order to set "ResponseOnAudioMismatch=1" for the very first start I write if no ini is found a new ini only with this line. If this ini is parsed with a CLI command at the end of the indexing a new INI will be written which contains "Full_Path_In_Files=0". Not sure if this is advised at all what I am doing...

EDIT: While comparing an INI file which has been created by CLI based on the INI with my one line and a proper INI created by the GUI these lines have a different value (values from my "CLI" INI):

Code: Select all

Window_Position=0,0
Info_Window_Position=0,0
Process_Priority=0
Playback_Speed=0
AVS_Template_Folder=1
AVS_Template_File=
AVS_Enable_Template=0
Full_Path_In_Files=0
Enable_Info_Log=0
HEVC_Extension=hevc
AlwaysCrop=0
Enable_Audio_Demux=0
CUDA_Device=0
Full_Info=0
EDIT2: And I noticed that writing only "ResponseOnAudioMismatch=1" in the ini will still popup the dialogue. So it is not detected as proper ini. I have to write therefore everything. So the issue above is not valid anymore (except you want to change the ini read procedure).
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

The INI file has to have all its entries and in the proper order.

Is there anything I need to do?
DAE avatar
Zathor
Posts: 94
Joined: Sun Nov 28, 2010 5:06 am

Re: MPLS: CLI parsing

Post by Zathor »

No, thanks. I have now written the complete ini file with all its default values and it is working fine. :)
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: MPLS: CLI parsing

Post by admin »

Sweet, then I'll mark this resolved.
Post Reply