PDA

View Full Version : weave deinterlacing 30fps footage..


lynxis
13th May 2007, 19:14
I use my PC as my TV for playing my PS2 and Gamecube. I hook it up into my Radeon X1900GT's S-Video input slot. If it matters to anyone I'm using Windows XP Pro 64bit edition.

I've noticed something about deinterlacing. Certain PS2 games run at 30fps. Final Fantasy X and XI and Xenosaga games for example.

In these cases a weave deinterlacing method should be fine. So I use it.

It seems to work at first because both field 1 and field 2 are displaying Frame 1 which contains the full image, like so:

http://img480.imageshack.us/img480/3355/nointss0.th.jpg (http://img480.imageshack.us/my.php?image=nointss0.jpg)

However, when I switch screens, interlacing appears:

http://img370.imageshack.us/img370/7103/intrv5.th.jpg (http://img370.imageshack.us/my.php?image=intrv5.jpg)

It's clearly because it was delayed 1/60th of a second so now field 2 and field 3 are the ones with the image and it's being split between frames 1 and 2, causing the good old zipper effect.

I'm wondering if there are no smart weave deinterlace methods out there which would check when the change was made and simply adjust the display order for it. I've looked around but no one really gives weaving a second glance because it's the reason we get zipper effect at all.

As it is, I'm using a frame doubling method (Deinterlace - Smooth) to deinterlace footage like this then chopping out half of the frames after the fact. This is extremely wasteful when I'd imagine there is a better method for this. I'd expect that such a weave method would be easy to impliment on-the-fly for watching or capturing too.

I'm also aware that most menus are 60fps too but they're just menus. Not a big deal on their own. I'm currently using DScaler but it has some issues with newer ATi drivers. As it was, I had to roll-back to a much older WDM driver just to get it to work. On top of that, the image quality is still not up to par, comparitively.

Any ideas?

Blue_MiSfit
14th May 2007, 03:17
I do a fair amount of Gran Turismo 4 on the Playstation 2 using DScaler and my 7800gt's S-Video in.

I have yet to find a deinterlace method that actually works in DScaler for this game. TomsMoComp is about as good as I can get, and it still is a little jerky and artifacty.

I usually just do a dumb weave and ignore the combing... I capture interlaced and deinterlace with AviSynth before feeding Premiere where the real magic begins :D

Do you play GT4? If so, do you have a good method?

~MiSfit

lynxis
14th May 2007, 05:58
Nah I don't play GT4 but I do plenty of CVS2 and DBZ3 which are both 60fps games. For on-the-fly deinterlace of these games, I found DScaler was one of the best.

VirtualDub is also reasonable. I run the capture at 720x240 @ 59.94fps and use the Field Shift plugin by Gunnar Thalin. (You need to enable RGB Filtering, Preview accelerate both fields to see the effect onscreen though.) Unfortunately, I find the video still sort of jumps around a bit.

If you're looking for a good deinterlace method after the fact, you can capture raw 720x240@59.94 and use Deinterlace - Smooth by the same guy who made the other plugin. It's always given me pristine video but it's time consuming to encode.

ShadowMage674
2nd June 2007, 14:17
You could try using Deinterlace Area-Based or Smart Deinterlacer, which get rid of the motion blur/zipper effect altogether. Personally, I've yet to find a "perfect" deinterlacer as even the aformentioned techniques aren't without issues such as the garbage effect and other artifacts. Tried em with FFX, FFXII and MGS3, all of which are 30fps games. For 60fps, i just use a weave deinterlacer and bear with the motion blur but i just can't stand it for 30 ps.

lynxis
3rd June 2007, 02:09
Problem solved. 30fps footage is now being properly displayed on screen as expected
using VirtualDub. Simply use this telecide plugin by Donald Graft available here:

http://neuron2.net/telecide.html


Also, you need to have RGB filtering enabled and you need to preview accelerate both
fields (progressive) within Virtual Dub to see any effect on-the-fly.

This isn't perfect though. Anytime the game increases to 60fps, you will get zipper
effect again. For example, the menus in Final Fantasy 12 are 60fps. It's not a big deal but if it bothers you, you can place a smart deinterlace filter on top of the telecide filter:

http://neuron2.net/smart/smart.html


The only point I'd keep in mind is that it will sometimes try to deinterlace even when there is no interlaced footage so it can actually degrade your footage.

