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 5th February 2016, 19:04   #1  |  Link
tObber166
Registered User
 
Join Date: Nov 2012
Posts: 23
Re-interlace

Let's say i have a 25p clip, and my goal is to achieve 25i.

in AviSynth I have always used:

Code:
AssumeTFF().SeparateFields().SelectEvery(4, 0, 3).Weave()

In vapoursynth, is this the right equivalent syntax?

Code:
v = core.std.SeparateFields(v, tff=True)
v = core.std.DoubleWeave(v, tff=True)
v = core.std.SelectEvery(v, cycle=2, offsets=0)


From the look of the preview it looks fine, but I'm not sure if this is the right way to proceed?

//Thanks
tObber166 is offline   Reply With Quote
Old 5th February 2016, 19:30   #2  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Just out of curiosity, why would anyone still want his vid to be interlaced (which is absolutely 100% evil, I f**king hate analog videos mostly for the interlacing feature, and who knows why the heck digital videos inherited this freaking obsolete thing as if anyone will ever watch a digital video on a CRT screen) in a world full of LCD screens?
Interlacing should just die with CRT screens and analog videos.
feisty2 is offline   Reply With Quote
Old 5th February 2016, 20:02   #3  |  Link
tObber166
Registered User
 
Join Date: Nov 2012
Posts: 23
Well, I can't talk for everyone.

But my goal with this is to merge some mobile clips, which is shoot at a range of 24p-30p to a Sony HD cam which records at 25i

And I want to avoid to reencode my Sony clips, and also keep the smoothness
tObber166 is offline   Reply With Quote
Old 5th February 2016, 20:08   #4  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 4,403
It would be much better for (almost) everyone viewing it after you are done editing if you deinterlaced your 25i to 50p. You keep the smoothness and have progressive video which looks much better on everyone's progressive displays.
__________________
madVR options explained
Asmodian is offline   Reply With Quote
Old 5th February 2016, 20:09   #5  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
I'd go VFR, the one and only perfect solution here
feisty2 is offline   Reply With Quote
Old 5th February 2016, 20:18   #6  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
1. Convert your 24/30 fps footage to 50p by adding duplicate frames
2. Bob 50i stuff to 50p
3. edit at 50p
4. Do a duplicate frame decimation and distribute the final master as a VFR video
Edit: typo

Last edited by feisty2; 5th February 2016 at 20:24.
feisty2 is offline   Reply With Quote
Old 5th February 2016, 20:33   #7  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 4,403
And you can even skip step 4 and still have watchable video, not as good as VFR but much better than anything else.
__________________
madVR options explained
Asmodian is offline   Reply With Quote
Old 5th February 2016, 20:42   #8  |  Link
tObber166
Registered User
 
Join Date: Nov 2012
Posts: 23
Ok, I see.
Thanks for your suggestions guys, really appreciated.

Think i'm going for the Bob/VFR solution.


But if I may be a little stubborn, would the equivalent vapour syntax above still be right?

I'm moving everything I've used for avisynth to vapoursynth, so I'm trying to learn at the same time


/Thanks
tObber166 is offline   Reply With Quote
Old 5th February 2016, 21:02   #9  |  Link
splinter98
Registered User
 
Join Date: Oct 2010
Posts: 36
Quote:
Originally Posted by tObber166 View Post
Ok, I see.
But if I may be a little stubborn, would the equivalent vapour syntax above still be right?
Untested but based off the documentation the equivalent in VapourSynth would be:

Code:
v = (v.std.SeparateFields(tff=True)
      .std.SelectEvery(cycle=4, offsets=[0, 3])
      .std.DoubleWeave(tff=True)
      .std.SelectEvery(cycle=2, offsets=0))

Last edited by splinter98; 5th February 2016 at 21:07.
splinter98 is offline   Reply With Quote
Old 6th February 2016, 00:54   #10  |  Link
foxyshadis
ангел смерти
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Lost
Posts: 9,556
Quote:
Originally Posted by splinter98 View Post
Untested but based off the documentation the equivalent in VapourSynth would be:

Code:
v = (v.std.SeparateFields(tff=True)
      .std.SelectEvery(cycle=4, offsets=[0, 3])
      .std.DoubleWeave(tff=True)
      .std.SelectEvery(cycle=2, offsets=0))
That's 50p->50i (aka 25i). 25p->50i is a no-op, it's already ready to go, unless you want to do fancy frame-interpolation. (The first post's VS code is a complicated no-op.) You just have to treat it as interlaced.
foxyshadis is offline   Reply With Quote
Reply

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 11:38.


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