digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Avisynth Scripting (http://www.digitalfaq.com/archives/avisynth/)
-   -   Avisynth: Interlaced sources guide? [See pg2] (http://www.digitalfaq.com/archives/avisynth/9032-avisynth-interlaced-sources.html)

J-Wo 04-09-2004 10:12 AM

Avisynth: Interlaced sources guide? [See pg2]
 
I find this topic a very confusing one! When it comes to interlaced sources and MA scripts, it just seems like there are too many suggestions floating around. I hope by asking these questions someone could make a "definitive" sticky for dealing with interlaced sources.

- Boulder has a thread MA script for interlaced sources, but for the life of me I just can't get it to work. I guess I am too used to Moviestacker. He mentions stuff like mod4, mod2, and height/2, and despite my best efforts to try that out I can't for the life of me get his script to work.
- Incredible has the thread Interlaced / Progressive ... and what it means: which deals with deinterlacing sources.
- So does Kwag in the stickyConverts 60fps Video into 24fps, but then Incredible makes some suggestions
- and finally, what about Kwag's latest MA optimal script?

My problem with Boulder's MA script for interlaced sources is I simply cannot get it to work as it is. So I combined Incredible's deinterlacing with Kwag's MA script but the encoding right now is sllllloooowwwww.

I'm sorry if I have asked similar questions in the past, but I still feel in the dark on this! I hope someone can shed some light on this issue for me. Thanks

Prodater64 04-09-2004 10:20 AM

I think the same. And maybe a taslation to spanish language.
:D

J-Wo 04-09-2004 02:00 PM

I really hope someone can help me. I'm trying to encode a DVD of the movie "Camp". DVD2AVI reports that it is NTSC and interlaced, I do see combing during high action scenes when I preview with DVD2AVI. But I'm so confused by

a) which script should I be using? Kwag's MA optimal?
b) How should I treat this interlaced material? Telicide/Decimate? Bob? Smoothdeinterlace? convert60ito24p? or the multitude of OTHER deinterlacing means?

Despite all the guides out there I still have no way of telling whether my source is "true" interlaced or not, and what the implications of that are. And what about IVTC? Basically if my source isn't Film I am 100% confused about what to do!

muaddib 04-09-2004 08:46 PM

Well, if your source is 29.970fps interlaced you have some alternatives:

1- Encode it as Interlaced and keep the 29.970fps. In this case you can use Boulder's script

2- Deinterlace it and keep the 29.970fps. In this case you just use a deinterlacer, like TomsMoComp, FieldDeinterlace, Telecide (without Decimate) and others. You have to choose the one you prefer. After that you can use the MA script.

3- Deinterlace and change to 23.976fps. In this case you can use the convert60ito24p script and than use the MA script.

I have not tested the convert60ito24p script, so I don't know if the results are good. But if they are... I would certainly choose the third alternative.

J-Wo 04-09-2004 10:26 PM

After a long day of experimenting, here are my results. I tried using convert60ito24p on my film but the results were horrible, with either Bob or SmoothDeinterlace. During camera panning scenes I could definately see where the interlaced fields have been combined (I believe the term is ghosting?). I had the best results using telecide() and decimate(). I'm not certain why you said not to use decimate, but with it my encode was converted to 23.976fps. I then enabled 2:3 pulldown in DVD-lab as I'm making KDVDs. Oh, and I am then using the MA script.

The results so far have been fantastic. I'm encoding with CCE at Q=15, min/max = 64/4500. This compressed a 6 Gb movie down to around 2.5 Gb with really no noticeble difference. In fact the source was rather grainy with noise, and the MA script seemed to do a good job of smoothing the film out.

muaddib 04-09-2004 11:07 PM

Quote:

Originally Posted by J-Wo
I tried using convert60ito24p on my film but the results were horrible, with either Bob or SmoothDeinterlace. During camera panning scenes I could definately see where the interlaced fields have been combined (I believe the term is ghosting?).

That's what I feared. :? :(

Quote:

I had the best results using telecide() and decimate(). I'm not certain why you said not to use decimate, but with it my encode was converted to 23.976fps.
Because decimating a non telecined movie will lead into a slightly jerk playback. That's a fact.
I've done some movies exact like you describe. Many friends didn't notice the problem at all. But some noticed, and I almost have headaches watching a 2 hours movie like this.

kwag 04-09-2004 11:16 PM

convert60ito24p script must *ONLY* be used on a 100% interlaced source :!:

-kwag

J-Wo 04-10-2004 12:01 AM

Quote:

Originally Posted by kwag
convert60ito24p script must *ONLY* be used on a 100% interlaced source :!:

