PDA

View Full Version : Deinterlacing problem


454Casull
18th January 2007, 19:17
Captured from a Dreamcast game console, NTSC, TFF (I'm pretty sure), all frames are interlaced.

Here's a frame of the source I'm trying to deinterlace

http://www.rootminus1.com/howard/frame254-1.png

This is what it looks like when I use this script:

AviSource("D:\capture (2007-01-18 at 14-01-51).avi")
TDeint(order=1,mthreshC=0,mthreshL=0)

http://www.rootminus1.com/howard/frame254-2.png

Any idea what could be causing this problem? Could it be the settings in VirtualVCR? I'm using that to capture the video through my Hauppauge WinTV-PVR-150.

I'll have a vid up soon, if you guys want to have a go at it.

Vid: http://www.sendspace.com/file/49ufvs

Better vid: http://www.sendspace.com/file/mpkogj, encoded with XviD

zilog jones
18th January 2007, 21:22
That sample isn't very useful to us - you resized it down to 240 lines!

454Casull
18th January 2007, 23:27
How should I compress the original?

foxyshadis
19th January 2007, 01:36
Try Telecide() or TFM(). It's just field-shifted video. You might need a deinterlacer for the real game footage though.

Hope you captured the chroma correctly and the errors are from conversion to xvid, because if not you'll get a nasty surprise.

454Casull
19th January 2007, 02:24
Try Telecide() or TFM(). It's just field-shifted video. You might need a deinterlacer for the real game footage though.

Hope you captured the chroma correctly and the errors are from conversion to xvid, because if not you'll get a nasty surprise.
How do I know it's field-shifted video? And isn't it interlaced? It's coming straight out of my Dreamcast.

The XviD video looks basically the same as the raw video.

EDIT: Telecide() doesn't work. The output still has the horizontal line artifacts as shown in the frame captures.

Do the errors stem from the fact that I'm capturing through composite?

foxyshadis
19th January 2007, 04:12
Same way you find the true nature of anything else that's "interlaced": You separatefields and step through, counting fields that match up. In this case you get pairs of fields making up progressive frames, but they're offset by a field so it appears interlaced.

I only tried TFM(), I thought Telecide would handle field-shifted just as well. Actually, I just tested and it works fine. Either the clip you supplied isn't representative of your source, or you're seeing trashed chroma from bad downsampling. Please post a screenshot or another clip to clarify.

454Casull
19th January 2007, 05:56
Huh, I guess I don't have the grasp on this stuff that I thought I did.

What arguments did you pass to Telecide? I did:

AssumeTFF()
Telecide()

EDIT: Alright, I just tried TFM(order=1,mode=x) where I tried x = 0 through 7 with no success. Which mode's output would you like to see?

EDIT2: Is this what I'm supposed to see when I separate the fields?

http://www.rootminus1.com/howard/separatedfields.png

This is the frame immediately after the one in the link above:

http://www.rootminus1.com/howard/separatedfields1.png

foxyshadis
19th January 2007, 09:21
trashed chroma from bad downsampling
This is not recoverable. You're going to have to recapture, and you might want to do it in YUY2 (or RGB) this time.

Perform a Greyscale(), you'll see that the luma parts of each frame matches up just fine. The errors are entirely in the chroma plane, which is due to non-interlaced conversion to YV12.

454Casull
20th January 2007, 00:48
This is not recoverable. You're going to have to recapture, and you might want to do it in YUY2 (or RGB) this time.

Perform a Greyscale(), you'll see that the luma parts of each frame matches up just fine. The errors are entirely in the chroma plane, which is due to non-interlaced conversion to YV12.
But I did capture in YUY2... or at least I used the Huffyuv codec. Should I capture to uncompressed video, then?

foxyshadis
20th January 2007, 06:25
Something's converting it to YV12, then, and doing a bad job of it. Try this, open the video directly in vdub (not the script), and look at the file info to see what's decoding it. If it's huffyuv, there's no reason this should happen unless it was the capture software. If it's ffdshow, it might be getting converted, you can open ffdshow vfw's decoder output tab and uncheck YV12 temporarily. It should be in the start menu, or vdub's codecs menu.