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. |
12th October 2012, 22:52 | #1 | Link |
Registered User
Join Date: Jul 2010
Location: Germany
Posts: 357
|
Restoring N64 videogame footage
picture
.mp4 source Video is 1280x720 (apparently resized directly from the uncropped capture) at 29.9701 fps. For some reason it looks fine up until frame 1661. The system supports resolutions up to 480i (PAL:576i), but the majority of games use the 240p/288p modes, i.e. outputting the fields directly over each other, resulting in black scanlines but updated at 60Hz. So I'd probably need to somehow find out the original height of the capture, restore the interlaced lines (PointResize?), and use QTGMC or simply SeparateFields. Does that sound feasible? Anybody done that before? |
13th October 2012, 03:49 | #2 | Link | |
Registered User
Join Date: Sep 2011
Posts: 86
|
Quote:
Where the fields line up/are duplicated it looks fine. But resizing mismatched fields is messy. This might clean up your source a bit, but a good source is probably better. Code:
ffvideosource("Do A Barrel Roll.mp4") pointresize(1280,960) separatefields.assumeframebased separatefields.assumeframebased separatefields a = last.selectevery(8, -7,3) b = last.selectevery(8, 1,3) stackhorizontal(a,b) weave |
|
13th October 2012, 11:11 | #5 | Link |
Registered User
Join Date: Dec 2007
Location: Germany
Posts: 632
|
The YouTube video is already "FUBAR" (destroyed beyond repair), because it was blindly resized without deinterlacing. The original fields are partly mixed now and this cannot be undone.
I'm quite an expert when it comes to processing footage from old game consoles which use that special "low-def" mode that you mentioned. Basically, as long as the footage indeed was output in that special mode, we have a progressive video that is half the height of normal interlaced video. But it is of course still wrapped in interlaced frames (stricly talking about the digitized video on a computer here; in the analog stage the only difference should be an altered sync to make the TV's electron beam project all the fields at the same place, essentially doing what's the point of this whole thing). Knowing this, a simple SeparateFields() would give us proper 50p/60p video from such a capture. But now we have only half the height, and if the footage was rendered with half horizontal resolution, this will look odd. This means, to make it look natural in terms of old game footage, we should have SeparateFields() followed by PointResize(width, height*2). Another option which does the same in one function would be PointBob() which is part of the MVBob package. After this you may crop and resize. Now, as easy as that may sound AFAIK N64 games often like to use odd screen shapes (i.e. not 4:3 but somewhat close) so if you want to resize it without aspect ratio error you should first crop all black borders and then resize using the PAR of the television standard that was used (PAL: 12/11 | NTSC: 10/11) and resize to whatever you come up with after the math. Edit: All this works properly only if you have a raw capture which was not butchered before (704 or 720 pixels wide and 576 or 480 or 486 height). Last edited by TheSkiller; 13th October 2012 at 11:44. |
Thread Tools | Search this Thread |
Display Modes | |
|
|