Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > VapourSynth

Reply
 
Thread Tools Search this Thread Display Modes
Old 13th April 2020, 07:03   #1  |  Link
PRAGMA
Registered User
 
PRAGMA's Avatar
 
Join Date: Jul 2019
Posts: 35
PDeinterlace - A wrapper function to handle the fields of an MPEG video file

Released as part of pvsfunc

PDeinterlacer (class) is a convenience wrapper for deinterlacing clips. Its unique feature is it can handle mixed scan-type videos. It will always return a progressive and CFR (constant frame-rate) video. It's similar to a retail DVD player as it deinterlaces only if the frame is marked as interlaced, no metrics or guessing is involved.

This is to my knowledge the first efficient way to edit mixed-scan-type video content directly inside VapourSynth without using any other tools other than DGIndex. This completely removes the need for tools like Wibbly & Wobbly.

EDIT: Please be aware that I have updated pvsfunc, now most of the PDeinterlacer logic is now in PSourcer instead. This mean's, you need to load your file paths to clips with PSourcer rather than directly. This is because PSourcer applies fixes/proper fps/proper flags e.t.c for videos, especially for videos that are supported by DGIndex/D2V (MPEG-1 and 2). I made this change to allow people to use the fixed clips without having to run it through the deinterlacer

Requirements:
- DGIndex v1.5.8 (please do not use D2VWitch e.t.c)
- Python 3 (I recommend >= 3.7)
- pvsfunc >= 3.1.1 (available via pip)
- pyd2v >= 1.0.3 (available via pip)
- havsfunc (QTGMC) (available on vsrepo for windows)

Deinterlacing methods:
- core.d2v.Source clips will use the main deinterlacing that I created this for
- core.ffms2.Source clips will use a similar deinterlacing but heavily stripped-down (possibly inefficient). It only handles constant frame-rate videos but still supports mixed scan-type (I believe, I have no AVC mixed scan-type to test).

There's various options and settings and information on usage can be found at the pvsfunc GitHub page.

If you want a base example script, with a couple of extras added in to boost the speed of nothing to something, then feel free to use: https://gist.github.com/rlaPHOENiX/8...c9cdf3369b7a40

Rip tools like Wibbly & Wobbly, and thanks to Donald A. Graft for the amazing DGMpgDec!

Last edited by PRAGMA; 9th May 2020 at 13:07.
PRAGMA is offline   Reply With Quote
Old 14th April 2020, 02:32   #2  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 474
windows centric is not cool
__________________
[AUR] Vapoursynth Stuff
[AUR] Avisynth Stuff
sl1pkn07 is offline   Reply With Quote
Old 14th April 2020, 04:36   #3  |  Link
PRAGMA
Registered User
 
PRAGMA's Avatar
 
Join Date: Jul 2019
Posts: 35
Quote:
Originally Posted by sl1pkn07 View Post
windows centric is not cool
? I actually use Linux lol
This is cross-os

Edit:
Fun fact, I use your amazing arch linux AUR repo's for VapourSynth stuff, and I appreciate them!
PRAGMA is offline   Reply With Quote
Old 15th April 2020, 13:45   #4  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 474
what dgindex you use? through wine? or the modoki port (2010)
__________________
[AUR] Vapoursynth Stuff
[AUR] Avisynth Stuff
sl1pkn07 is offline   Reply With Quote
Old 15th April 2020, 17:00   #5  |  Link
PRAGMA
Registered User
 
PRAGMA's Avatar
 
Join Date: Jul 2019
Posts: 35
Quote:
Originally Posted by sl1pkn07 View Post
what dgindex you use? through wine? or the modoki port (2010)
Wine v1.5.8
PRAGMA is offline   Reply With Quote
Old 15th April 2020, 22:53   #6  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 474
thats why i mean is not cool xd

native is love, native is life

greethings and i'm glad you like my AUR (if you found a problem, please slaps me XD)
__________________
[AUR] Vapoursynth Stuff
[AUR] Avisynth Stuff
sl1pkn07 is offline   Reply With Quote
Old 15th April 2020, 23:15   #7  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,381
Maybe with CPUs so fast now, so that the ASM stuff could be eschewed, DGIndex could be natively ported. It shouldn't be too hard.
videoh is offline   Reply With Quote
Old 16th April 2020, 09:59   #8  |  Link
PRAGMA
Registered User
 
PRAGMA's Avatar
 
Join Date: Jul 2019
Posts: 35
Quote:
Originally Posted by videoh View Post
Maybe with CPUs so fast now, so that the ASM stuff could be eschewed, DGIndex could be natively ported. It shouldn't be too hard.
I'm having trouble getting it compiled on Visual Studio 2019, issues with the ASM files compiling causing problems it seems, it can't find NASM, though it can find MASM. Even if I take the BuildConfiguration files from VSNASM, they still have issues being compiled.

