View Full Version : DGDecIM: Frame-accurate Avisynth source filter for QuickSync
Pages :
1
2
[
3]
4
5
6
7
8
9
10
11
Guest
22nd February 2014, 03:14
I see. Investigating that...
EDIT: I know the reason. Thanks for pointing it out. Please standby for fixed version...
Guest
22nd February 2014, 04:44
OK, I slipstreamed the fix into beta 6 so please re-download it and test. Spaces in filenames should be OK. Needed to quote the arguments for CreateProcess().
lansing
22nd February 2014, 07:23
yes it's fixed, thanks.
And will one single index file work for both 32bit and 64bit version of the program in the future?
ryszardzonk
22nd February 2014, 09:32
I tried to use DGDecIM by placing it in the same directory I have located licensed DGIndexNV and DGAVCIndexDI, but when I open the file it spits out an error "Machine ID 9F9AB12C: Incorect options to DGIndex. Please refer to the manual." I would guess it should open just like other apps.
Hence I was not able to open DGDecIM I used DGAVCIndexDI (no nvidia card) to index the file for use in megui which opens just fine with DGAVCDecodeDI.dll plugin renamed to DGAVCDecodeNV.dll, but with new plugin with original name or as DGDecodeNV.dll megui was not able to to load the index giving the "Avisynth script error: DGSource: The input file is not a DG project file."
#LoadPlugin("C:\Program Files\MeGUI\tools\dgindexnv\DGDecodeNV.dll")
LoadPlugin("C:\Program Files\MeGUI\tools\dgindexnv\DGDecodeIM.dll")
#DGSource("D:\kodowanie\20140207 1633 - cz01.dgi",fieldop=0)
DGSource("D:\kodowanie\20140207 1633 - cz01.dgi",engine=0)
any hints?
Guest
22nd February 2014, 14:31
And will one single index file work for both 32bit and 64bit version of the program in the future? Yes, of course.
Guest
22nd February 2014, 14:37
I tried to use DGDecIM by placing it in the same directory I have located licensed DGIndexNV and DGAVCIndexDI, but when I open the file it spits out an error "Machine ID 9F9AB12C: Incorect options to DGIndex. Please refer to the manual." I would guess it should open just like other apps.
First get the licensing set-up. Get the machine ID as you have done and create a license (if you don't already have one for that machine). Then put the license file in the same directory as DGIndexIM.exe/DGDecodeIM.dll/libmftsw32.dll.
Now you have two options to make the index file:
1. Run dgindexim from a DOS window like this:
dgindexim -i file.264 -o file.dgi
Then make your script and reference the DGI file.
or...
2. Just make your script referencing the input stream (file.264) instead of the DGI file. Open the script. The index file will be created automatically.
-----
It's described in the Notes.txt document. Didn't you read it?
tormento
22nd February 2014, 20:22
Made some tests.
The initial launch gives me the following:
http://imagizer.imageshack.us/v2/150x100q90/713/3onb.png (https://imageshack.com/i/jt3onbp)
Pasted license.txt from DGDecNV dir ;)
The Intel engine works fine under VirtualDub, not so ok with MeGui, even with preview window disabled.
Under VirtualDub it doesn't work with MT AviSynth but I suppose it is normal for a beta ;)
Guest
23rd February 2014, 00:37
The initial launch gives me the following:
Working as designed. :)
Pasted license.txt from DGDecNV dir Good thinking!
The Intel engine works fine under VirtualDub, not so ok with MeGui, even with preview window disabled. Can you be more specific so I can follow up with Zathor? Thanks.
Under VirtualDub it doesn't work with MT AviSynth but I suppose it is normal for a beta ;) You've surely been here long enough to know that "it doesn't work" is not very useful as a trouble report.
Thanks for your testing. Additional details will be very helpful.
tormento
23rd February 2014, 01:47
Thanks for your testing. Additional details will be very helpful.
The CPU is a Sandy Bridge i7 2600K paired with a Geforce GTX 760.
The GT2 gpu was enabled with the appropriate switch on bios and attached to a fake monitor by control panel, thus giving me the opportunity to use both GPUs for testing.
The test file was a raw BD stream muxed into mkv.
Script follows:
loadplugin("D:\eseguibili\media\DGDecIM\dgdecodeim.dll")
dgsource("E:\bicicletta.dgi", engine=0) # uses Intel
It works perfectly under VirtualDub, single instance (no MT).
The same script crashes when loaded into plain MeGUI, even with preview window disabled (which has wicked seeking habits).
The same script crashes even under VirtualDub, when MTed, modified as follows (my usual encoding script):
SetMTMode(5)
SetMemoryMax(2048)
loadplugin("D:\eseguibili\media\DGDecIM\dgdecodeim.dll")
dgsource("E:\bicicletta.dgi", engine=0) # uses Intel
ChangeFPS(last,last,true)
SetMTMode(2)
SMDegrain (tr=4,PreFilter=2,thSAD=600,contrasharp=false,refinemotion=false,plane=4,chroma=true,lsb=true,mode=6)
If you'll tell me what to encode and how to help you, I'd be glad to.
MeteorRain
23rd February 2014, 04:48
Had a halt on a specific bluray m2ts file when testing with dgim.
DGDecodeNV_dgsource("testcut.dgi") // Good on #2046
DGDecodeIM_dgsource("testcut.dgi") // Halt on #b5&b6 when reading the first frame. VDM & avs4x264 was used to reproduce.
I have cut a 10s clip from the m2ts using tsRemuxer. https://copy.com/4fN3epxUyDJT
The dgi is generated by DGNV2046x32. No problem when decoding other m2ts in the same bluray disc, only this file fails.
EDIT: Later I found some other episodes with the same problem.
EDIT: Also tested on ver.b6
tormento
23rd February 2014, 09:39
Had a halt on a specific bluray m2ts file when testing with dgim.
Is that AVC or VC-1?
MeteorRain
23rd February 2014, 16:06
Is that AVC or VC-1?
Avc. You can download the test clip if you like.
It doesn't crash, but consume 100% CPU and just halt, not responding.
lansing
24th February 2014, 18:11
Tested with my concert blu-ray today, I extract the stream using megui and muk into mvk, and then created the index based on that. On preview in virtualdub, some time there are bad frames of green blocks and some garbage blocks.
Guest
24th February 2014, 19:29
@lansing
JPGs are of no use. If you want an issue looked at you have to give me the source stream that I can use to duplicate the issue. Thank you.
lansing
24th February 2014, 19:59
@lansing
JPGs are of no use. If you want an issue looked at you have to give me the source stream that I can use to duplicate the issue. Thank you.
I can't even duplicate it myself lol. This happen when I jump back and forth in the timeline in a short period of time, and then it will appear on some frame where there are scene change. But when I jump a little back from that location and start playing the video normally in virtualdub, the blocks were gone when it got to those frames.
Guest
24th February 2014, 20:13
Sure, but can't you give me a sample?
lansing
24th February 2014, 20:56
this one, 9 scene changes in 10 seconds:
test clip (http://www.mediafire.com/download/r5y2l7ne2e3jbgo/test_bad_decode.mkv)
yup
25th February 2014, 08:44
Hi neuron2!
I have same error even after paste license.txt from DGindixNV to directory with dgindexim.exe. I try make new license with id which show dgindexim.exe with the same result. On PC exist internal graphic from Intel and NVidia card.
Please advice.
yup.
http://imagizer.imageshack.us/v2/150x100q90/713/3onb.png (https://imageshack.com/i/jt3onbp)
kalehrl
25th February 2014, 09:33
It's a bit off topic, but the latest Intel drivers seem to have enabled QuickSync on Haswell Pentium and Celeron processors. :)
http://downloadmirror.intel.com/23639/eng/ReleaseNotes_GFX_3412_64.pdf
Now you can buy a $40 processor and get QuickSync.
Guest
25th February 2014, 15:57
Hi neuron2!
I have same error even after paste license.txt from DGindixNV to directory with dgindexim.exe. I try make new license with id which show dgindexim.exe with the same result. On PC exist internal graphic from Intel and NVidia card.
Please advice.
That is the designed behavior and that screenshot is normal, it doesn't mean your license is not working. You didn't give parameters to DGIndexIM. Did you try to index a file:
dgindexim -i file.264 -o file.dgi
Guest
25th February 2014, 17:39
Here is beta 7:
http://neuron2.net/misc/dgdecim_b7.zip
* Fixed auto cropping of 1088 -> 1080
* Fixed random access with pulldown streams
* Experimental frame rate improvement
I would be interested in your decode frame rates with beta 7 versus beta 6. Also we need to see if this causes any decoding issues, because I did something not quite kosher but for me it increases the decode frame rate somewhat.
I am addressing the other reported issues but plan to release lots of betas as we go along. :)
lansing
25th February 2014, 18:26
ran 15k frames in avsmeter,
beta 6 @ 12% iGPU
Number of frames: 116220
Length (hhh:mm:ss.ms): 001:04:37.874
Frame width: 1920
Frame height: 1088
Framerate: 29.970 (30000/1001)
Interlaced: No
Colorspace: YV12
Frames processed: 15540 (0 - 15539)
FPS (min | max | average): 112.4 | 339.0 | 272.9
CPU usage (average): 10%
Thread count: 39
Physical Memory usage (peak): 187 MB
Virtual Memory usage (peak): 338 MB
Time (elapsed): 000:00:56.947
beta 7 @ 10% iGPU
Number of frames: 116220
Length (hhh:mm:ss.ms): 001:04:37.874
Frame width: 1920
Frame height: 1080
Framerate: 29.970 (30000/1001)
Interlaced: No
Colorspace: YV12
Frames processed: 15480 (0 - 15479)
FPS (min | max | average): 94.50 | 345.1 | 227.6
CPU usage (average): 11%
Thread count: 36
Physical Memory usage (peak): 196 MB
Virtual Memory usage (peak): 347 MB
Time (elapsed): 000:01:07.999
UPDATE on newer beta7:
frame rate actually dropped.
frame height is correct, green screen gone.
Guest
25th February 2014, 18:37
Please re-download beta 7. I backed off on the aggressive fps increase, as it is causing decode issues. I replaced it with a less aggressive improvement that shouldn't cause issues. We'll see.
As I told you before, the coded height is correct. Are you saying that you still get the extra 8 lines displayed when serving the video? My testing shows them to be cropped off. For those streams you should have this in the DGI file:
CLIP 0 0 0 8
You'll have to regenerate your index file with the beta 7 indexer, or you can edit the existing DGI.
I fixed the beta number in both executables.
lansing
25th February 2014, 19:03
I updated my last post, see benchmark above.
qupfer
26th February 2014, 14:48
Hi,
it's a bit offtopic but hope to get help here ;)
I lost the overview about the different Index tools with their system requirements :D
I have a SandyBridge CPU on a P67 Board with a nVidia Video card.
Is it correct, that I can't use the QuickSync acceleration because my board (the chipset) doen't support the integrated graphic?
And I'm right with the assumption, that DGDecIM also include the nVida-acceleration-part? (not sure if i understand the first post in this topic correctly).
So I can use italternatively to DGindexNV?
And the last question. What is the most common way for a complete AMD based computer?
thanks
Guest
26th February 2014, 16:22
And I'm right with the assumption, that DGDecIM also include the nVida-acceleration-part? (not sure if i understand the first post in this topic correctly).
So I can use italternatively to DGindexNV? Yes, DGDecIM can use either QuickSync acceleration or SW decoding.
And the last question. What is the most common way for a complete AMD based computer? Keeping on topic, DGDecIM can be used in SW mode on an all-AMD system.
Guest
26th February 2014, 17:31
I have a troublesome 1080i MPEG-2 TS sample (http://www.sendspace.com/file/n3holw) for you.
...
The Intel engine will lock VD up when trying to step backward through the clip. To see this open the script in VD, jump to frame 125 (CTRL+G), and then press and hold down the left arrow on the keyboard. This is fixed in beta 7.
The Nvidia engine doesn't lock up, but won't decode the clip correctly when stepping backward either (DGDecNV does the same thing also). To see this change the engine in the script, open the script in VD, jump to frame 125 (CTRL+G), and then step backward to frame 103 (or earlier). Interesting. I will look into that issue with DGDecNV. It doesn't happen with DGDecIM.
The Intel engine and Nvidia engine don't return the same video. You can see this with the following script. Play/step to frame 24&25 and you'll see they're offset 1 frame from each other, yet both return 242 frames. FWIW, the Nvidia engine matches DGMPGDec with this test. I can't duplicate this with beta 7.
Guest
26th February 2014, 17:49
Regarding vc-1_hulk.m2ts:
It produces jerky playback and blended frames.
It works in plain DGDecNV, however there are few duplicated frames (hard telecined?) which cause some jerkyness, but no blended frames in DGDecNV. Using beta 7, I do not see any blended frames. There is pulldown, yes. Please point me to specific frame numbers if you still believe this is an issue.
You can set fieldop=2 if you don't want dgdecodeim to honor the pulldown. That will give you progressive frames but then AV sync may be something to consider.
Guest
26th February 2014, 18:09
this one, 9 scene changes in 10 seconds:
test clip (http://www.mediafire.com/download/r5y2l7ne2e3jbgo/test_bad_decode.mkv) Duplicated the problem. Thank you. Investigating...
Guest
26th February 2014, 18:10
Had a halt on a specific bluray m2ts file when testing with dgim. Duplicated the issue. Thank you. Investigating...
BTW, it works on the demuxed ES, so it should be easy to fix. Famous last words! :)
EDIT: Ha! It was easy. New beta coming shortly...
Guest
26th February 2014, 18:40
Here is beta 8. It fixes the hang reported by MeteorRain. I wasn't passing enough data to DecodeHeader().
http://neuron2.net/misc/dgdecim_b8.zip
Nico8583
26th February 2014, 20:20
Perhaps I have not seen but does DGDecIM already support H264, VC-1 and MPEG2 ?
Guest
26th February 2014, 20:24
Yes, it supports all the video and container types that are supported by DGDecNV: AVC, VC1, MPEG2, ES, PS, TS, MTS, M2TS, MP4, MKV.
Nico8583
26th February 2014, 20:41
Thanks, I'll try soon ;-) and all types are decoded with Intel Media ? Is it based on the same Intel Media SDK version than DGMVCSource ?
lansing
26th February 2014, 20:47
Encountered another problem, the program is not taking non English character in the file path. I have folders in another language and they're showing up as question marks.
Guest
26th February 2014, 21:15
and all types are decoded with Intel Media ? Is it based on the same Intel Media SDK version than DGMVCSource ? Yes, they are all decoded, and yes, it is the same SDK.
Just in case you are wondering, the SDK accepts only ES and I do all the necessary demuxing in the filter.
Guest
26th February 2014, 21:16
Encountered another problem, the program is not taking non English character in the file path. I have folders in another language and they're showing up as question marks. I don't support Unicode filenames.
Guest
26th February 2014, 21:17
Here is beta 9, which now works in MEGUI (with preview). The ultimate test. ;)
http://neuron2.net/misc/dgdecim_b9.zip
DarkSpace
26th February 2014, 21:39
I don't support Unicode filenames.
I'm curious: Why not?
Also, I look forward to software decoding... I never had a CUDA-capable card, and therefore could never even test DGDecNV.
Zathor
26th February 2014, 21:47
Here is beta 9, which now works in MEGUI (with preview). The ultimate test. ;) :o Thanks!
Nico8583
26th February 2014, 21:48
Thanks, I'll try and tell you :)
lansing
26th February 2014, 22:09
nvm, beta 9 doesn't exist the speed problem between loading the actual file and index file.
Guest
26th February 2014, 22:09
:o Thanks! I meant it positively! MEGUI's power and versatility is unmatched in my view, and that's one reason it is a great test vehicle for source filters. Any deficiencies are in the source filters. Due to its correctness and robustness, MEGUI is a very useful tool for finding problems in filters generally.
Nico8583
26th February 2014, 22:13
Could you provide an example licence file (name and content) ? I have my ID but I don't know how to create licence file.
Guest
26th February 2014, 22:14
I'm curious: Why not? It never rose high enough on my priority list, which is determined by number of people asking for it and my own personal preferences for how I want to spend my time.
Also, I look forward to software decoding... Carpe diem.
Guest
26th February 2014, 22:17
Could you provide an example licence file (name and content) ? I have my ID but I don't know how to create licence file. Did I send you an activation email? If so, it explains how to make the license. If not, then send me a PM with your email address and I will send an activation to you at that address.
Nico8583
26th February 2014, 22:19
Did I send you an activation email? If so, it explains how to make the license. If not, then send me a PM with your email address and I will send an activation to you at that address.
Ok thanks !
DarkSpace
26th February 2014, 22:48
It never rose high enough on my priority list, which is determined by number of people complaining and my own personal preferences for how I want to spend my time.
Thanks for the answer. Just for the record, I believe that Unicode support is nice to have.
Carpe diem.
I will, when (if) my laptop's BluRay drive decides to once again recognize when I insert a disc.
Another curious question: Will you actively support AviSynth+ (rather than having it passively supported because of AviSynth compatibility) or VapourSynth also? I searched the thread, but didn't find any mention of it.
asteri
26th February 2014, 23:37
@DarkSpace
AviSynth+ is compatible. I use it with x64 version of DGDecNV and also I have tested it with DGDecIM 32bit.
@all
I am little disapointed about the speed. I made real encoding test and results are follows. I encoded to 720p x264:
DGDecNV (x64) - encoded 75747 frames, 15.40 fps
DGDecIM (x32) - encoded 75747 frames, 12.35 fps
I know it is not fair compare x32 vs. x64 encoding process. But from previous tests I know x64 version is about 2-3fps faster than x32 encoding process. I can make conclusion that DGDecNV and DGDecIM have very similar speed. Any mistakes?
Tests were done on i7 4800MQ and nVidia Quadro K2100M and DGDecIM beta9.
Sharc
26th February 2014, 23:53
Regarding vc-1_hulk.m2ts:
Using beta 7, I do not see any blended frames. There is pulldown, yes. Please point me to specific frame numbers if you still believe this is an issue.
You can set fieldop=2 if you don't want dgdecodeim to honor the pulldown. That will give you progressive frames but then AV sync may be something to consider.
It looks to me like a butchered hybrid stream, i.e. interlaced for the interview segment and pulldown for the movie segment. Separate the fields and look for example field 179 (the hand), 383, 403, 485, 495 (all with blueish ghosts) to name but a few. It's the same for fieldop=2.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.