View Full Version : 5 interlaced frames for 1 progressive
uralop
10th January 2013, 21:35
Hello,
I'm trying to encode a music video I've got on a DVD of mine.
Looking at the frames, I see 5 "interlaced" frames for 1 progressive.
The frame rate is 29.97fps.
You can see a sample here (5MB) :
http://uppit.com/jnefrps59enp/VTS_02_1.MPG
I'm not sure but it looks like every field is in there to completey restore the progressive film, am I right ?
If so, how could I do that ?
Thanks ;)
Didée
10th January 2013, 23:48
Didn't look at your sample, but your description sounds like a simple PAL>NTSC conversion with field pulldown.
If so, then this should do:
Mpeg2source()
TFM()
TDecimate(cycle=6,cycleR=1)
In case of doubt, look closely at
Mpeg2source()
bob()
If - and only IF - there a lots of blended frames ("double images") in the bob result, then it's a fieldblended normconversion, and it's time for Srestore:
Mpeg2source()
bob() # may use a smarter bobber here
Srestore()
uralop
11th January 2013, 00:40
Didn't look at your sample, but your description sounds like a simple PAL>NTSC conversion with field pulldown.
If so, then this should do:
Mpeg2source()
TFM()
TDecimate(cycle=6,cycleR=1)
That's what I had tried but it left some "interlaced" frames.
In case of doubt, look closely at
Mpeg2source()
bob()
If - and only IF - there a lots of blended frames ("double images") in the bob result, then it's a fieldblended normconversion, and it's time for Srestore:
Mpeg2source()
bob() # may use a smarter bobber here
Srestore()
Indeed, there are a lot of blended frames (I'd say 1 blended every 2 frames).
And this is amazing what Srestore does. It works really great. :)
But it created a lot of judder on lines.
Look at the pictures below (on the car) :
TDecimate :
http://img560.imageshack.us/img560/3221/sanstitrecnv.jpg
Srestore :
http://img202.imageshack.us/img202/9598/sanstitre2ew.jpg
Just to know cause I think that's interesting: what was the process the studio used to encode the video to 29.97fps?
Thanks for your answers ;)
Edit: I've just tried Tdeint instead of Avisynth's Bob and it looks already way better :)
AzraelNewtype
13th January 2013, 21:42
It's not srestore causing that, it's bob. Use a smarter bobber like Didée suggested. nnedi3 is a good place to start, qtgmc if you still don't like those results (it will be slower).
Edit: tdeint isn't a particularly good bobber, but yeah it's better than bob (which is intentionally as dumb as possible). How didn't I see that edit?
uralop
13th January 2013, 22:13
Thanks for nnedi3.
I didn't really know any other bobbers except Bob and TDeint. :) Thanks.
uralop
14th January 2013, 00:02
How do you use nnedi3 or QTGMC as bobbers without involving the deinterlacing part ?
Didée
14th January 2013, 00:55
Why "without involving"? The (bob-)-deinterlacing part is exactly what is required for Srestore.
A pretty resonable allrounder for feeding Srestore is e.g. YadifMod+NNEDI3. NNEDI makes good interpolation, and Yadif is not too bad in reckognizing no-motion, i.e. avoiding shimmering of no-motion parts.
sourcevideo
YadifMod(mode=2,edeint=NNEDI3(field=-2))
Srestore()
Attention: for mpeg2source this is (usually) sufficient. In case of sources with wrong fieldorder flag (or completely missing) - AviSource,DirectShowSource etc. - one may need to AssumeTFF() manually.
QTGMC (maybe) can be used too - technically it's the wrong tool for bobbing fieldblended interlacing, but in practice it often works out.
uralop
14th January 2013, 09:50
Yes, sorry I realize that my question makes no sense now that I read it. :)
Thanks for your answer.
uralop
14th January 2013, 11:30
Why "without involving"? The (bob-)-deinterlacing part is exactly what is required for Srestore.
A pretty resonable allrounder for feeding Srestore is e.g. YadifMod+NNEDI3. NNEDI makes good interpolation, and Yadif is not too bad in reckognizing no-motion, i.e. avoiding shimmering of no-motion parts.
sourcevideo
YadifMod(mode=2,edeint=NNEDI3(field=-2))
Srestore()
Attention: for mpeg2source this is (usually) sufficient. In case of sources with wrong fieldorder flag (or completely missing) - AviSource,DirectShowSource etc. - one may need to AssumeTFF() manually.
QTGMC (maybe) can be used too - technically it's the wrong tool for bobbing fieldblended interlacing, but in practice it often works out.
I assume mode should be equal to 1 for YadifMod in your script since we want to double the frame rate. And it gives an error with mode=2 anyway.
Didée
14th January 2013, 12:28
Yes, correct. It's mode=1 for Yadif/Mod. I didn't happen to use Yadif/Mod for quite some time, and memory served me badly, it seems. :)
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.