Okay well I think that is where my confusion lies. How does one TELL that? DVD2AVI says it is interlaced but I find this topic so confusing, whether it truly is or not. Ack!

Quote:

Originally Posted by muaddib
Because decimating a non telecined movie will lead into a slightly jerk playback. That's a fact.
I've done some movies exact like you describe. Many friends didn't notice the problem at all. But some noticed, and I almost have headaches watching a 2 hours movie like this.

Hmm that's interesting. My encode looks very smooth with decimate, at least a small 2 min clip with camera panning did. I'll check the entire film to see if I notice this. But if I don't, what does that mean about the kind of interlaced film I have?

I just wish there would be a simple and easy way to figure out what to do with Interlaced material. For progressive film material, the criteria are so clear cut. Just check out doom9.org

jorel 04-10-2004 12:07 AM

hard way.....i never understood it completely.....

http://www.doom9.org/ivtc-tut.htm

:?

Icarus3000 04-10-2004 11:02 PM

I asked this elsewhere, but didn't get a clear response.

If I use my DV cam to capture from VHS, will the new "source" be 100% interlaced regardless of the original source?

kwag 04-10-2004 11:08 PM

Quote:

Originally Posted by Icarus3000
I asked this elsewhere, but didn't get a clear response.

If I use my DV cam to capture from VHS, will the new "source" be 100% interlaced regardless of the original source?

No. If the source was FILM, it's then telecined to 29.97fps on yor VHS.
You'll get your capture at 29.97fps which you should Inverse Telecine for best quality.
So you have to find out if your capture's original material is FILM or interlaced.

-kwag

incredible 04-11-2004 03:12 AM

Quote:

Originally Posted by muaddib
2- Deinterlace it and keep the 29.970fps. In this case you just use a deinterlacer, like TomsMoComp, FieldDeinterlace, Telecide (without Decimate) and others. You have to choose the one you prefer. After that you can use the MA script.

I wouldn't do that cause as you already kill the smoothness advantage of 29.97 interlaced as you do deinterlace, then you can also do the next step and apply the 60iTo24p function - as this will result in a much better compresable 23.976 Stream.

So my suggestion is .... if "real" interlaced source is present:
- you can deinterlace but you also then should bring it to 23.976 (60iTo24p function)
- to keep the quality you can encode directly as interlaced but in case of even 29.97 this means a veeeery lot avg bitrate needed ;-)

incredible 04-11-2004 03:16 AM

Quote:

Originally Posted by Icarus3000
I asked this elsewhere, but didn't get a clear response.
If I use my DV cam to capture from VHS, will the new "source" be 100% interlaced regardless of the original source?

Ok, you do capture from VHS, but the main question is: What does your VHS material base on??, means: IF you got a hollywoodmovie on your VHS then this has been shot on FILM in its veeery original state before it was brought to VHS. Means they did a telecine on that FILM material (23.976) to bring it to 29.976 VIDEO material (29.97).

bigggt 04-11-2004 08:13 AM

HI J-Wo

This is no solution because i am in the same boat as you i have no idea ,i go to doom9 and search the title of the movie and sometimes you can get clues what people did to get it to work.

Boulder 04-11-2004 08:32 AM

This version of the MA script should work well with interlaced sources:

Code:

## DLL Section ##
#
LoadPlugin("C:\Filters25\MPEG2Dec3.dll")
LoadPlugin("C:\Filters25\GripFit_YV12.dll")
LoadPlugin("C:\Filters25\STMedianFilter.dll")
LoadPlugin("C:\Filters25\asharp.dll")
LoadPlugin("C:\Filters25\unfilter.dll")
LoadPlugin("C:\Filters25\undot.dll")
#
####
## Main section and static filters ###
#
Mpeg2Source("Your_D2V_Source_Here")
#

GripCrop(Your_GripCrop_Parameters_Here)

UnFoldFieldsVertical(flip=true)

undot()
asharp(1, 4)
GripSize(resizer="BicubicResize")
STMedianFilter(3, 3, 1, 1 )
MergeChroma(blur(1.5))
MergeLuma(blur(0.1))
#
#

## Linear Motion Adaptive Filtering ##
#
# ( Portions from AviSynth's manual )
# This will apply variable temporalsoften
# and variable blur.
# Both filters are active at all times, and work inversely proportional to the
# activity, measured from current frame to next frame.

ScriptClip(" nf = YDifferenceToNext()" +chr(13)+ "unfilter( -(fmin(round(nf)*2, 100)), -(fmin(round(nf)*2, 100)) ).TemporalSoften( fmin( round(2/nf), 6), round(1/nf) , round(3/nf) , 1, 1)  ")

#
#
#

FoldFieldsVertical(flip=true)

