How crappy of a TV do you need for composite video artifacts?

It’s become almost common knowledge that pixel artists used composite video artifacts to achieve certain effects. The most commonly cited examples would be transparency and dithering.

However, didn’t most TVs by the Genesis/SNES era have decent analog comb filters? I recently experienced a CRT from the mid-90s and composite video was damn near identical to S-video. There was barely any difference in sharpness; it was mostly just a color difference. No digital comb filter on this TV. Just how crappy of a TV do you need before composite video artifacts are actually visible?

3 Likes

I was born in 85. My first game was a Super Mario Bros/Duck Hunt cartridge my grandmother bought when I was 4 or 5. I grew up with Mario and Sonic and all that. It could be just my nostalgic memory, but I don’t remember the high level of dot crawl I see on most composite shaders. The ground in Sonic 1 looks like a vibrating comb whenever you move. I don’t recall it doing that as a child.

1 Like

I think that’s because by the early 90s most TVs had decent analog filters, and composite shaders are meant to replicate unfiltered composite video output. I think you’d need a cheap set from the 80s to get that kind of output.

I don’t know much about comb filters, so I don’t have a whole lot to add, but I was reading that PVMs have no comb filtering at all on their composite input, and I can vouch that they look pretty gnarly lol.

1 Like

Huh, that’s interesting about the PVMs.

This looks like it has everything you’d ever need to know about comb filters, lol. Good stuff.

http://www.cockam.com/vidcomb.htm

1 Like

Are you from NTSC or PAL region?

I had a similar experience when I dug out my composite cables for PS1 and Wii. Thought it might lead to a more authenic experience for some stuff, but I found that NTSC filters and shaders are actually preferable - my TV is from 99-2000 I believe. The 480i composite output from the VGA converter I have is way worse, but again not a in way I’d prefer it. It’s S-Video output is significantly better, but inferior to the GPU-TV outs I have.

1 Like

NTSC. But I might be wrong about the dot crawl. Memory is a tricky thing.

You probably just had a TV with either a really good two line analog filter or a three line filter. Two line filters were common by the SNES/Genesis era and a good TV from that era would have a three line analog filter. These filters basically turn composite into S-video.

A few questions for the experts:

What should the maximum values for I/Q be when using TVout-tweaks presets, if you’re trying to emulate composite video? There should be a maximum value for these given the limited signal bandwidth of composite but I have no idea what it should be. I’ve just been eyeballing this at around 100-120, but I’d like to have something empirical to base this on.

I want to emulate different types of filters used in different TVs. Can the composite video emulation be edited to reduce/remove certain effects?

No comb filter- all the artifacts are present and horizontal resolution is limited to 260 lines.

two line analogue comb filter- reduction of rainbow artifacts, improved horizontal resolution

three line analogue comb filter- same as two line filter, plus reduction of dot crawl and improved vertical resolution

2D three line adaptive comb filter: dot crawl almost completely eliminated and sharpness nearly identical to S-video

3D motion adaptive comb filter: basically identical to S-video; artifacts are rare and really hard to spot; basically need a side by side comparison to see artifacts.

From the wikipedia entry for YIQ broadcast NTSC is limited to 4Mhz for Y, 1.3 for I and 0.4 for Q. For a resolution of 256 that translates to 83.2 and 25.6. I don’t think I and Q settings should be exposed as they are related to Y and can be automatically computed.

Also there seems to be “full-power analog transmission” that uses 3.579 for I and 0.6 for Q.

2 Likes

Okay, so are the defaults in TVout-tweaks for YIQ the correct settings for composite? It just seems so dull. Is this really what composite looks like? Are these the lowest values possible with composite, before filtering restores any of the lost resolution?

I think my first TV must have had at least a two line analog filter because these colors seem way worse than I remember.

Maybe try to remove any color transforms and leave only the signal-bandwidth emulation portion. I don’t think there’s an end-it-all shader for ntsc, but picking bits of code here and there it’s possible to make something closer.

Also trying a system more deterministic with its palette, the NES has many possible palettes, I don’t have vivid memories but in any case what I had was the “Creation”.

From what I could read about composite, the specification allowed for more resolution up to 3.579 Mhz, but this was for “full-power analog transmission” and I believe for 625 lines. In reality at the time only 1.3 Mhz was used for I, and later on I and Q were equalized to 1 Mhz, which makes it compliant to the 4:1:1 chroma subsampling for NTSC.

I don’t know if analog filters had any kind of convolution filter for sharpening or so. My initial attempt would be to scale up chroma with lanczos or similar to full chroma before RGB conversion.

1 Like

Hey just curious why you deleted your comment, seems perfectly relevant to the discussion. The whole reason I started this discussion is because I never remember dithering being blended on any of the TVs I’ve used and I’m wondering how far back in time you need to go to actually blend dithering. Like… early 1970s maybe? lol. Kinda puts a damper on the whole “artist’s intentions” argument.

1 Like

Your technical knowledge is way ahead of mine here so bear with me.

So if it’s 4:1:1 and 525 lines, would that be

Y: 350
I: 87.5
Q: 87.5

Those seem like more reasonable values to me. These would be the maximum values, or what you’d get with a good comb filter that restored all the lost information (right?).

Current defaults for TVout seem like they’re based on the standards for 1950s TV broadcasts. I’m guessing that these standards were based on the crappy TVs of the time and so they expected a certain amount of lost resolution.

Is that because of the 4:1:1 thing?

If you get some time, I’d really like to see some photos.

I’m curious what the scanlines look like with composite video sans filtering. Some comparison shots showing the same screen via RGB would be useful, I think.

Here you go:

4 Likes

Good stuff. The black gaps are almost as prominent via component as via RGB; only slightly fainter in certain places via composite. I’m guessing the lack of scanlines over the white text in the first shot is due to camera focus; they’re quite visible in the upper left of the last shot. Most of the difference is in horizontal sharpness, color and rainbow artifacts (and I’m guessing dot crawl). Another interesting observation is that the colors are nowhere near as dull in this shot compared with what you get with most NTSC shaders. If anything, certain colors seem oversaturated compared with RGB. Any idea as to why this might be the case…?

Could be the palette on the RGB connection. It’s a MiSTer, but all RGB NESes share the same limitation of using an emulated PPU. I don’t recall which palette I’m using, but there’s a good chance it’s one of FBX’s composite captures.

I think it’s very interesting how blue the dots over the fence are in the composite shot vs dark gray in the RGB shot. And yeah, the solid white on the title screen shot is a camera/exposure thing.

I found it difficult to get the beam width variation right with any of the standalone scanline shaders so I wound up using an overlay for scanlines, lol. (5x-scanlines6-1920x1080 @ 100% opacity). I think this looks kinda close at normal viewing distance, still not as dynamic as the PVM though.

This is tvout+ntsc-256px-composite+interlacing minus interlacing. I only enabled TVout color levels and set gamma input to 2.4. Color palette is “composite direct FBx” in Nestopia.

Colors still look closer to those in the RGB photo, though… color is hard. :face_with_raised_eyebrow:

It’s okay, but I’m not really blown away or anything… beam variation, brightness and color still leaves something to be desired. It’s tough getting the beam variation right without making the image too dark. I think I’ll have to try cobbling together a custom shader using bits of code from guest-dr-venom.

1 Like