ikorb / gcvideo

GameCube Digital AV converter
675 stars 85 forks source link

WiiDual Analog Output to 480i #53

Closed swinginman closed 3 years ago

swinginman commented 3 years ago

I am trying to upscale 480p output from the WiiDual HMDI, while keeping the analog video signal in 480i. My CRT supports component video but only in 480i, and doesn't know what to do with a 480p signal. Is it possible to have the analog output remain interlaced while keeping the HDMI in progressive? The upscaler I am using won't upscale 480i signals for some reason, so I need my recording line to be 480p. If this is not possible, would anyone have any suggestions for the most elegant way to solve this problem? The less adapters the better...

ikorb commented 3 years ago

The best-quality option would be to set your Wii to 480p in the Wii's system menu and use an external scaler to convert that back to 480i for your CRT.

A worse option would be to set the Wii to 480i for your CRT, disable linedoubling in GCVideo and use an external scaler to convert GCVideo's 480i output to 480p for your existing signal chain.

There is another option that I really would not recommend and that is may be impossible on your setup because the neccessary connections were destroyed during the installation of your WiiDual(*), but if the analog output of your Wii were still in working order you could set your Wii to output 480i, connect its analog signal to your CRT and enable line doubling in GCVideo to get a rather low-quality digital 480p signal for your existing signal chain. If you are very lucky, your WiiDual install still provides the real composite video signal of your Wii on its analog output - if I remember correctly that was a documented option in the WiiDual install video, but only the person who installed it would know how much they defiled your Wii during the WiiDual installation. Of course composite isn't as nice as RGB/Component even on a CRT, but considering that this option would also require the use of GCVideos "it sucks, but at least you get a picture" 480i->480p conversion it's probably not that bad.

(*) I still think that replacing the Wii's analog RGB/Component output is a stupid idea.

swinginman commented 3 years ago

@ikorb Thank you this was very informative. Would you have any recommendations for an external scaler that can convert 480p to 480i with component cables or one that can convert 480i to 480p via HDMI?

swinginman commented 3 years ago

My CRT has a 4-pin S-Video port as well.

ikorb commented 3 years ago

For the downscaling route, some TVOne C2 units should work (not all models support 480i output), the old Extron Emotia boxes would also be a possible option as they were meant to convert PC images for TV use, some of the Gefen scalers can also be set to 480i output. The cheapest options are probably the various "HDMI to AV" boxes available under lots of brand names from China, although I have never tried them, as well as a GBS8200/8220 with the gbs-control firmware which also features a 240p/480i downscaling mode. There are likely other devices that can do it, but downscaling to SD is not as common a feature as upscaling from it.

For the upscaling route, two well-known options would be the Framemeister and the OSSC, although the latter uses the same low-quality bob-style deinterlace as GCVideo. Some TVOne C2 units would also be an option (again, depending on the model), as well as many other well-known scalers like the Extron DSC301HD or many home-theather scalers, including old models like the iScan Pro. basically this is the simpler route from an equipment choice point of view, as long as you don't need the device to properly support a 240p input signal.

swinginman commented 3 years ago

@ikorb Thank you for recommendations. I have an OSSC in route for an unrelated purpose, but apparently it can't downscale. I guess the OSSC pro is supposed to do this: https://videogameperfection.com/forums/topic/downscaling-with-ossc-pro/

Otherwise I will look into the options you mentioned, I would really like to keep the Wii outputting native 480p for the highest quality recording. But adding a conversion step before the CRT isn't exactly optimal. I have looked into the Extron Emotia and the TVOne C2, which are both way out of my price range. I am currently looking at some of the Extron VSC units, as I found some people had success downscaling here: https://shmups.system11.org/viewtopic.php?f=6&t=64788

Is it technically impossible for the WiiDual/GCVideo to output different signals on the HDMI and analog lines? Because I keep getting frustrated from the idea that I have a working video signal, it just needs every other scan line culled for my monitor to display it properly. It seems like the fundamental concept for interlacing video is so simple, it's just the lack of demand that is making a hardware solution so difficult to find. It almost makes me want to brute force my own hardware solution, however I am more of a software guy...

Thank you again, your help is greatly appreciated.

ikorb commented 3 years ago

Technically GCVideo could be modified to output the Wii's video data (almost) as-is to the analog output while still processing as normal for the digital output, but that would require 480i output on the Wii and GCVideo's own linedoubling to get to 480p. I'm not 100% sure if it would introduce another wide multiplexer in the video pipeline. (and the obvious implementation would also introduce a half-pixel chroma shift, but that is likely not noticable on a CRT)

Downscaling isn't really an option in GCVideo for some of the same reasons that OSSC can't do it: To do it well you need enough memory to buffer a few lines for interpolation because just dropping every second line results in very noticable aliasing. For 480p->480i there is the additional complication that a specific line must be split in half to do proper interlace signalling and just omitting that to get 240p isn't an option either because a 480p frame has 525 total lines which isn't divisible by 2.

swinginman commented 3 years ago

@ikorb That makes sense, my understanding on interlacing is only conceptual. I have no idea how the actual implementation would work. Do you think it is unrealistic to find a downscaler that doesn't cost over $500, and won't introduce noticeable latency? I might have to give up on true 480p dream, it's just very frustrating considering the reason for buying this WiiDual was for recording quality.

ikorb commented 3 years ago

Unfortunately I'm not really an expert on video scalers and the market here in Europe looks quite a bit different than the one in the US (where I suspect you are from), so I'm not sure how to answer that question. I would recommend asking on one of the usual forums which are frequented by scaler experts, e.g. shmups.

Personally, if my goal was to optimize for recording quality I would probably just use an LCD that accepts a 480p input instead of a CRT, but that's just due to my preference of space and power efficiency vs. the various qualities of a CRT.

swinginman commented 3 years ago

@ikorb That's a fair stance, you've already helped me more than I could have expected. Thanks again, you're really doing gods work out here. I say that sincerely.

I don't know if you want to close this issue, but I think you've done what you can regarding my problem. If I find a solution, I'll post my findings assuming this issue isn't closed by then. Stay COVID free my friend.

ikorb commented 3 years ago

Sure, I'll just close it. That does not disable the option to add comments to it though.

swinginman commented 3 years ago

Hey, thought I would give an update since I was able to find a solution. I took a risk and bought an Extron VSC 700 after looking at a bunch of options. It has direct component I/O, and was ~$60 on eBay. The user manual is shared for the VSC 500, 700 & 700D so I would assume those would have also worked. I configured the scan converter to output component/YUV and set the analog output on GC Video to RGsB which gave me perfect color. I am not entirely sure why this was the combination of settings that did it, but it looks almost identical to when the signal was directly piped in on YPbPr. Any input latency was negligible, and I am able to keep the Wii at 480p to for great upscaling.

Thanks you so much for your help again, your software is great and works elegantly. Cheers!