I pushed the DGIndex v1.5.8 (official) codebase to my GitHub as a mirror, with a ported readme in markdown. Feel free to try and upgrade it or make it compilable, the whole community could come together and get a nice port of this going.
PRAGMA is offline   Reply With Quote
Old 16th April 2020, 14:21   #9  |  Link
PRAGMA
Registered User
 
PRAGMA's Avatar
 
Join Date: Jul 2019
Posts: 35
Quote:
Originally Posted by sl1pkn07 View Post
thats why i mean is not cool xd

native is love, native is life

greetings and I'm glad you like my AUR (if you found a problem, please slaps me XD)
Btw you can use this port if you wish, just understand the risks of it being inaccurate. D2VWitch I highly recommend to stay away from as it is definitely miles less accurate than DGIndex, way less configurability for my python script end too, so no way to even configure it to be more accurate.

Do note, that the script checks if the D2V was made by `DGIndexProjectFile16` which is v1.5.8 exactly, this is to make sure the script doesn't use outdated D2V files. If the port you want to use has good accuracy, and it's open-source, then link me to the source and download page and I can take a look and add a whitelist to its version magic if its different.
PRAGMA is offline   Reply With Quote
Old 16th April 2020, 15:24   #10  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,381
Quote:
Originally Posted by PRAGMA View Post
I'm having trouble getting it compiled on Visual Studio 2019, issues with the ASM files compiling causing problems it seems, it can't find NASM, though it can find MASM. Even if I take the BuildConfiguration files from VSNASM, they still have issues being compiled.

I pushed the DGIndex v1.5.8 (official) codebase to my GitHub as a mirror, with a ported readme in markdown. Feel free to try and upgrade it or make it compilable, the whole community could come together and get a nice port of this going.
Looks like you just need NASM. I'd be happy to supply you with NASM or anything else you need. I can even send you a full VS 2019 project that builds fine. Send PM with email address and I'll get you everything right away.

Last edited by videoh; 16th April 2020 at 15:46.
videoh is offline   Reply With Quote
Old 16th April 2020, 15:45   #11  |  Link
DJATOM
Registered User
 
DJATOM's Avatar
 
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 219
There is also https://github.com/ShiftMediaProject/VSNASM, just plug-in into VS2019 and it should work. At least it worked with VS2017 in the past.
__________________
Me on GitHub
PC Specs: Ryzen 3900X, 32 GB RAM, RTX 2070
DJATOM is online now   Reply With Quote
Old 17th April 2020, 13:05   #12  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,381
Here is DGMPGDec built with VS 2019 and including a Tools directory containing the assemblers you need. The project correctly references the Tools directory so things build right out of the box. Enjoy.

http://rationalqm.us/dgmpgdec/DGMPGDec_VS2019.rar

EDIT: Temporarily removed from site to check licensing issues for the assemblers.

Last edited by videoh; 17th April 2020 at 16:28.
videoh is offline   Reply With Quote
Old 17th April 2020, 16:08   #13  |  Link
PRAGMA
Registered User
 
PRAGMA's Avatar
 
Join Date: Jul 2019
Posts: 35
Quote:
Originally Posted by videoh View Post
Here is DGMPGDec built with VS 2019 and including a Tools directory containing the assemblers you need. The project correctly references the Tools directory so things build right out of the box. Enjoy.

http://rationalqm.us/dgmpgdec/DGMPGDec_VS2019.rar
<3 thanks!!!
Edit: Wouldnt it be a good idea to replace `dgmpgdec158.zip` with this one since its ultimately the same version and less people will run into compiling issues?
PRAGMA is offline   Reply With Quote
Old 17th April 2020, 16:18   #14  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,381
Quote:
Originally Posted by PRAGMA View Post
<3 thanks!!!
Edit: Wouldnt it be a good idea to replace `dgmpgdec158.zip` with this one since its ultimately the same version and less people will run into compiling issues?
Great idea. I'll have to check on a few things to be sure I'm street legal with re-distributing the assemblers. Maybe should have thought of that before giving up this link.

EDIT: Temporarily removed the link to get street legal. OK, I can redistribute nasm as long as I include the license file. I cannot redistribute masm. Fortunately, you can download MASM 6.15 directly from Microsoft:

http://download.microsoft.com/downlo...N-US/vcpp5.exe

Extract ml.exe and ml.err and place them in the Tools folder.

Last edited by videoh; 18th April 2020 at 17:08.
videoh is offline   Reply With Quote
Old 18th April 2020, 17:06   #15  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,381
Quote:
Originally Posted by PRAGMA View Post
Wouldn't it be a good idea to replace `dgmpgdec158.zip` with this one since its ultimately the same version and less people will run into compiling issues?
Done! My website now links a street legal 2019-buildable source distribution. The Tools directory contains a NASM executable and instructions to download MASM.

http://rationalqm.us/dgmpgdec/DGMPGDec_VS2019.rar
videoh is offline   Reply With Quote
Reply

Tags
d2v, deinterlace, dvd, mpeg, vapoursynth

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 21:58.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.