Changes

Jump to navigation Jump to search

NTSC filters

1,628 bytes added, 17:02, 31 December 2023
no edit summary
'''NTSC filters''' replicate the analog signals that the console's output to the TV. They vary in quality, with the lowest quality being RF, then composite, then s-video and RGB (SCART)/YPbPr (Component) being the highest quality. Many emulators have NTSC filters built into them. They can also be separately downloaded as filter plugins. These filters were developed by blargg<ref>http://slack.net/~ant/libs/ntsc.html</ref> for specific consoles. Other NTSC shaders have been created which are different from blargg's implementation. A different approach is taken by [[Clock Signal]], in which composite video processing is an inherent part of the rendering chain, as opposed to a post-processing effect.
Encoding ''luminance'' (or ''luma'', the brightness component of the signal) and ''chrominance'' (or ''chroma'', the color component of the signal) into a single signal is what causes blur and artifacts because it's a lossy way of encoding an image. RF has worse artifacts because it also encodes audio into the signal and is more prone to interference since the signal is the same as what was used TV broadcasts.
[[File:NTSC settings.png|thumb|450px|Chart showing the relative difference values between Composite, S-video and RGB. Values taken from [[Nestopia]]]]
===; RF=== : The lowest quality. Very blurry due to crosstalk between video and audio signals, and subject to static due to interference. ===;Composite=== :Higher quality than RF, but still blurry and with lots of color artifact and usually dot crawl due to crosstalk between luma and chroma. This is what most systems used as default. ===;S-video=== :Much cleaner image due to luma and chroma being separate signals, though color blur still present and chroma resolution is about the same as the composite output. ===;RGB=== :The highest quality possible, since it uses separate channels for each color, along with a sync signal. Component YPbPr is similar, where it uses luma+sync, blue minus luma, and red minus luma for signals to give high quality, high bandwidth output capable of displaying higher resolutions, though this is only utilized by newer consoles.
==Filters and Shaders==
===tvout-tweaks===
'''tvout-tweaks''' is a shader<ref>https://github.com/libretro/common-shaders/blob/master/crt/shaders/tvout-tweaks.cg</ref> made by aliaspider, based off GTU, intended for processing emulator images for output to a CRT TV connected to PC via VGA-to-RGB adapter. This shader uses code from the GTU CRT shader to provide emulated signal bandwidth blur, as well as TV color level conversion. This shader is equivalent to the Blargg's NTSC filter RGB preset when the signal resolution is set to a high level and TV color levels are enabled. Works with any resolution without issues, lower signal resolutions result in a blur that blends higher input resolutions, allowing dithering to be blended and SNES hi-res translucency to work.
===GTU-Famicom===
As with GTU, the GTU-Famicom shader is multipass so the Famicom NTSC emulation passes can be decoupled from the CRT scanline emulation pass and be used with other CRT shaders or by itself.
 
===NTSC-CRT by LMP88959 (EMMIR)===
 
'''NTSC-CRT by LMP88959 (EMMIR)''' is an NTSC emulator<ref>https://github.com/LMP88959/NTSC-CRT</ref> which encodes RGB images and/or "raw" NES palette indices into an NTSC signal and decodes the signal in a manner similar to an analog television.<br />
This makes it so that it '''can be adapted to suit almost any system''' including systems like the NES, PS1, N64, SEGA systems, Apple II, etc.
 
NTSC-CRT can emulate both progressive and interlaced composite video complete with vertical sync, horizontal sync, and color burst detection, so noise in the signal can realistically effect image warping/scrolling/quality.<br />
It accurately reproduces '''''color artifacting''''', '''''chroma bleed''''', '''''phosphor trails''''', '''''dot crawl''''', and more.<br />
 
NTSC-CRT has controls for noise, hue, saturation, brightness, contrast, artifact color phase, black point, and white point.
 
Go [https://github.com/LMP88959/NTSC-CRT/blob/main/README.md here] to see images of example output along with some videos.
==Gallery==
S-video.png|S-Video
Rgb.png|RGB
</gallery>
 
===NTSC-CRT by LMP88959 (EMMIR)===
 
<gallery position="center" captionalign="center">
NESLMP88959.png|NES Decoding
cbarsLMP88959.png|SMPTE Color bars
Apple2LMP88959.png|Apple II Frogger (Left=Input, Right=Output)
</gallery>
==Emulators==
The following emulators have blargg's NTSC filter or NTSC-CRT by LMP88959 (EMMIR) built-in;<ref>[https://github.com/LMP88959/NTSC-CRT#emulators NTSC-CRT supported emulators]</ref>
{| class="wikitable" style="text-align:center;"
|-
|[[Mesen]]
|[[Nintendo Entertainment System emulators|NES]]
|
|-
|[https://github.com/L-Spiro/BeesNES BeesNES]
|[[Nintendo Entertainment System emulators|NES]]
|
|
|}
 
==See also==
*[[Shader_Presets|Shader Presets]]
:*[[CRT_shaders|CRT shaders]]
:*[[Shaders_and_filters|Shaders and filters]]
==References==
Anonymous user

Navigation menu