Log in

View Full Version : TFM() and DGSource() for VapourSynth?


Pages : 1 2 [3]

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 ?