If you've got 60fps games, using a frame doubling method is usually best. I described it in my 2nd post but it seems there is a slightly better filter for it called SmartBob. DO NOT ENABLE MOTION MAP DENOISING. I've run into all kinds of ugly stuff:

http://neuron2.net/bob.html


Keep in mind that this filter is very CPU intensive. For on the fly deinterlace with this filter, I'd recommend a 2ghz processor. If your system isn't so fast, the Field Shift plugin by Gunnar Thalin is better. It can probably be done on the fly with anything over 1ghz:

http://www.guthspot.se/video/#fieldshift


And as I also said, the absolute best results are with the Deinterlace - Smooth plugin by Gunnar Thalin which needs to be used with Frame Doubling. (720x240 @ 59.94fps)

http://www.guthspot.se/video/#deinterlacesmooth


Maybe I should compile all of this stuff into a single help thread? If someone thinks I should, would this be the best place to put it? Or somewhere else?

jggimi
3rd June 2007, 16:56
Maybe I should compile all of this stuff into a single help thread?I think you just did. :)

Guest
4th June 2007, 14:30
And as I also said, the absolute best results are ... In your humble opinion of course.

lynxis
4th June 2007, 16:29
In your humble opinion of course.

Yes, in my opinion. Mind you, I've yet to see anything which provides anywhere near as good results. The only reason I don't recommend it is that it's so horribly slow, it's no good for on-the-fly deinterlacing.

Guest
4th June 2007, 18:41
Have you looked at the Avisynth bobbers?

LoRd_MuldeR
5th June 2007, 17:01
It's clearly because it was delayed 1/60th of a second so now field 2 and field 3 are the ones with the image and it's being split between frames 1 and 2, causing the good old zipper effect.

I'm wondering if there are no smart weave deinterlace methods out there which would check when the change was made and simply adjust the display order for it. I've looked around but no one really gives weaving a second glance because it's the reason we get zipper effect at all.

