PDA

View Full Version : Good Smart Deinterlace Filter for VirtualDub?


easy2Bcheesy
2nd November 2006, 17:09
Hi there,

I'm looking to capture 720x480 and 720x576 component video using VirtualDub and I'd like to deinterlace this footage on the fly as I am capturing. I am thinking that with the power of Core 2 CPUs, this should not be a problem.

However, I'd like to use a smart deinterlacing filter to do the job, so only the affected parts of the interlaced frame are actually deinterlaced.

Can any one recommend a particular filter? It will be used on footage from games consoles. so the interlacing is pretty sharp there.

Your_Idol
3rd November 2006, 13:58
Post removed

LoRd_MuldeR
4th November 2006, 01:28
In VirtualDub I would use the ffvdub (comes with ffdshow) filter, which gives access to a great number of Deinterlacing filters (including KernelDeinterlacer, TomsMoComp and DScaler's Deint-Filters)

vlada
5th November 2006, 23:25
Some time ago I did a comparison of some deinterlace filters. You can see the results here (http://jech2.webz.cz/gallery/index.php). The page is written in czech, but you can have a look at the images.

Based on my test I would recommend Smart Deinterlace filter from Donald Graft. But do not use blend to deinterlace the areas. This setting worked best for me:

http://jech2.webz.cz/sd.png

johnsonlam
22nd November 2006, 09:16
Based on my test I would recommend Smart Deinterlace filter from Donald Graft. But do not use blend to deinterlace the areas. This setting worked best for me:
http://jech2.webz.cz/sd.png

I think it depends on what kind of source.

When I capture with VHS, I compared all the choice, and found BLEND works best because it smooth the screen.

The edge will give the straight line some small cracks, just like some sprout on the flat concrete.

I also hope to find the best, and I've tried the Alparysoft filter but it seems MSU is the best, too bad SAMSUNG have the right so MSU can't release to public.

vlada
22nd November 2006, 13:15
johnsonlam
I hate blend deinterlace. It looks terrible on all movie I've seen. It might look good with some low motion movies, but it is hideous in dynamic scenes.

But of course you're right, that the ideal setting depends on a source material.

AVIL
22nd November 2006, 13:18
Hi,

I use muskun filter ocasionally as deinterlacer and i've found it fast. Quality is not as good as avisynth deinterlacers but perhaps meets your requeriments. Found it (with other goods virtualdub filters) at :

http://acobw.narod.ru/

NB: I'm not at all related with acobw.narod.ru

Your_Idol
1st December 2006, 13:54
Never blend and don't bother with KernelDeinterlacer or TomsMoComp they never remove all the interlacing and make the file harder to compress. I always remove a field or use Deinterlace Smooth by Gunnar Thalin.

Have a look here (http://www.100fps.com/filesizes_of_deinterlaced_video.htm).

johnsonlam
6th December 2006, 04:07
Never blend and don't bother with KernelDeinterlacer or TomsMoComp they never remove all the interlacing and make the file harder to compress. I always remove a field or use Deinterlace Smooth by Gunnar Thalin.


Thanks for the advise.

I've visited Gunnar Thalin's site and downloaded the plugin, it make the height doubled, but still have some not-so-smooth feeling on the vertical lines, any special settings?

Your_Idol
6th December 2006, 15:06
You know you have to separate the feilds with avisynth and it doubles the frame rate?

johnsonlam
8th December 2006, 03:07
You know you have to separate the feilds with avisynth and it doubles the frame rate?

Mmm ... don't know, I seldomly use avisynth because Vdub is more WYSIWYG, I found the output weird and unable to use it.

Temporary back to Donald Graft's Smart De-Interlace.

TheBlueTree
9th December 2006, 01:42
Instead of creating a ew thread I'll just continue onto this one, the question is similar enough... sept I'll need alot more work and dumbing down for my question to be answered....

Basically I'm a huge newb to DvD, I finaly learned how to convet VOB to AVI but now the AVI's are interlaced, how fun!

For the past week I've been trying to learn how to fix the problem, reading guide no help there, I'm lost.

Using VdubMod I used the IVTC method of trying to deinterlace it but that only... kinda worked I guess.

Then reading guides upon guides I hear all the rabble about Avisynth, I download all this stuff for it... don't have a clue how to use it though.

I just need an easy way to deinterlace this DVD of mine. What or where should I start doing/looking.

vlada
9th December 2006, 09:05
TheBlueTree> First of all, you should check, if your DVD is really interlaced or if it is telecined. Then it would be really useful to learn how to use Avisynth. It is easy, you just create a text file with commands and an .avs extension and then you treat the file just like if it was an AVI.

You can also try to use AutoGK, which automates the use of DgIndex, Avisynth and VirtualDub. These are the essential tools to do a high quality DVD rip.

johnsonlam> You need a very simple AviSynth script for Deinterlace Smooth VD filter:
AviSource("video.avi")
SeparateFields()

This will separate the movie into fields with double framerate and a half resolution.

TheBlueTree
9th December 2006, 17:54
wow I'm pretty slow lol, so it's just as basic as html format basically?

Yes it's interlaced, I was useing a DGIndex guide then it mentioned avisynth and I noobed out lol. So thank you very much I shall get to work now :)


If you separate the fields which doubles the frame rate.... wouldn't that make the file really huge?

Your_Idol
10th December 2006, 01:27
To use avisynth just open notepad, type the commands and save as .avs

Use the DGIndex .d2v file in a script like this:

# the lines with a # will be ignored by avisynth
# PLUGINS
LoadPlugin("C:\Program Files\DGMPGDec\DGDecode.dll")
LoadPlugin("C:\Program Files\AviSynthPlugins\decomb.dll")

# SOURCE
mpeg2source("C:\DVD\YourMovie.d2v")

# DEINTERLACING (1)
FieldDeinterlace(blend=false)

# CROPPING (Left,Top,Right,Bottom)
crop(2,76,716,424)

# RESIZING (Width,Hight)
LanczosResize(720,288)


The .avs file can then be opened in virtualdubmod and saved in fast recompress mode.

johnsonlam
10th December 2006, 07:02
johnsonlam> You need a very simple AviSynth script for Deinterlace Smooth VD filter:
AviSource("video.avi")
SeparateFields()

This will separate the movie into fields with double framerate and a half resolution.

Thanks for your advise!

vlada
10th December 2006, 15:46
TheBlueTree
Of course if you double the framerate, it will make the file bigger (usually about 50%). But you don't have to double it. Try to keep original framerate and if the movie playback is smooth enough, you're done. I have good experiences with DgBob deinterlace filter. It has both modes - original and double framerate.

kandrey89
25th June 2008, 22:33
TheBlueTree> First of all, you should check, if your DVD is really interlaced or if it is telecined. Then it would be really useful to learn how to use Avisynth. It is easy, you just create a text file with commands and an .avs extension and then you treat the file just like if it was an AVI.

You can also try to use AutoGK, which automates the use of DgIndex, Avisynth and VirtualDub. These are the essential tools to do a high quality DVD rip.

johnsonlam> You need a very simple AviSynth script for Deinterlace Smooth VD filter:
AviSource("video.avi")
SeparateFields()

This will separate the movie into fields with double framerate and a half resolution.

How do I check, if the DVD is really interlaced or if it is telecined?

Dark Shikari
25th June 2008, 22:35
How do I check, if the DVD is really interlaced or if it is telecined?If its telecined, only some frames are interlaced. If its interlaced, every frame is.

kandrey89
25th June 2008, 22:55
Wow, that made so much sense, I now see the difference thanks!
Can you tell me what this means: 29.970fps, every 4th and 5th frames are interlaced.

Goes like this: 1 2 3 4i 5i 1 2 3 4i 5i 1 2 3 4i 5i ...

It's telecined I suppose, anything you can think to tell me?

neuron2
25th June 2008, 22:59
It's 3:2 pulldown (telecining). It may be hard or soft telecine but you can't tell after it is decoded. You have to look for flags in DGIndex.

kandrey89
25th June 2008, 23:05
It's 3:2 pulldown (telecining). It may be hard or soft telecine but you can't tell after it is decoded. You have to look for flags in DGIndex.

I think that's what's been bugging me, I keep seeing [R] [R] frames which I can now distinguish as 4i and 5i frames.

So [R] frames in VirtualDub flagged as REPEATED?

neuron2
25th June 2008, 23:10
Open the VOB in DGIndex and do F5. Look at the Field Repeats box. If you are getting a count there, then you have soft pulldown and can probably use Force Film mode in DGIndex to achieve IVTC.

kandrey89
25th June 2008, 23:12
I just tested all the modes: Forced Film, Ignore Flags, and Honor Flags.
The only one to give me 23.976024 => ~23.976 is the Forced Film.

And yes, I am getting a count on field repeats.

Thanks You Neuron2

neuron2
25th June 2008, 23:14
You could have known that by reading the manual. There' s no need to test it.

kandrey89
25th June 2008, 23:17
Is there a way to Force Film ie IVTC in VirtualDub? I'm not having any luck with Frame Rate controls.

That's a soft pull down as per your words?!...
http://i31.tinypic.com/2agun12.jpg

vlada
25th June 2008, 23:21
kandrey89>
Some links to explain what telecine is and how it is done:

http://www.zerocut.com/tech/pulldown.html
http://en.wikipedia.org/wiki/Telecine
http://www.doom9.org/index.html?/synch.htm

If it is hard telecine, then you have to use neuron2's Decomb filter (guide (http://www.doom9.org/index.html?/decomb.htm)).

AFAIK VirtualDub wasn't able to use any filters which change framerate until version 1.8.0. Now it should be possible to do IVTC in VirtualDub, but I don't any filter which can do it. To force "film" it would be probably the work of MPEG-2 input plugin created by fccHandler (http://home.comcast.net/~fcchandler/index.html).

kandrey89
25th June 2008, 23:29
I literally just switched over from fccHandler's VdubMPEG to v1.8.1+MPEG.
In my v1.6.19VDubMPEG I had no problems with interlaced lines, as soon as I switched over I noticed that all the same filetrs and settings gave me weird interlaced lines, and now I'm here trying to resolve it. Strange because i didn't have to do it in VDubMPEG.

I am reading some of those articles you posted, but "synch" article doesn't deal with VDub, and whatever I've found doesn't work on the video, it either offsets it by the amount I specify or it stays the same.

kandrey89
25th June 2008, 23:42
Grrrrr, I thought I learned enough. Never say enough, and never say never? Either way, I gotta go back and start learning from the basics :)

Question: Is the video above that I posted a 2:3 pull down? That's why VDub's IVTC 3:2 pulldown doesn't work?!!!
23.970/23.976=4/5 2:3 pulldown

One question though, I'm going to be learning AviSynth, the filtering, the cropping, the resize, after my processing is done, can I serve=frameserve? this filtered video to VirtualDub for encode into XviD?

neuron2
25th June 2008, 23:51
You could always set optionally whether VdubMPEG2 honored the flags or not. Probably the setting is not set to ignore them when you use the newer ones. Ignoring them there is (almost) the same as doing Force Film in DGIndex.

Vdub's adaptive 3:2 removal should handle 2:3 or 3:2. They are the same but with a different starting point (phase). But that is a heuristic that can fail. Don't use it for flagged telecine because ignoring the flags is perfect as long as the flags are correct.

VirtualDub can open your Avisynth script.

kandrey89
26th June 2008, 00:03
Well, all I know is that Frame Rate options do not affect the interlaced lines, and I can't find the option to turn on follow flags in VDub v1.8.1

Also what does it mean if DGIndex caught an exception during F5 process? What happens? Because of this "Film" turned into "Film 99%"

Edit: Do I need to demux if I want to down convert AC3\ACM 5CH audio into stereo 128kbit/s, and where would I down convert, in AviSynth or VDub?

neuron2
26th June 2008, 00:23
Well, all I know is that Frame Rate options do not affect the interlaced lines, and I can't find the option to turn on follow flags in VDub v1.8.1 Post a query about it here:

http://forums.virtualdub.org/

Also what does it mean if DGIndex caught an exception during F5 process? What happens? Because of this "Film" turned into "Film 99%" Probably your stream has a corrupted bit in it.

Edit: Do I need to demux if I want to down convert AC3\ACM 5CH audio into stereo 128kbit/s, and where would I down convert, in AviSynth or VDub? It depends on whether you are using the DGIndex route or the VirtualDub route to decode your stream, and what format you want to downsample to.

kandrey89
26th June 2008, 00:34
Since I want to use AviSynth now :D I'll go DGIndex route.
I want to downconvert not downsample, :/, anyway I think down convert means change bitrate but keep in same format, or not.

neuron2
26th June 2008, 00:40
Since I want to use AviSynth now :D I'll go DGIndex route. OK.

I want to downconvert not downsample, :/, anyway I think down convert means change bitrate but keep in same format, or not. You are wanting to make 5.1 AC3 into 2.0 AC3? Something else? I suggest demuxing it in DGIndex and then converting it as needed in Besweet. There are other options using Avisynth audio filters as well.

kandrey89
26th June 2008, 01:43
OK.

You are wanting to make 5.1 AC3 into 2.0 AC3? Something else? I suggest demuxing it in DGIndex and then converting it as needed in Besweet. There are other options using Avisynth audio filters as well.

Oh why did you suggest this? I lost 1 hour of precious time.

16 - ac3enc.dll creates (almost) useless ac3 streams. don't use it to encode things you care for. it's there only for test purposes.

Edit: video=mpeg2source("c:\NEW\GSSXT.d2v")
audio=DirectShowSource("GSSXT T80 3_2ch 448Kbps DELAY 0ms.ac3")
audiodub(video,audio)
This works, thanks, now the video appears to be proper frame rate in virtualdub. Thank You
Now all I need to do is add filters via avisynth, and downconvert audio AC3 via VDub. (I assume VirtualDub uses fccHandler's plugin for AC3-ACM to create a compliant and working ac3 stream unlike BeSweet, correct?)