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 > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 3rd July 2010, 15:19   #1  |  Link
Overdrive80
Anime addict
 
Overdrive80's Avatar
 
Join Date: Feb 2009
Location: Spain
Posts: 674
Convert 30i to 30p

Hi, i attempt convert video 30i to 30p, and i used code:


Wrong
Code:
mcbob(clip)

selectevery(4,0,3)
Correct
Code:
mcbob(clip)

selectevery(4,0,2)
Although, the result not is good. Somebody idea? Excuse me for me english and ignorance ^^.

Last edited by Overdrive80; 6th July 2010 at 00:00. Reason: Edit for not confuse rest people
Overdrive80 is offline   Reply With Quote
Old 3rd July 2010, 15:20   #2  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,907
Use a high-quality single-rate deinterlacer. Your solution with selectevery(4,0,2) should also work.

Also a trouble report that just says "result is not good" is totally useless.

Last edited by Guest; 3rd July 2010 at 15:24.
Guest is offline   Reply With Quote
Old 3rd July 2010, 18:32   #3  |  Link
Overdrive80
Anime addict
 
Overdrive80's Avatar
 
Join Date: Feb 2009
Location: Spain
Posts: 674
Quote:
Originally Posted by neuron2 View Post
Use a high-quality single-rate deinterlacer. Your solution with selectevery(4,0,2) should also work.
If i used the code posted, together with selectevery(4,0,2) should work fine, doesn´t?

Quote:
Also a trouble report that just says "result is not good" is totally useless.
Excuse me, i dont know as say that video previewing jumping frames without fluency.

If i use separatefields(), will it work too?
Overdrive80 is offline   Reply With Quote
Old 3rd July 2010, 18:49   #4  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,920
Post a sample, if you are having trouble diagnosing an issue. It's usually easier than trying to describe the issue

SeparateFields probably isn't what you want in this case.

Derek
__________________
These are all my personal statements, not those of my employer :)
Blue_MiSfit is offline   Reply With Quote
Old 3rd July 2010, 18:54   #5  |  Link
Alex_ander
Registered User
 
Alex_ander's Avatar
 
Join Date: Apr 2008
Location: St. Petersburg, Russia
Posts: 334
Quote:
Originally Posted by Overdrive80 View Post
If i use separatefields(), will it work too?
No.
Quote:
If i used the code posted, together with selectevery(4,0,2) should work fine, doesn´t?
It should work.
Quote:
Excuse me, i dont know as say that video previewing jumping frames without fluency.
That's because (4,0,3) means using wrong (non-equidistant) frames from the double-framerate sequence created with mcbob. SelectEvery(4,0,2), SelectEvery(4,1,3), SelectEvery(2,0) or simply SelectEven() is OK.
Alex_ander is offline   Reply With Quote
Old 3rd July 2010, 18:56   #6  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,393
Quote:
Originally Posted by Overdrive80 View Post
i dont know as say that video previewing jumping frames without fluency.
That's because your SelectEvery(4,0,3) is wrong. That is selecting frames like this:

ABCDEFGHIJKLMNOPQ

It's quite obvious that this won't play fluid. The selection is not distributed evenly.

Correct is SelectEvery(4,0,2), like neuron2 told you. SelectEvery(4,1,3) is also possible. Both do the same as SelectEven(), respectively SelectOdd().

ABCDEFGHIJKLMNOPQ

Even distribution == fluid playback.

***

Un/related note: MCBob is one huge dinosaur.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 3rd July 2010, 19:04   #7  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,907
Also, bobbing just to throw away half the frames rubs me the wrong way.
Guest is offline   Reply With Quote
Old 3rd July 2010, 22:31   #8  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,393
Why that? A bobber is called, yes, but with SelectEven/Odd afterwards, half of the frames are not even requested from the bobber. Thus the whole thing collapses to a normal single-rate deinterlacer. Perhaps it doesn't seem very elegant, buthere's hardly any unnecessary overhead.

After all, the choice of mocomp-deinterlacers is somewhat limited, and it happens to be that all of the scripted MVTools-Deinterlacers are bob deinterlacers. But, if those would be modificated to deliver single rate, the most important change would be ..... a SelectEven/Odd() placed somewhere in the script.

However, dinosaurs are for museums.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 3rd July 2010, 22:49   #9  |  Link
Overdrive80
Anime addict
 
Overdrive80's Avatar
 
Join Date: Feb 2009
Location: Spain
Posts: 674
Quote:
Originally Posted by neuron2 View Post
Also, bobbing just to throw away half the frames rubs me the wrong way.
If it is wrong way, as would you do it? Maybe should apply srestore?

Edit: Thanks at all, i forgive me if disturbe you.