lynxis, have you tried the "Smart Field Shift" and/or "Smart Swap Fields" filters in Avidemux (http://forum.doom9.org/showpost.php?p=1006659&postcount=1) yet?
If I understand your first post correctly, this could be exactly what you need...

lynxis
6th June 2007, 10:25
Please keep in mind, this is primarily about on-the-fly deinterlacing techniques. I use my PC as my TV and just haven't found a satisfactory deinterlacing technique in any available TV or capture software. I also have run into a number of compatibility issues because I use 64bit Windows XP. I've even run into a few just because I use a Radeon.

Have you looked at the Avisynth bobbers?

I have not used AviSynth extensively. I only used it previously to seperate fields for VirtualDub input, only to find I got the exact same result when I just captured at 59.94 fps at 720x240. It removed a step. Also, since this is about on-the-fly deinterlacing, I don't know of any method to incorporate AviSynth at that point.

As for using AviSynth for deinterlacing content after the fact, I haven't tried it for that. I'll look into it. I'm not good at scripting so can anyone recommend a few good front ends for this type of work? Preferably with directory batch processing support?

lynxis, have you tried the "Smart Field Shift" and/or "Smart Swap Fields" filters in Avidemux yet?
If I understand your first post correctly, this could be exactly what you need...

In immediate response to your post, I did find a good VirtualDub filter which did exactly what I wanted. Read the 5th post in this thread.

To re-iterate. This is about deinterlacing, on-the-fly, which means within capture software. AviDemux doesn't seem to do capture at all and is mainly for editing and encoding. In all honesty, I used AviDemux for encoding twice and after that I deleted it. It just didn't seem to feature anything I really needed from it. I only work with AVI files anyways. Besides that, I'm used to the VDub interface.

ShadowMage674
6th June 2007, 20:43
I've found that Smart Deinterlacer works best for me in Vdub, ver. 2.8 adds a good amount of customization options and so far this one gives me the least amount of artifacts considering the countless amount of deinterlacers i've tried.
However, games like Metal Gear Solid 3 where there is alot of foliage and detail present, the smart deinterlacer kinda ruins the image quality, so far the only game which yields incredible results with this technique is Kingdom Hearts 2 and perhaps FFX.

Area Based is another good one but is horrible for capturing considering how much of a system hog it is.

I'll try telecide and let you know how it works out, thanks for all the info.

I use a Leadtek TV2000 XP Expert btw on Vista 64-bit.

Edit: Just tried telecide. Is it just me or does it affect the frame rate at times? (seems to drop). Tried it with FFXII and Magna Carta. Running a Pentium D 2.66.

LoRd_MuldeR
6th June 2007, 21:49
Just a side note: With ffdshow's (http://sourceforge.net/project/showfiles.php?group_id=173941&package_id=199416) "ffvdub" plugin you can use all of ffdshow's deinterlacing filters in VirtualDub. This includes ffmpeg Deinterlacer, Kernel Deinterlacer, Kernel Bob, TomsMoComp plus all the DScaler deinterlacers (like Greedy, MoComp2 and Old Game). Maybe one of those does the trick...

lynxis
7th June 2007, 17:31
Edit: Just tried telecide. Is it just me or does it affect the frame rate at times? (seems to drop). Tried it with FFXII and Magna Carta. Running a Pentium D 2.66.

I wondered if it was just me or the game I was playing but you seem to be right. We should try to find an alternative smart telecine pull down method for these games. At least we know what we need. I'll do some digging.

Just a side note: With ffdshow's "ffvdub" plugin you can use all of ffdshow's deinterlacing filters in VirtualDub.

I was unaware of something like this. I'll look into it some.

Guest
7th June 2007, 17:43
The VirtualDub Telecide filter is not designed for use during capture. It's also not appropriate for pure video, so if your game isn't outputing progressive frames it is silly to apply it.

lynxis
7th June 2007, 18:35
I was unaware of something like this. I'll look into it some.

Some testing indicates that it will probably be OK for 30FPS based games, on the fly. I found the Kernal Bob/Deinterlace filters were pretty effective for that sort of thing but your milage may vary. Unfortunately, ffvdub isn't much use on 60fps material. You can get a good image but you're still going to output 30fps.

The interesting part for me is the AviSynth support in ffvdub. I'm just unsure how you would hope to apply it to capture input before going to a file. If you could, maybe there are some other options?

I've also yet to find another pulldown removal filter for VirtualDub... if anyone finds one...

The VirtualDub Telecide filter is not designed for use during capture. It's also not appropriate for pure video, so if your game isn't outputing progressive frames it is silly to apply it.

You are right but to be fair, no VirtualDub filters are designed to be used during capture at all, considering the nature of the application.

As for the progressive frames thing, I only recommend it's use on 30fps source material, which is progressive within a 60 field per second video stream. It would probably be a great filter to use on such games after capture, to re-order the fields so they line up properly.

Guest
7th June 2007, 20:16
As for the progressive frames thing, I only recommend it's use on 30fps source material, which is progressive within a 60 field per second video stream. Not necessarily. It could be pure interlaced video.

lynxis
8th June 2007, 07:53
Not necessarily. It could be pure interlaced video.

The video stream is definately interlaced. ANYTHING that my video card captures comes in as an interlaced video stream.

The information is present for a full 720x480 video frame which is, by definition, a progressive image. Hence, progressive frames.

What seems to throw this off is that menus and area changes are 60 new images per second which interrupt the progressive pulldown pattern.

*.mp4 guy
8th June 2007, 14:20
it looks like your getting an offset between the progressive fields, ie:

12 34 56 78

becomes

11 32 54 76 98

which destroys the progressive frames, on creates false interlacing (it also borks field parity) when captruing video from a gamecube I often see random switches between the two pulldown patterns (each switch is preceded by a single field being displayed duped). I have no idea what causes the problem, likely the gamecube is just dropping fields instead of full-frames, and my capture card is what screws up the rest, it looks like you are having the same problem.

lynxis
8th June 2007, 19:18
12 34 56 78

becomes

11 32 54 76 98

You're close. If the field display jumped like 32 54 76, that would lead one to believe that your fields are swapped and not displaying in sequence. That's pretty easy to fix with a "Swap fields" toggle.

The issue I'm experiencing is with a sort of 2:2 pulldown pattern. Normally the pattern is 1:1:2:2 which displays fine. That is exactly the way a weave deinterlace works. Randomly though, the pattern is interrupted for 1/60th of a second and becomes a 1:2:2:1 pattern. Because the fields are still being displayed in sequence, swapping fields doesn't fix the problem.

ShadowMage674
11th June 2007, 22:52
Tried capturing using telecide, max 30 minutes of continous video (FFXII Cutscenes). Even though it **seems** to drop frames, the final produced video is flawless and though there are some synch issues, it's nothing that can't be fixed with a resynch integration in vdub (Capture > Timing). If we could find an alternative it would be great, however so far telecide is working well for me.