View Full Version : DGMPGDecNV 1.0.2
meatwad
14th March 2009, 04:12
I'm having a problem with CUVID server when I run MediaPortal. If I watch a video while CUVID server is being used to encode a video, CUVID server will crash when video playback ends in MediaPortal. I don't have this problem with MPC or Windows Media Player (at least not that I'm aware of). I'll look at my settings in MediaPortal to see if there's something I can change to keep this from happening.
Edit: I believe the problem is with the VMR9 renderer. I switched to EVR (software mode) in MediaPortal and the crash didn't occur. Anyway, I'm not sure why VMR9 would cause CUVID server to crash when if I use another player with VMR9 as the renderer everything is fine? Oh well--as long as it works.
UsedUser
14th March 2009, 09:10
I'm having a problem with CUVID server when I run MediaPortal...
In my experience, you can't have two resources using DXVA simultaneously. It seems MediaPortal could be using DXVA, which will either prevent the CUVIDServer from using DXVA to process the video, or cause it to error outright.
neuron2, correct me if I'm wrong on this, but my experience and results from testing indicate any two applications that attempt to use DXVA simultaneously will cause an error. This is a driver / hardware / Direct3D limitation --- one or all of them aren't designed for multitasking.
Your decoder has to support DXVA to send it to the output pin, and your renderer has to accept DXVA on the input pin. In your situation, I believe MediaPortal allowed DXVA with VMR9, but switching to EVR in software mode precluded the use of DXVA. I'm assuming the decoders in your other apps, i.e., your default DirectShow decoder, as used by WMP, don't support DXVA as configured or at all, so you don't have an issue with them using software decoding.
squid_80
14th March 2009, 09:35
neuron2, correct me if I'm wrong on this, but my experience and results from testing indicate any two applications that attempt to use DXVA simultaneously will cause an error. This is a driver / hardware / Direct3D limitation --- one or all of them aren't designed for multitasking.
The fact that multiple copies of DGAVCIndexNV can operate at the same time shows this isn't true.
UsedUser
14th March 2009, 12:29
The fact that multiple copies of DGAVCIndexNV can operate at the same time shows this isn't true.
Then I may stand corrected regarding its possibility, but I do know the apps I commonly use - VideoReDo, BeyondTV, ZoomPlayer - cannot be used simultaneously if I'm using DXVA decoders. Perhaps it has to do with the way the resources are consumed and released by those applications or decoders.
In any event, because I've run into it with such apps, and can work around it by using software decoders, it remains that it may be the issue as described with MediaPortal.
Guest
14th March 2009, 15:29
I'm no expert on D3D and I have no access to the relevant Microsoft or Nvidia code, so I simply don't know. For that reason, I DO NOT SUPPORT any playing of videos while encoding with my NV tools. If you choose to do that, you are on your own.
woah!
18th March 2009, 07:18
would a field order transition cause issues with this app ?? i have stuttering frames if i process with this app, but using your dgindex it catches the transition and corrects it and no stutters. i can supply a clip if you need it, i am asking first to be honest.
Guest
18th March 2009, 13:50
"to be honest" ???
Yes, of course I need a clip.
woah!
18th March 2009, 16:37
"to be honest" ???
Yes, of course I need a clip.
i pm'ed you a ftp link to the file.
Guest
19th March 2009, 00:16
I saw the jerkiness with deinterlace=1.
I set use_top_field=false and it seems OK.
I'll have to ask Nvidia what is going on, because IIRC it should work both ways.
woah!
19th March 2009, 02:11
you added this detection to dgindex and it can correct the problem i have, i take it that is a major rewrite to add to DGMPGDecNV .
Guest
19th March 2009, 03:06
I don't think the transition is relevant when pulldown is not honored.
I am investigating the issue further so standby. Using the option I described should be a workaround. Is it working for you?
UsedUser
19th March 2009, 03:13
Sidebar: I'd like to perform IVTC on some content and perform the deinterlacing with DGMPGDecNV. How would this be done today, without pulldown honored? How will it change once pulldown is honored?
I guess I'm asking if I just throw my favorite IVTC filter into my AVS script, will it work with hardware deinterlacing, or is frame order, etc going to be screwed at that point? Once pulldown is honored, does NV have hardware IVTC?
Guest
19th March 2009, 03:20
Sidebar: I'd like to perform IVTC as well as deinterlacing with DGMPGDecNV. How would this be done today, without pulldown honored? How will it change once pulldown is honored? Currently pulldown is ignored. This is equivalent to performing IVTC *if the pulldown is consistent 3:2 throughout*. If you want pulldown honored, as long as the pulldown is 3:2 consistent throughout, you can just apply pulldown with DGPulldown or the tool of your choice. It's not important which fields are pulled down in such cases. You only really need external IVTC processing when you have irregular pulldown. You also need it if there is hard pulldown, but then the DGIndexNV options are irrelevant anyway.
Things get complicated when the soft pulldown is not constant (irregular). That is the reason for the distinction between Force Film mode and Ignore Pulldown in DGIndex.
So, if you have a stream with irregular pulldown, then DGMPGDecNV will have problems with it. Since this tool is designed for BluRays and I haven't seen a BluRay with irregular pulldown, I don't (yet) consider it a big deal. At some point, if it's needed, I will add options equivalent to DGIndex.
I guess I'm asking if I just throw my favorite IVTC filter into my AVS script, will it work with hardware deinterlacing, or is frame order, etc going to be screwed at that point? Once pulldown is honored, does NV have hardware IVTC? You don't have to use an external filter. Since pulldown is ignored, IVTC is done automatically as explained above.
UsedUser
19th March 2009, 03:33
If you want pulldown honored, as long as the pulldown is 3:2 consistent throughout, you can just apply pulldown with DGPulldown or the tool of your choice.
You don't have to use an external filter. Since pulldown is ignored, IVTC is done automatically as explained above.
Sorry, I'm slightly confused, but I feel like I'm almost there with you.
If my content is 1080i 29.97fps and I am deinterlacing in hardware with DGMPGDecNV, and the output still ends up at ~29.97fps, what does that mean? My content is not consistent 3:2?
If I know the content is film, and needs to be IVTC'ed to ~23.97, then I need to use an external filter, which will work in an AVS script after MPGSource(...,'deinterlace=1')?
woah!
19th March 2009, 04:34
I don't think the transition is relevant when pulldown is not honored.
I am investigating the issue further so standby. Using the option I described should be a workaround. Is it working for you?
yes that did seem to fix the issue, weird that it does tho no?
Guest
19th March 2009, 04:48
If my content is 1080i 29.97fps and I am deinterlacing in hardware with DGMPGDecNV, and the output still ends up at ~29.97fps, what does that mean? My content is not consistent 3:2? You appear severely confused. Please post an unprocessed sample of your source so we can use it to unconfuse you.
If I know the content is film, and needs to be IVTC'ed to ~23.97, then I need to use an external filter, which will work in an AVS script after MPGSource(...,'deinterlace=1')? No, you don't deinterlace and do IVTC! You're so way out there that I won't try to set you right without an actual sample clip to use as an example. Awaiting your unprocessed source sample...
UsedUser
19th March 2009, 07:22
You appear severely confused. Please post an unprocessed sample of your source so we can use it to unconfuse you.
Haha, that's very kind of you to put it so delicately.
20 sec sample: http://rapidshare.de/files/46198293/Smallville_-_s02e23_-_44_-___Exodus___-_1080i_-_HDTV.ts.html
I'm working from the assumption that outside of effects shots, this series is shot on film @ 24fps then telecined to 29.97fps for TV.
Guest
19th March 2009, 13:44
That stream is hard telecined. You can tell that because it has the field pattern of 3:2 pulldown but when you preview it in DGMPGDecNV, the Field Rpts box stays at zero. Since there is no soft pulldown, there is nothing to honor or ignore, and those modes are irrelevant, as I said in my first reply.
Summary for those who may not know: Soft pulldown (soft telecine) means the repeated fields are done by simply setting a flag on the fields to be pulled down; the extra fields are not physically present in the stream. So you have the option of just ignoring the flag to get the output video without the repeated fields. Hard pulldown (hard telecine) does not use flagging; the repeated fields are physically present in the stream. Therefore, you must physcially remove them with an IVTC filter.
So, the right way to handle your stream is to use a filter(s) to perform the IVTC. Here is one possible script:
loadplugin("dgmpgdecodenv.dll")
MPGSource("Smallville.dgm")
telecide()
decimate()
You do not set deinterlace=1. That is for interlaced video only, not telecined video.
Haha, that's very kind of you to put it so delicately. Good to see that you are a seeker after truth, and value straight talk. :)
UsedUser
19th March 2009, 23:03
So, the right way to handle your stream is to use a filter(s) to perform the IVTC. Here is one possible script:
loadplugin("dgmpgdecodenv.dll")
MPGSource("Smallville.dgm")
telecide()
decimate()
You do not set deinterlace=1. That is for interlaced video only, not telecined video.
Good to see that you are a seeker after truth, and value straight talk. :)
Awesome clarification, thank you.
Follow up question: With further enhancement to the NV tools, can IVTC with hard pulldown be done in hardware?
I don't know the Nvidia drivers, but I know in ATI drivers, there is an option for 3:2 pulldown detection. It seems to me that this would only honor flags for soft pulldown content to display it at the intended framerate, as you wouldn't need an option to ignore the flags and have the result be IVTC'ed content at roughly the original framerate.
So, I'm assuming such an Nvidia option wouldn't affect content with hard pulldown anyway, but I can hope.
:thanks:
Guest
20th March 2009, 00:55
You're baffling me again, so I will just answer the part I can understand.
There is nothing in the video API at this time to specify IVTC of hard telecined streams on the Nvidia GPU.
UsedUser
20th March 2009, 02:05
You're baffling me again, so I will just answer the part I can understand.
There is nothing in the video API at this time to specify IVTC of hard telecined streams on the Nvidia GPU.
You crack me up. Sorry, I'm very dangerous with a little information. I know there's a lot I don't know, but I'm trying.
You say there's no API for IVTC with hard pulldown. Do do you suspect that's because it hasn't been implemented in the API, or because the IVTC driver option is only for soft pulldown?
Nvidia driver setting has this description for IVTC:
Provides more accurate movie playback and superior picture quality by recovering original images from film-converted-to-video (e.g. DVDs, 1080i HD content).
Guest
20th March 2009, 02:18
There is a low-level API for using video decoding called CUVID. This API does not allow for controlling the postprocessing beyond enabling the PureVideo deinterlacer. I can ask Nvidia if it will ever be augmented, but right now there is no way for me to enable anything else through the CUVID API.
UsedUser
20th March 2009, 03:07
There is a low-level API for using video decoding called CUVID. This API does not allow for controlling the postprocessing beyond enabling the PureVideo deinterlacer. I can ask Nvidia if it will ever be augmented, but right now there is no way for me to enable anything else through the CUVID API.
Thanks. If you have an opportunity to ask Nvidia, I'd be curious to know if it will be available at some point, and what type of pulldown PureVideo handles.
Varies
26th March 2009, 07:54
lol, i found decision of VOB processing :) - Demux video by DGIndex and work with .m2v :)
sad, but nvidia deinterlace can't cope with full interlaced video.
here (http://rghost.ru/160086?key=ad72b6078c8e8233a69518cbce07746d) sample of video. (mcbob good but slow)
Guest
26th March 2009, 14:25
Is that sample the source or your encoded result?
I ask because it's progressive at 29.97, which would be very unusual.
You're not deinterlacing telecined content are you?
nvidia deinterlace can't cope with full interlaced video That's absurd FUD.
Varies
26th March 2009, 14:58
Is that sample the source or your encoded result?
demuxed VOB with "honor pulldown"
because it's progressive at 29.97
:eek: huh, its real ?
You're not deinterlacing telecined content are you?
I try few deint...TDeint, TFM, Telecine, FieldDeinterlace, Yadif...and only mсbob_0.3u made a normal picture...
I wrote "full interlaced" because one nub :rolleyes: wrote me "clear interlace |translated" ... and i think about 29.97 interlaced frames :D
:helpful:
Guest
26th March 2009, 15:15
:eek: huh, its real ?
Did you try looking at it? Why do you want to deinterlace something that is already progressive?
Varies
26th March 2009, 19:48
Did you try looking at it? Why do you want to deinterlace something that is already progressive?
ofcourse, when i looked at this
http://i043.radikal.ru/0903/b5/05fca9788263t.jpg (http://radikal.ru/F/i043.radikal.ru/0903/b5/05fca9788263.png.html) http://i010.radikal.ru/0903/08/8b55778c96c5t.jpg (http://radikal.ru/F/i010.radikal.ru/0903/08/8b55778c96c5.png.html)
http://s44.radikal.ru/i103/0903/a2/a5e70a3d4ba9t.jpg (http://radikal.ru/F/s44.radikal.ru/i103/0903/a2/a5e70a3d4ba9.png.html) http://s44.radikal.ru/i103/0903/2f/f21bf3771d63t.jpg (http://radikal.ru/F/s44.radikal.ru/i103/0903/2f/f21bf3771d63.png.html) (without deint, last with decimate)
i think about interlace :)
...and not all video is progressive, part of the video is Interlaced...also when mcbob made normal picture i think about interlace.
and decomb VFR stats #VFR Stats: FILM cycles 5983 (70.4%) NONFILM cycles 2517 (29.6%) TOTAL cycles 8500
#VFR Stats: FILM frames 23930 (65.5%) NONFILM frames 12585 (34.5%) TOTAL frames 36515
maybe i must switch something in dgindex?
Forcing film got same result.
-----
last idea with m2v not very good :D I received A/V desync after encoding.
* add to DGMPGIndexNV start button for CUVID :)
Guest
26th March 2009, 20:15
ofcourse, when i looked at this
i think about interlace That is not interlacing.
...and not all video is progressive, part of the video is Interlaced You ask about deinterlacing and then post a part that is progressive!? Post a part that is interlaced.
What is the title and region of your DVD that this VOB sample came from?
Varies
27th March 2009, 13:41
That is not interlacing.
so what is this ?
Post a part that is interlaced.
here (http://rghost.ru/171650) interlaced part. fielddeinterlace and nvdeinterlace gives normal picture, but TDeint and TFM gives worse result.
What is the title and region of your DVD
Region 2 Japan :) it's usually for this country :D
and here (http://rghost.ru/160819) @60 fps processing like mcbob but its not mcbob. also mcbob gives same result.
Guest
27th March 2009, 14:01
You have subtitles rendered at 60i overlaid on video at 30p.
It looks fine to me with:
MPGSource("E:\tmp\Sekirei_vol3_s1.demuxed.dgm",deinterlace=1)
If you don't like the PureVideo deinterlacing here, then use something that you do like.
Varies
27th March 2009, 14:45
yeah, looks not bad :) but otaku evil peoples, they will kill me for this picture :D
also nvdeint better than tipical software deinterlacers, it' good :)
switchin "wait mode" for VOB processing :D
Guest
27th March 2009, 15:23
Merger of AVC, VC1, and MPG comes first. I already have the DLL merged.
QuadraQ
28th March 2009, 05:26
I just donated to support your site and get the NV version of AVC, VC1, and MPG. I have an mpeg2 file I created with VideoReDo that works fine with DGIndex, but when I try to open it with DGMPGIndexNV I get this error:
---------------------------
File open error
---------------------------
Program streams not supported.
---------------------------
OK
---------------------------
I'm sorry but I don't understand what that means, please advise. Thanks.
Guest
28th March 2009, 07:30
Program streams (VOB and MPEG) are not yet supported. It's described in the release notes. Only TS, M2TS, and elementary streams are supported so far. Program stream support will be added.
woah!
28th March 2009, 08:07
I just donated to support your site and get the NV version of AVC, VC1, and MPG. I have an mpeg2 file I created with VideoReDo that works fine with DGIndex, but when I try to open it with DGMPGIndexNV I get this error:
---------------------------
File open error
---------------------------
Program streams not supported.
---------------------------
OK
---------------------------
I'm sorry but I don't understand what that means, please advise. Thanks.
just save the edited file as a .ts instead of a .mpeg
laserfan
28th March 2009, 14:14
just save the edited file as a .ts instead of a .mpegNo, save out of VRD as Elementary Streams.
Guest
28th March 2009, 14:19
Both ways will work.
laserfan
28th March 2009, 17:51
Only TS, M2TS, and elementary streams are supported so far. Program stream support will be added.I missed this, I'd been thinking a "program stream" was anything not a pure video-only elementary stream. Sorry for my mistake, woah! and neuron2 (and QuadraQ). :o
QuadraQ
28th March 2009, 20:44
Program streams (VOB and MPEG) are not yet supported. It's described in the release notes. Only TS, M2TS, and elementary streams are supported so far. Program stream support will be added.
That was pretty stupid of me. I think I was just braindead after work. I should know what elementary streams are by now! I don't think I hear about "Program streams" as much, but I figured it out on my own after I posted, and felt silly.
I'm getting about 9 fps in meGUI after I demux the mpeg2 file and use DGMPGDecNV instead of about 6 fps. Not as much of a bump as I was hoping for, but every little bit helps. (On a 9600 GT card BTW)
woah!
29th March 2009, 04:01
That was pretty stupid of me. I think I was just braindead after work. I should know what elementary streams are by now! I don't think I hear about "Program streams" as much, but I figured it out on my own after I posted, and felt silly.
I'm getting about 9 fps in meGUI after I demux the mpeg2 file and use DGMPGDecNV instead of about 6 fps. Not as much of a bump as I was hoping for, but every little bit helps. (On a 9600 GT card BTW)
well to be honest thats a 50% increase in frames...
vucloutr
3rd April 2009, 09:43
Hi
I have a HDTV transport stream here where I get 2 video glitches with DGMPGDecNV/DGMPGIndexNV.
Here's a sample: http://www.mediafire.com/file/inwyxtinz3z/sample.ts (~33MiB)
Frame 438-454 and 1038-1054.
Guest
3rd April 2009, 14:18
Ah, good time to roll out my merged DLL for testing.
http://neuron2.net/misc/DGDecodeNV.zip
This DLL supports AVC, VC1, and MPG. It seems to work fine with your clip.
The script:
loadplugin("dgdecodenv.dll")
DGSource("sample.dgm")
Guest
3rd April 2009, 14:31
I also fixed the DGMPGDecodeNV.dll in the 1.0.0 distribution if you prefer to use that. Just redownload 1.0.0.
vucloutr
3rd April 2009, 21:35
Yes, both are working fine. Thank you!
PS: how about putting the CUVID Server right into the package ?
UsedUser
5th April 2009, 21:14
I also fixed the DGMPGDecodeNV.dll in the 1.0.0 distribution if you prefer to use that. Just redownload 1.0.0.
Can I ask, if you have one, your philosophy on major version, minor version, revision, and build numbers?
Down the road, when I've forgotten what I've updated where, I'm concerned about being able to tell what version of your package I have installed. The file version information is the easiest way on an assembly/PE level to tell, but you don't seem to be iterating even the build number.
Guest
6th April 2009, 01:16
I'm not as rigorous about it as I could be, sorry. It's a lot of work to do it right and I have all these different versions. Maybe after I combine them all, I'll get back to some rational system.
Varies
6th April 2009, 13:17
Honor pulldown flags work? ^ ^'
Guest
6th April 2009, 13:19
Honor pulldown flags work? ^ ^' Read the release notes.
laserfan
9th April 2009, 23:33
Ah, good time to roll out my merged DLL for testing. http://neuron2.net/misc/DGDecodeNV.zip
Not sure why there isn't more excitement about this (though I've just now gotten 'round to trying it myself :o). Just want to say "thanks"! and looking forward to the rest of your consolidation efforts! Just tried this on a VC1 program and it worked great--my AVS template is getting much simpler:
#First use of new DGDecodeNV!!! Located already in C:\Program Files (x86)\AviSynth 2.5\plugins directory.
#For h264
#DGSource("video.dga")
#For MPEG2
#DGSource("video.dgm")
#For VC-1
DGSource("video.dgv")
and it used to look like this (yeah I know this is uglier than it need(ed) to be):
#For h264 use DGAVCindex or DGAVCindexNV
#LoadPlugin("c:\program files (x86)\DGAVCindex\DGAVCDecode.dll")
#LoadPlugin("c:\program files (x86)\DGAVCDecNV\DGAVCDecodeNV.dll")
#AVCSource("d:\video\video.dga")
#For MPEG2 use DGMPGindex (.d2v) or DGMPGindexNV (.dgm)
#LoadPlugin("c:\program files (x86)\DGMPGDecNV\DGMPGDecodeNV.dll")
#MPEG2Source("d:\video\video.d2v")
#LoadPlugin("c:\program files (x86)\DGMPGDecNV\DGMPGDecodeNV.dll")
#MPGSource("d:\video\video.dgm")
#For VC-1 use DGVC1indexNV
LoadPlugin("c:\program files (x86)\DGVC1DecNV\DGVC1DecodeNV.dll")
VC1Source("D:\video\video.dgv")
#Or for VC-1 make a graph w/Haali Splitter and WMV DMO filters
#DirectShowSource("d:\video\video.grf", fps=23.976, audio=false, framecount=135119)
:thanks:
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.