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 15th July 2009, 19:59   #21  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
Single-rate deinterlacers do not halve the frame rate. That is absurd.
Guest is offline   Reply With Quote
Old 15th July 2009, 20:16   #22  |  Link
bizz & buzz
Registered User
 
Join Date: Jun 2008
Posts: 95
ok, let me get this straight (sorry if i'm stating the obvious):
say a clip is progressive, and has 100 frames. in the script i put selecteven() and then temporalsoften() - will the temporalsoften() use 50 frames, or 100 frames?
bizz & buzz is offline   Reply With Quote
Old 15th July 2009, 20:18   #23  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,417
Quote:
Originally Posted by bizz & buzz View Post
if i said that every filter in the chain is processing what was given to it by it's previous filter (as was portrayed in 2Bdecided's first scenario), then what's the difference between what you say, and what i said?
Here's what 2Bdecided actually said:
Quote:
Originally Posted by 2Bdecided View Post
Let me put it more generally - say you had an intra-frame denoiser, and then did selectevery(10,0) - would AVIsynth denoise all the frames, and then dump 9-in-10, or would it only denoise 1-in-10 to start with?
The answer in this case is it would only denoise 1-in-10 to start with. Note that he said intra-frame denoiser, ie one that only processes one input frame for each frame it delivers. So here the selectevery asks for every tenth frame and that's what the said denoiser will process.

If it was a temporal denoiser, selectevery still asks for every tenth frame but in order to deliver those frames, the denoiser now has to process additional surrounding frames as well.
Gavino is offline   Reply With Quote
Old 15th July 2009, 20:20   #24  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,417
Quote:
Originally Posted by bizz & buzz View Post
say a clip is progressive, and has 100 frames. in the script i put selecteven() and then temporalsoften() - will the temporalsoften() use 50 frames, or 100 frames?
It can only see 50 frames since in this (new) case, it comes after the selecteven.
Gavino is offline   Reply With Quote
Old 15th July 2009, 20:25   #25  |  Link
10L23r
Registered User
 
Join Date: Apr 2009
Posts: 122
Quote:
Originally Posted by neuron2 View Post
Single-rate deinterlacers do not halve the frame rate. That is absurd.
he was confusing fieldrate w/ framerate.

Quote:
Originally Posted by Gavino View Post
The answer in this case is it would only denoise 1-in-10 to start with. Note that he said intra-frame denoiser, ie one that only processes one input frame for each frame it delivers. So here the selectevery asks for every tenth frame and that's what the said denoiser will process.
so abc().selectevery(10,0) is the same as selectevery(10,0).abc(), with abc() as an intraframe denoiser? (I mean in terms of speed)

Last edited by 10L23r; 15th July 2009 at 20:30.
10L23r is offline   Reply With Quote
Old 15th July 2009, 20:28   #26  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
Quote:
Originally Posted by 10L23r View Post
he was confusing fieldrate w/ framerate.
No, single-rate deinterlacers do not halve anything. The number of output fields and frames is the same as the number of input fields and frames.
Guest is offline   Reply With Quote
Old 15th July 2009, 20:35   #27  |  Link
bizz & buzz
Registered User
 
Join Date: Jun 2008
Posts: 95
Gavino@ so what you are saying is that some filters, does in fact take into consideration what lies a head in the filter chain, and some don't?
bizz & buzz is offline   Reply With Quote
Old 15th July 2009, 20:37   #28  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,417
Quote:
Originally Posted by 10L23r View Post
so abc().selectevery(10,0) is the same as selectevery(10,0).abc(), with abc() as an intraframe denoiser? (I mean in terms of speed)
Yes, that's right. In both cases, only 10% of the source frames will be processed.
Gavino is offline   Reply With Quote
Old 15th July 2009, 20:50   #29  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,417
Quote:
Originally Posted by bizz & buzz View Post
Gavino@ so what you are saying is that some filters, does in fact take into consideration what lies a head in the filter chain, and some don't?
No, generally filters do not know what is ahead or behind themselves in the filter chain. What happens is that each filter simply asks its predecessor in the chain for the frames it needs in order to produce its own output frame. So, for example, SelectEven only asks for every 2nd frame of its input - this means that if the previous filter (which is supplying that input) is a spatial (or intra-frame) one, it also only gets to process every 2nd frame.