GripBorders()
#LetterBox( Your_Values_Here ) # Depends on situation. Use MovieStacker!

#
#
## Functions ###

function fmin( int f1, int f2) {
  return ( f1<f2 ) ? f1 : f2
}
 
function SetParity(clip c, bool parity)
{
    return parity ? c.AssumeTFF() : c.AssumeBFF()
}

function UnfoldFieldsVertical(clip c, bool "flip")
{
    flip = default(flip, false)
    oldParity = c.GetParity()
    c = c.AssumeTFF().SeparateFields().AssumeFrameBased()
    top = c.SelectEven()
    bottom = c.SelectOdd()
    c = StackVertical(top, flip ? bottom.FlipVertical()
    \                          : bottom)
    return c.SetParity(oldParity)
}

function FoldFieldsVertical(clip c, bool "flip")
{
    assert(c.Height() % 2 == 0, "FoldFieldsVertical: unexpected frame height")
    flip = default(flip, false)
    oldParity = c.GetParity()
    originalHeight = c.Height() / 2
    evens = c.Crop(0, 0, c.Width(), originalHeight)
    odds = c.Crop(0, originalHeight, c.Width(), originalHeight)
    odds = flip ? odds.FlipVertical() : odds
    c = Interleave(evens, odds).AssumeFieldBased().AssumeTFF().Weave()
    return c.SetParity(oldParity)
}

#
####


jorel 04-11-2004 09:05 AM

Quote:

Originally Posted by bigggt
HI J-Wo

This is no solution because i am in the same boat as you i have no idea ,i go to doom9 and search the title of the movie and sometimes you can get clues what people did to get it to work.

i'm in the same boat as you 2, but outside... :oops: (glub)
can a castaway up a board?...thanks.
now we need a navy.... more will come !
:wink:

bigggt 04-11-2004 09:14 AM

Quote:

Originally Posted by Jorel
i'm in the same boat as you 2, but outside... (glub)
can a castaway up a board?...thanks.
now we need a navy.... more will come !

Hop a board
The more the merrier :D

J-Wo 04-11-2004 05:03 PM

Jorel your link to http://www.doom9.org/ivtc-tut.htm was extremely helpful! I suggest a sticky should be put up either linking to that article or some bold person do a summerization of it, incorporating changes as needed to suit KVCD/KDVDs.

It did a REALLY good job of explaining whether your source is 100% 29.97 interlaced or 23.976 telecined to 29.97. Turns out my source was the latter, so a simple IVTC (inverse telecine) worked.

That page provides some excellent avs samples to check your source. For example, load your source with
Code:

LoadPlugin("mpeg2dec.dll")
LoadPlugin("Decomb.dll")
MpegSource("clip.d2v")
Telecide(post=false)

and then open that file in Vdub. Advance frame by frame. For my source, I saw a pattern of 2 repeated frames followed by 3 progressive (non-interlaced) frames, meaning I could safely use IVTC. An alternative is to load your source with only MpegSource() with no telecine line. In that instance, you will see 2 interlaced frames followed by 3 progressive frames. If however I saw that almost every frame was interlaced, IVTC would not work and I would have to deinterlace.

I ended up making a script with the following IVTC lines:
Code:

Telecide(Guide=1,Post=False)
Decimate(Cycle=5)

and the results were beautiful. The Post=False option turns off the post-processing deinterlacer, which speeds up the encoding process. This is only recommended on very "clean" telecined sources, and it turns out for my sources I still saw a stray interlaced frame every now and then during high action scenes. However the result is hardly noticeable on TV.

Anyway admitadly this topic is much more complicated than I first imagined, but with the help of this forum I'm learning more day by day!

jorel 04-11-2004 08:04 PM

oh yes J-Wo, a long time i posted this :
http://www.kvcd.net/forum/viewtopic.php?t=5664
that have links to that page and some more.
i read it thousands.....
i know that this page is amazing but my poor english don't help me...
Boulder a few months, send me good explanations but it still confuse to me.

in the end of the tutorial is wroten:
"CONCLUSION
The subject is not an easy one if you’re just learning it for the first time.
It will take practice and experimentation to gain a better understanding
of the concepts and methods involved.
But we hope this tutorial will help some of you. "

then i'm out of the "some of you" in the phrase....
i really need a "how to" for stups....like: "do this" if.....and "do that" if don't...
:oops:

J-Wo 04-12-2004 10:50 AM

Jorel: I think I'll start working on just such a guide! It'll be really simple with straight forward steps, not getting into any complicated scenarios but hopefully will be enough for most users. I'll post a reply to this thread later, let me know what you think!


All times are GMT -5. The time now is 03:14 AM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.