View Full Version : TFM() and DGSource() for VapourSynth?
mastrboy
9th October 2015, 17:54
I really don't care who's in the right here, but in the end those who suffer from this little argument/stubbornness is unfortunately the users :(
Boulder
14th October 2015, 16:42
I added an extra check in r28 to make sure a certain framerate only has one representation. It makes checking for the same framerate much easier. Use vs_normalizeRational on the framerate field and it will work.
This change was made to fix things like 60000/2002 not being considered equal to 30000/1001.How to use that function to correct these issues? Or is it even possible without a new DGDecNV build?
hydra3333
19th June 2016, 12:19
Hello, seeking clarification ... where am I mis-understanding ?
This http://rationalqm.us/board/viewtopic.php?f=8&t=441 and this thread here http://forum.doom9.org/showthread.php?p=1741851#post1741851 both indicate DGdecNV will not be supported in VapourSynth.
This http://forum.doom9.org/showthread.php?p=1741853#post1741853 says use avsreader as a workaround (thanks).
This http://www.animemusicvideos.org/forum/viewtopic.php?f=118&t=125039#p1546405 indicates non-NV DGMPGDec can be used OK in VapourSynth, eg MPEG2Source("c:\path\file.d2v",info=0,ipp=true,cpu=0)
This (4 Mar 2016) http://forum.doom9.org/showthread.php?p=1759402#post1759402 seems to indicate that DGdecNV is supported in VapourSynth because it shows how to use it (code below) and says "DGSource works fine btw".
import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin(r'D:\Software\Medien\DGDecNV\DGDecodeNV.dll')
clip = core.dgdecodenv.DGSource(r'D:\Temp\Video\00009 temp files\00009.dgi')
clip = core.vivtc.VFM(clip, 1)
clip = core.vivtc.VDecimate(clip)
clip.set_output()
Reminder for future self:
DGIndex.exe produces .d2v files and is paired with MPEG2Source like
MPEG2Source("%pard2v%",info=0,ipp=true,cpu=6) # DEBLOCK and DERING
DGIndexNV.exe produces .dgi files and is paired with DGsource like
DGSource("%pardgi%",deinterlace=2,resize_w=%Width%,resize_h=%Height%) #deinterlace=2 means double rate deinterlacing
So, can someone please confirm which DG things will and will not work in VapourSynth ?
Thanks to you.
Myrsloik
19th June 2016, 16:27
Plain dgdecode works. I tested it myself long ago. The nv version I've never tried since I don't have a suitable graphics card but I think som people have had success with it.
Either way, if they're broken you'll most likely get an instant crash which is hard to miss. Plain dgmpgdec does have a quirk that it doesn't apply user/file specific cropping so you have to do that yourself.
Or just use d2vdecode.
hydra3333
20th June 2016, 13:24
Plain dgdecode works.
Or just use d2vdecode.
Thank you.
Elegant
24th June 2016, 14:49
@hydra3333 DGDecodeNV works fine IF you are using the release of VapourSynth and version of DGDecodeNV that supports it (R26 and rev 2051 I think; whatever stuff is in that version of StaxRip). I'm still amazed this feud is going on for this plugin. I don't see how having multiple releases of a project is bad (was easy to maintain for the ones I updated) nor do I see how performing your own frame rate normalization to be a "hack", I consider it a standard.
The most amazing part to me is that you have this plugin that requires a license but you'd rather screw yourself out of that income... Worthwhile plugin, just don't grasp the argument for a standalone/no "hack" version.
hydra3333
31st July 2016, 12:22
I see there's a new version of DGDecodeNV and a suggestion to try it out.
Elegant
6th November 2016, 07:01
I see there's a new version of DGDecodeNV and a suggestion to try it out.
Just tried this out; no dice. Not sure what's causing this but this is the error:
Failed to evaluate the script:
Python exception: No entry point found in C:\Program Files (x86)\VapourSynth\plugins64\DGDecodeNV.dll
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1491, in vapoursynth.vpy_evaluateScript (src\cython\vapoursynth.c:26905)
File "\\FreeNAS\Users$\Shane\Desktop\Fate-Stay Night.vpy", line 9, in <module>
core.std.LoadPlugin(r'C:\Program Files (x86)\VapourSynth\plugins64\DGDecodeNV.dll')
File "src\cython\vapoursynth.pyx", line 1383, in vapoursynth.Function.__call__ (src\cython\vapoursynth.c:25212)
vapoursynth.Error: No entry point found in C:\Program Files (x86)\VapourSynth\plugins64\DGDecodeNV.dll
EDIT: Found the solution over here (http://forum.doom9.org/showthread.php?p=1781505#post1781505).
hydra3333
17th January 2017, 01:58
You mentioned re 64-bit DGDecodeNV :-
..., I am able to load avsplugin, I just replaced "core.dgdecodenv.DGSource" with "core.avs.DGSource"
core.avs.LoadPlugin(path=r'D:\DGDecodeNV.dll')
vid = core.avs.DGSource(dgi=r'D:\0_eng2.dgi')
Great !
Does the latest 64bit DGDecodeNV.dll plugin work OK with the latest vapoursynth ?
I'm re-looking at using it now for GPU enabled decoding/deinterlacing/resizing.
eg in a windows .bat file
#video = core.avs.DGSource(r'%pardgi%',deinterlace=1) # deinterlace=1 means single rate deinterlacing
#video = core.avs.DGSource(r'%pardgi%',deinterlace=2) # deinterlace=2 means double rate deinterlacing, beware extra frame at 0
#video = core.avs.DGSource(r'%pardgi%',deinterlace=2,resize_w=720,resize_h=576) # deinterlace=2 means double rate deinterlacing, beware extra frame at 0
#If using double-framerate NV, fix the double-framerate bug in NV per http://forum.doom9.org/showthread.php?p=1391556#post1391556 like this
#video = core.std.Trim(video,first=1)
As far as I know my sources are all vanilla 25fps interlaced, so hopefully I can ignore the framerate normalization issue stuff per http://forum.doom9.org/showthread.php?p=1741368#post1741368 ?
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.