Last edited by Overdrive80; 3rd July 2010 at 22:55. Reason: A
Overdrive80 is offline   Reply With Quote
Old 4th July 2010, 00:12   #10  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,907
I didn't say it was wrong.
Guest is offline   Reply With Quote
Old 4th July 2010, 01:28   #11  |  Link
Overdrive80
Anime addict
 
Overdrive80's Avatar
 
Join Date: Feb 2009
Location: Spain
Posts: 674
Quote:
Originally Posted by neuron2 View Post
Also, bobbing just to throw away half the frames rubs me the wrong way.
I didn't say it was wrong.[/QUOTE]

Ok, it really says that rubs the wrong way, which would be more correct for you.
Overdrive80 is offline   Reply With Quote
Old 5th July 2010, 11:52   #12  |  Link
chopperman
Registered User
 
Join Date: Apr 2010
Posts: 3
Quote:
Originally Posted by Didée View Post
That's because your SelectEvery(4,0,3) is wrong. That is selecting frames like this:

ABCDEFGHIJKLMNOPQ

It's quite obvious that this won't play fluid. The selection is not distributed evenly.

Correct is SelectEvery(4,0,2), like neuron2 told you. SelectEvery(4,1,3) is also possible. Both do the same as SelectEven(), respectively SelectOdd().

ABCDEFGHIJKLMNOPQ

Even distribution == fluid playback.

***

Un/related note: MCBob is one huge dinosaur.
What's the difference between SelectEven() and SelectOdd(),does the field order has something to with it?

I mean if my field order is top field first I must use SelectEven() and vice versa.

Once i see some guys also put either AssumeTFF() or AssumeBFF() before the TempGaussMC, well it nessary???
chopperman is offline   Reply With Quote
Old 5th July 2010, 12:31   #13  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,393
Quote:
Originally Posted by chopperman View Post
What's the difference between SelectEven() and SelectOdd(),does the field order has something to with it?
No, not related to fieldorder. (Unless you have a source where top(bottom) fields have lower quality than the bottom(top) fields).
You have 100% of bob frames, and going to eliminate 50% of those. SelectEven will nuke the one half. SelectOdd will nuke the other half. That's all.

Quote:
Once i see some guys also put either AssumeTFF() or AssumeBFF() before the TempGaussMC, well it nessary???
It's not necessary when the field order of the input material is correctly flagged, and reported by the source filter (e.g.: Mpeg-2 via DGDecode/mpeg2source).
It is necessary when the source material is not flagged, falsely flagged, and/or the source filter doesn't report the field order. (e.g.: AviSource).
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 5th July 2010, 14:30   #14  |  Link
chopperman
Registered User
 
Join Date: Apr 2010
Posts: 3
Quote:
Originally Posted by Didée View Post
No, not related to fieldorder. (Unless you have a source where top(bottom) fields have lower quality than the bottom(top) fields).
You have 100% of bob frames, and going to eliminate 50% of those. SelectEven will nuke the one half. SelectOdd will nuke the other half. That's all.


It's not necessary when the field order of the input material is correctly flagged, and reported by the source filter (e.g.: Mpeg-2 via DGDecode/mpeg2source).
It is necessary when the source material is not flagged, falsely flagged, and/or the source filter doesn't report the field order. (e.g.: AviSource).
Thanks Didée
another question: Is there any other means for keeping the same rate deinterlacing execpt for SelectEven() and SelectOdd().
Personally I would like try to adjust function in TempGaussMC and take the -1 instead of -2 for field option(like the sentence below) and whether is right or not?

# Create spatially interpolated bob-clips
dbob = clp.bob(0,0.5)
edi = (EdiMode=="nnedi3") ? clp.nnedi3(field=-1,nsize=nsize,nns=nns,qual=qual)


Last edited by chopperman; 5th July 2010 at 14:33.
chopperman is offline   Reply With Quote
Old 5th July 2010, 14:37   #15  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,393
No, that ain't work. TGMC internally needs to access all top/and/bottom fields (respectively, all even/and/odd bobframes). If you throw-away one half of the fields/frames already at the start, then TGMC doesn't make any sense anymore. For that, you can simply use NNEDI on its own.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 5th July 2010, 15:08   #16  |  Link
chopperman
Registered User
 
Join Date: Apr 2010
Posts: 3
Quote:
Originally Posted by Didée View Post
No, that ain't work. TGMC internally needs to access all top/and/bottom fields (respectively, all even/and/odd bobframes). If you throw-away one half of the fields/frames already at the start, then TGMC doesn't make any sense anymore. For that, you can simply use NNEDI on its own.
Thanks Didée your answer is helpful for the newbie like me
chopperman 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 20:07.


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