You might find it useful to read about the script execution model.
Gavino is offline   Reply With Quote
Old 15th July 2009, 21:13   #30  |  Link
thewebchat
Advanced Blogging
 
Join Date: May 2009
Posts: 483
Clearly single-rate deinterlacers halve the rate. There were originally 60 temporal elements per second and after "single" rate deinterlacing there are only 30. Therefore the rate was halved.
thewebchat is offline   Reply With Quote
Old 15th July 2009, 21:26   #31  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
Quote:
Originally Posted by thewebchat View Post
In fact, "single-rate" deinterlacers HALVE the framerate.
They do NOT halve the frame rate as you claimed. They do indeed reduce the temporal resolution. But that is not the same thing. The frame rate and field rate are UNCHANGED.

Your imprecise talk is dangerously misleading.
Guest is offline   Reply With Quote
Old 15th July 2009, 21:42   #32  |  Link
bizz & buzz
Registered User
 
Join Date: Jun 2008
Posts: 95
gavino, thank you for the clarification and recommended reading
bizz & buzz is offline   Reply With Quote
Old 16th July 2009, 08:28   #33  |  Link
m3mbran3
Registered User
 
Join Date: Jun 2009
Posts: 90
If I deinterlace with
Code:
TDeint(mode=2,edeint=nnedi2(field=-2,qual=3))
then TDeint is smartbobbed field-matching (same rate output, blend frames from bobbed stream) and NNEDI2 is double rate (alternates each frame), uses avisynth's internal parity value to start. Should this produce any different output than simply using
Code:
TDeint(edeint=nnedi2(qual=3))
?

From my tests, the first code performs better in high motion situations, you can see that on the hand that there is a line from the package in the second image, but on the first it is not there. I have no idea why this is though but assume it has something to do with the interlacing.
m3mbran3 is offline   Reply With Quote
Old 16th July 2009, 10:39   #34  |  Link
shoopdabloop
Registered User
 
Join Date: Mar 2009
Posts: 166
i tried your first script on some 60i dv footage and got the ghosting you would expect from TDeint mode 2.
however, the second one did not cause any weird artifacts like that, and as one would expect, looked clearer than the first.
something's not right.

Last edited by shoopdabloop; 16th July 2009 at 10:44.
shoopdabloop is offline   Reply With Quote
Old 16th July 2009, 12:03   #35  |  Link
m3mbran3
Registered User
 
Join Date: Jun 2009
Posts: 90
my source is 25i PAL footage if that makes a difference.
m3mbran3 is offline   Reply With Quote
Old 16th July 2009, 13:01   #36  |  Link
thewebchat
Advanced Blogging
 
Join Date: May 2009
Posts: 483
Well gee, if you "blend frame from the bobbed stream" of course you'll get ghosting.

TDeint(mode=2,blahblahblah) is the same as TDeint(mode=1,blahblahblah).Merge(SelectEven,SelectOdd). TDeint(mode=0) is (in terms of results) the same as TDeint(mode=1,blahblahblah).SelectEven.

Obviously the high amount of blur from blending two temporally-different frames together would result in higher motion "smoothness" compared to just dropping half the frames.
thewebchat is offline   Reply With Quote
Old 16th July 2009, 14:12   #37  |  Link
2Bdecided
Registered User
 
Join Date: Dec 2002
Location: Yorkshire, UK
Posts: 1,673
...and if you want to avoid blur and stutter, go to 50p!

Cheers,
David.
2Bdecided is offline   Reply With Quote
Reply

Tags
bobbing, encoding, fps, selecteven(), selectodd()

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 10:39.


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