Editing NTSC filters
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | '''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 | + | '''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. |
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. | 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. | ||
Line 15: | Line 15: | ||
[[File:NTSC settings.png|thumb|450px|Chart showing the relative difference values between Composite, S-video and RGB. Values taken from [[Nestopia]]]] | [[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== | ==Filters and Shaders== | ||
Line 54: | Line 61: | ||
===tvout-tweaks=== | ===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. 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. | + | '''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=== | ===GTU-Famicom=== | ||
Line 61: | Line 68: | ||
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. | 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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Gallery== | ==Gallery== | ||
Line 82: | Line 77: | ||
S-video.png|S-Video | S-video.png|S-Video | ||
Rgb.png|RGB | Rgb.png|RGB | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</gallery> | </gallery> | ||
==Emulators== | ==Emulators== | ||
− | The following emulators have blargg's NTSC filter | + | The following emulators have blargg's NTSC filter built-in |
{| class="wikitable" style="text-align:center;" | {| class="wikitable" style="text-align:center;" | ||
Line 110: | Line 97: | ||
|- | |- | ||
|[[Mesen]] | |[[Mesen]] | ||
− | |||
− | |||
− | |||
− | |||
|[[Nintendo Entertainment System emulators|NES]] | |[[Nintendo Entertainment System emulators|NES]] | ||
| | | | ||
Line 133: | Line 116: | ||
| | | | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==References== | ==References== |