Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
27th August 2015, 22:53 | #1 | Link |
Registered User
Join Date: Aug 2015
Posts: 2
|
Remove gray line in S-Video capture
Hello, I am recording Super Nintendo gameplay through Media Player Classic and filtering the video using ffdshow/Avisynth. I am trying to figure out why my capture device is making the bottom pixel of the screen and sprites gray? I am new to using Avisynth so my apologies if this is a common issue and I'm just missing an obvious fix.
What I currently have: What I'm aiming for: So far the only thing I've been able to figure out is how to deinterlace and resize the video but I haven't a clue where to begin with plugins and filters in Avisynth, especially when I'm starting off with such an odd issue with this gray line thing. It's more noticeable in the pictures below if you look at the bottom of the screen and the bottom of the yoshi feet and green area in the text window. It's also really apparent when the Baby Mario timer gets below 10 and you see the gray at the bottom of the red numbers. This is all I currently have in ffdshow. Any recommendations for plugins and filter settings that I can use to fix and improve my game capture would be greatly appreciated. Thank you. |
27th August 2015, 23:45 | #2 | Link |
Registered User
Join Date: Jul 2010
Location: Germany
Posts: 357
|
Just for the record, BizHawk has a frame-perfect recording function that can record in RGB. It also uses the bsnes core so the emulation is 99.999% identical to the real hardware.
|
28th August 2015, 00:50 | #3 | Link |
Retried Guesser
Join Date: Jun 2012
Posts: 1,373
|
Why three calls to Resize? (You seem to be trimming black borders?)
Why SeparateFields and then doubling the height? That is the about the worst way to deinterlace. Start by replacing all that ffdshow code with: Code:
Bob() EDIT I am guessing as to what your source is, based on that script. I might be way off base. It would help if we could get a sample of your source, or at minimum, a screen shot and a MediaInfo report. Last edited by raffriff42; 28th August 2015 at 01:04. |
28th August 2015, 01:28 | #4 | Link | |
Registered User
Join Date: Aug 2015
Posts: 2
|
Quote:
General Format : AVI Format/Info : Audio Video Interleave File size : 141 MiB Duration : 7s 40ms Overall bit rate : 167 Mbps Video ID : 0 Format : YUV Codec ID : YUY2 Codec ID/Info : YUV 4:2:2 as for UYVY but with different component ordering within the u_int32 macropixel Duration : 7s 40ms Bit rate : 166 Mbps Width : 720 pixels Height : 480 pixels Display aspect ratio : 3:2 Frame rate : 29.970 fps Standard : NTSC Color space : YUV Chroma subsampling : 4:2:2 Compression mode : Lossless Bits/(Pixel*Frame) : 16.001 Stream size : 139 MiB (99%) Audio #1 ID : 1 Format : PCM Format settings, Endianness : Little Format settings, Sign : Signed Codec ID : 1 Duration : 7s 0ms Bit rate mode : Constant Bit rate : 1 536 Kbps Channel(s) : 2 channels Sampling rate : 48.0 KHz Bit depth : 16 bits Delay relative to video : 69ms Stream size : 1.28 MiB (1%) Alignment : Aligned on interleaves Interleave, duration : 50 ms (1.51 video frames) Audio #2 ID : 2 Format : PCM Format settings, Endianness : Little Format settings, Sign : Signed Codec ID : 1 Duration : 7s 40ms Bit rate mode : Constant Bit rate : 1 536 Kbps Channel(s) : 2 channels Sampling rate : 48.0 KHz Bit depth : 16 bits Delay relative to video : 7ms Stream size : 1.29 MiB (1%) Alignment : Aligned on interleaves Sample Video — both no settings and Bob() looked pretty much the same except Bob() made everything wobble? Last edited by pumpkinguts; 28th August 2015 at 01:37. |
|
28th August 2015, 02:57 | #5 | Link |
Retried Guesser
Join Date: Jun 2012
Posts: 1,373
|
Not sure why Bob() is misbehaving. I suggested it because it doesn't require any external plugins, and it seemed to work OK on a sample I had on hand.
EDIT the sample you have uploaded has been (poorly) scaled and (badly) compressed, making it impossible to say what needs to be done. The comments below apply to the sample as given. Deinterlacing is needed here. I don't do deinterlacing often, but QTGMC() works well for me. It can difficult to install (although I didn't have too much trouble - maybe someone can suggest a method better/easier way..?) Code:
Crop(40, 14, 640, 440) # http://avisynth.nl/index.php/QTGMC # http://forum.doom9.org/showthread.php?t=172506 (install help) Import("p:\path\QTGMC\QTGMC-3.32.avsi") ComplementParity QTGMC() SelectEven _ChromaOffset(0, 1) ## only needed if source is badly compressed # http://forum.doom9.org/showthread.php?p=793930#post793930 #Import("p:\path\deringing\HDQDering.avsi") #HQDering(255, 64) return Last ################################## function _ChromaOffset(clip C, int "ux", int "uy", int "vx", int "vy") { Assert(C.IsYUV, "_ChromaOffset: source must be YUV") ux = Default(ux, 0) uy = Default(uy, 0) vx = Default(vx, ux) vy = Default(vy, uy) U = C.UToY8() V = C.VToY8() return YToUV( \ U.Overlay(U, x=ux, y=uy), \ V.Overlay(V, x=vx, y=vy), \ C.ConvertToY8()) } Last edited by raffriff42; 28th August 2015 at 10:52. |
28th August 2015, 10:16 | #6 | Link | |
Registered User
Join Date: Dec 2007
Location: Germany
Posts: 632
|
Quote:
Your sample is re-encoded, it is not your raw capture. This is bad because the color subsampling has changed from 4:2:2 to 4:2:0 making it quite impossible to tell what happened to the chroma. The chroma in that sample is seriously messed up. Last edited by TheSkiller; 28th August 2015 at 10:28. |
|
28th August 2015, 21:17 | #9 | Link |
Retried Guesser
Join Date: Jun 2012
Posts: 1,373
|
There seemed to be some strange motion artifacts at 59.94, and SelectEven was a quick fix; in hindsight I should have tried ComplementParity first, to see if it was a simple field-order problem...
EDIT After trying it, ComplementParity did not help. I'm not sure what the problem is here (and what processing has been applied to this video), but SelectOdd or SelectEven helps stabilize the video somewhat. Last edited by raffriff42; 29th August 2015 at 02:20. |
|
|