Log in

View Full Version : DGDecIM: Frame-accurate Avisynth source filter for QuickSync


Pages : 1 2 3 4 5 6 7 8 [9] 10 11

RedDwarf1
2nd April 2014, 23:37
Out of curiosity, after the recent setbacks due to Intel's lack of cooperation, is it safe to conclude that this project is dead in the water? After reading rumors about Maxwell high end parts being delayed to next year, I'm thinking about finally getting that GTX 750Ti :(

The Maxwell GPU's do sound very promising indeed. I particularly like the power saving features that they introduce and that feature alone makes them far more interesting to me than everything else combined.

Quicksync slow de-interlacing has meant that I have largely lost interest in it because broadcast TV is what I deal with most rather than bluray. I don't intend upgrading yet again so quickly for what would be very little benefit judging by the de-interlace performance with the 4770. For me, maxwell sounds like where I am headed. I would however prefer a single slot card.

Guest
3rd April 2014, 14:26
i've been testing dgindexim out and i've notice one option that isn't there nor does it do it by default which is shocking
it seems if you make a dgi file it doesn't exit on its own at all even with any of the commands that i know of, the only way to do this is ctrl c or killing the app. it would nice to have this option back as its kind of unusable to a point. i've tryed these for the cmds:

DGIndexIM.exe -i test.ts -o testing.dgi
DGIndexIM.exe -i test.ts -o testing.dgi -e
DGIndexIM.exe -i test.ts -o testing.dgi -a -e

please fix this minor issue i've also notice this a few times but its still the same in beta 19 I received this report via PM. Everybody, please use the thread and not PM for bug reports. I'll look into this now.

EDIT: I cannot reproduce this. Maybe your stream has a problem. Does it happen with all streams for you?

Guest
3rd April 2014, 14:38
WorBry asked me about audio demuxing. I thought that it should be working via the CLI, i.e., when you run dgindexim manually. The options are described in the DGIndexNV manual. I will test this also now.

cegy
3rd April 2014, 14:59
I received this report via PM. Everybody, please use the thread and not PM for bug reports. I'll look into this now.

EDIT: I cannot reproduce this. Maybe your stream has a problem. Does it happen with all streams for you?

i think i've found the problem if you make a index file via cmd it won't exit yet if you did it by a basic batch file it does exit which is very odd also you can't demux the audio using -a :(

Guest
3rd April 2014, 15:19
i think i've found the problem if you make a index file via cmd it won't exit yet if you did it by a basic batch file it does exit which is very odd also you can't demux the audio using -a :( It exits in all cases for me. If you still have an issue, I can make a debug load for you. Also, what is your OS and how do you start your command window? It should be cmd.exe. Anybody else seeing this?

A note that may explain what is happening: When the command finishes, you won't see a new command window prompt unless you hit return. The process did end, however.

Audio demux is addressed in b20 (see next post).

Guest
3rd April 2014, 15:23
Here is beta 20. It sets Enable_Audio_Demux=1 in the INI file by default. You have to either change it manually in your existing INI file, or delete your INI file and let a new one be created. Also, DGSourceIM() when given a stream as input will automatically set -a (audio demux) for the indexer. Finally, the progress report to the console now prints with a \r instead of a \n.

http://neuron2.net/misc/dgdecim_b20.zip

cegy
3rd April 2014, 16:14
It exits in all cases for me. If you still have an issue, I can make a debug load for you. Also, what is your OS and how do you start your command window? It should be cmd.exe. Anybody else seeing this?

A note that may explain what is happening: When the command finishes, you won't see a new command window prompt unless you hit return. The process did end, however.

Audio demux is addressed in b20 (see next post).


open up cmd.exe and cd to the folder and then do it as that's the only way that i know of but i do use the stexbar myself to make it easier.

audio demuxing does works great but i do wonder if its got the same issue as dgindexnv has with reporting random delays when it was 0ms, from my testing it seems this issue isn't here could you confirm this ?

p.s its in the todo.txt for dgindenv incase anyone asks
"Demux zero-delay audio (instead of reporting delay)"

Guest
3rd April 2014, 16:17
open up cmd.exe and cd to the folder and then do it as that's the only way that i know of but i do use the staxbar myself to make it easier. I don't know what staxbar is and so you are confusing me. Try without it and report again.

audio demuxing does works great but i do wonder if its got the same issue as dgindexnv has with reporting random delays when it was 0ms, from my testing it seems this issue isn't here could you confirm this ? I don't know what you mean by "reporting random delays when it was 0ms", nor am I aware of any such issue. If you have an issue, you need to give a stream I can use to reproduce it.

p.s its in the todo.txt for dgindenv incase anyone asks
"Demux zero-delay audio (instead of reporting delay)" That is a different matter.

cegy
3rd April 2014, 16:29
I don't know what staxbar is and so you are confusing me. Try without it and report again.


i told you two different ways on how i get this issue both of which give the same result :(

also if you did google stexbar you would find it
http://stefanstools.sourceforge.net/StExBar.html

Guest
3rd April 2014, 16:35
I can't reproduce it, so there's nothing I can do for you. If anyone else reports it then I can try a debug load for you.

You haven't told me your OS as I asked you, nor have you answered if it affects all streams. And you haven't clarified the audio issue or provided a stream.

cegy
3rd April 2014, 17:23
oh sorry i forgot to say i'm using windows 7 sp1 32bit and it happens to any type/sort of streams i want to use but we'll see if anyone else gets this problem or if its just me :(

Guest
3rd April 2014, 17:44
OK. Do I have to ask again for the audio issue clarification or should I just forget it?

cegy
3rd April 2014, 17:52
OK. Do I have to ask again for the audio issue clarification or should I just forget it?

its was more of a question to you than me having a issue. i did only bring it up due to the different in the audio delay being reported from dgavcindex and dgindexnv but it seems this isn't a issue any more it seems but if i do find any issues like this i'll report it to you! :thanks:

Guest
3rd April 2014, 17:55
I don't know anything about dgavcindex. ;)

WorBry
3rd April 2014, 18:17
Here is beta 20. It sets Enable_Audio_Demux=1 in the INI file by default.

Great. Works fine with my AVCHD camcorder files, so I'm a happy camper. Thanks a lot. :)

Nico8583
3rd April 2014, 18:45
Is there an impact with this new audio functionnality ? I don't need it, so do I leave by default ?

Guest
3rd April 2014, 19:02
If you use the indexer by CLI you can disable demuxing by omitting the -a. If you do it on the fly with the script, then you always get -a (but see below). The overhead of demuxing (not large anyway) will only affect the indexing. Serving of the video will not be affected.

I could add an option to dgsourceim() to enable/disable demuxing, but I don't really see the point. OK, you may have to delete an audio file if you don't want it.

Another thing you can do is change Enable_Audio_Demux to 0 in the INI file, and then nothing will ever be demuxed, regardless of the -a option.

Great. Works fine with my AVCHD camcorder files, so I'm a happy camper. Thanks a lot. :) Good to hear! Thanks for reporting your results.

Nico8583
3rd April 2014, 20:52
Ok thanks, I use CLI command (dgindexim -i panama.264 -o panama.264.dgi) so I don't use -a. But what type of source can include audio ? TS ? M2TS ? Because I use only .264 or .vc1 file so video only.

Guest
3rd April 2014, 20:55
All of the following supported containers may contain audio:

ps (e.g., vob or mpeg)
ts
mts
m2ts
mp4
mkv

Elementary streams such as .264, .vc1, and .m2v contain only video.

So you do not need to do anything if you use only elementary streams. You can of course refer to the stream in your script (rather than the index file) and the indexer will be run automatically. You do not have to run it manually.

Nico8583
5th April 2014, 23:27
Thanks :) another question : when you'll merge DGDecIM and DGMVCSource, is .dgi file will be necessary for AVC and/or MVC elementary streams ?

Guest
6th April 2014, 13:23
Thanks :) another question : when you'll merge DGDecIM and DGMVCSource, is .dgi file will be necessary for AVC and/or MVC elementary streams ? I haven't thought about it yet. What would you like to see?

Nico8583
6th April 2014, 13:26
I would like to know what does .dgi do and if it will change anything on MVC source decoding with this pre-analysis

Guest
6th April 2014, 13:39
I suppose the DGI file won't have to change as only the base stream would need to be indexed. But we'll see.

asteri
7th April 2014, 14:47
Hello neuron2, I would welcome 64bit version of current beta. Is it possible?

Guest
7th April 2014, 15:36
Hello neuron2, I would welcome 64bit version of current beta. Is it possible? Try this and let me know if it works. I tested DGIndexIM but not DGDecodeIM as I do not have a 64-bit Avisynth installed.

http://neuron2.net/misc/dgdecim_b20_64bit.zip

Nico8583
7th April 2014, 16:23
@asteri : and if you can compare 32 and 64 bit performances, I'm interested :)

Guest
7th April 2014, 16:42
Please re-download as I had forgot to load the 64-bit SW DLL instead of the 32-bit one, which would have prevented DGDecodeIM.dll from running.

lansing
7th April 2014, 17:08
I tested on my blu-ray video, 64 bit seems to be 20% faster.

32 bit

Number of frames: 202621
Length (hhh:mm:ss.ms): 001:52:40.787
Frame width: 1920
Frame height: 1080
Framerate: 29.970 (120000/4004)
Interlaced: No
Colorspace: YV12

Frames processed: 15100 (0 - 15099)
FPS (min | max | average): 64.56 | 563.7 | 394.2
CPU usage (average): 11%
Thread count: 19
Physical Memory usage (peak): 178 MB
Virtual Memory usage (peak): 331 MB
Time (elapsed): 000:00:38.304



64 bit

Number of frames: 202621
Length (hhh:mm:ss.ms): 001:52:40.787
Frame width: 1920
Frame height: 1080
Framerate: 29.970 (120000/4004)
Interlaced: No
Colorspace: YV12

Frames processed: 17600 (0 - 17599)
FPS (min | max | average): 188.1 | 567.5 | 479.9
CPU usage (average): 11%
Thread count: 19
Physical Memory usage (peak): 126 MB
Virtual Memory usage (peak): 269 MB
Time (elapsed): 000:00:36.674

Guest
7th April 2014, 17:47
Thanks for the test results, lansing. May I ask what build of Avisynth you use and where I can get it?

Nico8583
7th April 2014, 17:53
Thanks for results also :-) 2s less for x64 with 2000 frames longer than 32 bits, good result ;-)

Groucho2004
7th April 2014, 18:20
May I ask what build of Avisynth you use and where I can get it?
Most likely the 64 Bit version from here (http://www.avs-plus.net/).

lansing
7th April 2014, 18:27
I'm using avs+ r1576.

I ran it on another blu-ray and the difference is 30%. However, for the few mpeg2 1080 videos I tested, the differences are only between 4%-10%. And also memory usage are significantly lower with 64 bit in all the samples.

Guest
8th April 2014, 16:39
Thanks, lansing, I just tested on a random AVC stream and got a 10% increase in FPS.

BTW: The subthread about easily switching between 32-bit and 64-bit Avisynth was moved here:

http://forum.doom9.org/showthread.php?t=170453

Nico8583
10th April 2014, 18:00
Is there a quality difference between 32 and 64 bits ? And between Avisynth 2.5.8 and others versions ?

Guest
10th April 2014, 18:19
Is there a quality difference between 32 and 64 bits ? And between Avisynth 2.5.8 and others versions ? No, and no.

asteri
11th April 2014, 09:27
Strange, I got lower avg speed with x64 version. Maybe I should try another stream, but currently I dont have any others by me.

32bit:

AVSMeter 1.7.7 (AVS 2.6, x86) by Groucho2004
AviSynth+ 0.1 (r1576, x86)

Number of frames: 74435
Length (hhh:mm:ss.ms): 000:49:37.400
Frame width: 1920
Frame height: 1088
Framerate: 25.000 (25/1)
Interlaced: No
Colorspace: YV12

Frames processed: 74435 (0 - 74434)
FPS (min | max | average): 36.62 | 232.9 | 128.7
CPU usage (average): 4%
Thread count: 11
Physical Memory usage (peak): 75 MB
Virtual Memory usage (peak): 253 MB
Time (elapsed): 000:09:38.567


64bit:

AVSMeter 1.7.7 (AVS 2.6, x64) by Groucho2004
AviSynth+ 0.1 (r1576, x64)

Number of frames: 74435
Length (hhh:mm:ss.ms): 000:49:37.400
Frame width: 1920
Frame height: 1088
Framerate: 25.000 (25/1)
Interlaced: No
Colorspace: YV12

Frames processed: 74435 (0 - 74434)
FPS (min | max | average): 41.59 | 246.9 | 124.6
CPU usage (average): 4%
Thread count: 11
Physical Memory usage (peak): 75 MB
Virtual Memory usage (peak): 268 MB
Time (elapsed): 000:09:57.330


Tested on i7-4600U (2C/4T)-it is some kind of more power saving i7 for laptop

jdobbs
19th April 2014, 15:30
Maybe I'm just dense, but can someone tell me why I'm getting an "Access Violation" error when I try to run DGDecodeIM()?

Here are my AVS file contents:LoadPlugin("C:\APPS\DGDecNV\DGDecodeIM.dll")
DGSourceIM("D:\WORKING8\WORKFILES\VID_00800.DGI", engine=2)
ConvertToYV12().AssumeFPS(24000,1001)

When I try to open it with X264 I get an access violation on line #2. If I attempt to open it with MPC I get the same error message but the audio plays. I looked at the DGI file and it appears to be fine. It looks exactly like one I created with DGDecNV (except for the first line).

I have DGDecodeIM installed in the same folder as DGDecNV (along with the license file). libmfxsw32.dll is installed in that folder also. I can run DGIndexIM and it indexes the source fine, so I don't think it's a license issue.

I'm running on Windows 7, 64 bit with an AMD processor and no Intel video capability (but it does have an NVIDIA card).

Guest
19th April 2014, 15:46
Can you open the script in VirtualDub?

Does it happen with all streams?

jdobbs
19th April 2014, 15:57
Can you open the script in VirtualDub?

Does it happen with all streams?Same error with VirtualDub. I haven't tried any other streams -- but this one opens and works fine with DGDecodeNV. I'll try another stream. I'll also try opening this one directly and let it index on-the-fly and see what happens.

jdobbs
19th April 2014, 16:06
Now I'm even more confused. I tried opening it with the source pointing directly at the M2TS file -- and it didn't try to index it -- it just started playing the music:
LoadPlugin("C:\APPS\DGDecNV\DGDecodeIM.dll")
DGSourceIM("N:\BD\ANCHORMAN_2\BDMV\STREAM\00800.M2TS", engine=2)
ConvertToYV12().AssumeFPS(24000,1001)

jdobbs
19th April 2014, 16:29
I see now. It had previously created a .DGI in the source folder. That may be the source of the problem. I'll do some testing and get back to you.

jdobbs
19th April 2014, 16:41
Ok. If I let the on-the-fly indexing complete, it opens the file ok. But, if I run DGIndexIM to create a .DGI file in my working folder, and then reference the .DGI it doesn't work. It appears it tries to index the .DGI file.

So if I try to open this file with MPC:LoadPlugin("C:\APPS\DGDecNV\DGDecodeIM.dll")
DGSourceIM("D:\WORKING8\WORKFILES\00031.DGI", engine=2)
ConvertToYV12().AssumeFPS(24000,1001)It tells me it is indexing, and I get this as the index file (named 00031.DGI.dgi):DGAVCIndexFileNV14 DGIndexIM beta 20 X32
C:\APPS\DGDecNV\

00031.DGI 2801675

DEVICE 0
DECODE_MODES 0,1,0
STREAM 0
CLIP 0 0 0 0
RANGE 0 0 2801674 0
AUDIO

SIZ 0 x 0
FPS 0 / 0
CODED 0
PLAYBACK 0
0.00% FILM
ORDER -1 and then I get the "Access Error" violation.

I'm using the zip file from the first post of this thread. Is that the most recent one?

jdobbs
19th April 2014, 16:48
Got it. It doesn't like the uppercase letters ".DGI" in the AVS file. I edited the AVS file and made it lowercase, and now it opens and plays the file with this source:LoadPlugin("C:\APPS\DGDecNV\DGDecodeIM.dll")
DGSourceIM("D:\WORKING8\WORKFILES\00031.dgi", engine=2)
ConvertToYV12().AssumeFPS(24000,1001)

Guest
19th April 2014, 16:51
Interesting. I will fix that. The case should not matter.

jdobbs
19th April 2014, 16:55
Cool. I'm trying to add support for DGDecodeIM() into the next BD Rebuilder release.

Question: Does DGDecodeIM() honor pulldown flags? I tested FRIMDecode() and noticed it didn't with the Intel library.

Guest
19th April 2014, 17:43
Question: Does DGDecodeIM() honor pulldown flags? I tested FRIMDecode() and noticed it didn't with the Intel library. Yes, it does if so instructed. Use it the same way as DGDecodeNV.

jdobbs
19th April 2014, 19:20
So I could do this?

DGSourceIM("D:\WORKING8\WORKFILES\00031.dgi", engine=2, fieldop=0)

GZZ
19th April 2014, 21:12
I use Avisynth+ 64 bit with the exact same script (dif. path) and its working just fine running 64 bit version of dgIndex.

But I'm wonderingen why the procent (%) when indexing a file goes like this 1, 2, 3, 4, 3, 4, 5%... it sometimes goes back and then forward again. I'm indexing *.mkv files (h264 content)

Guest
19th April 2014, 23:35
So I could do this?

DGSourceIM("D:\WORKING8\WORKFILES\00031.dgi", engine=2, fieldop=0) Yes, sir. The default for fieldop is 0 anyway so you could omit it if that pleases you.

Guest
19th April 2014, 23:36
But I'm wonderingen why the procent (%) when indexing a file goes like this 1, 2, 3, 4, 3, 4, 5%... it sometimes goes back and then forward again. I'm indexing *.mkv files (h264 content) Hmm, that's bizarre. I'll try to duplicate it, but at a minimum I can force it never to go backwards. :rolleyes: