{"repo":"LMP88959/NTSC-CRT","free":true,"listed":false,"github":"https://github.com/LMP88959/NTSC-CRT","clone":"git clone https://github.com/LMP88959/NTSC-CRT.git","description":"NTSC encoding/decoding in C89 using only integers and fixed point math. Supports NES decoding. Can be used as an image filter for games or real-time applications.","language":"C","stars":573,"topics":["emulation","filter","fixed-point","image-processing","ntsc","software-rendering"],"license":null,"category":"media-processing","readme_excerpt":"NTSC-CRT NTSC video signal encoding / decoding emulation by EMMIR 2018-2023 ================================================================ Click the image to see a YouTube video of it running in real time: Click the image to see a YouTube video of it running in real time: Example of artifact colors being used purposely by specially designed art (not my own) Example of artifact colors creating a rainbow by specially designed art (not my own) Example of dot crawl in a standard interlaced NTSC video https://user-images.githubusercontent.com/109979235/212872851-38d0558e-b4bb-4011-8090-046e585093c9.mov NES mode YouTube video of the filter running in an NES emulator: https://www.youtube.com/watch?v=giML77yy7To Description The result of going down a very deep rabbit hole. I learned a lot about analog signal processing, television, and the NTSC standard in the process. Written to be compatible with C89. Just like King's Crook (my from-scratch 3D game), this code follows the same restrictions: 1. Everything must be done in software, no explicit usage of hardware acceleration. 2. No floating point types or literals, everything must be integer only. 3. No 3rd party libraries, only C standard library and OS libraries for window, input, etc. 4. No languages used besides C. 5. No compiler specific features and no SIMD. 6. Single threaded. This program performs relatively well and can be easily used in real-time applications to emulate NTSC output. It is by no means fully optimized (mainl","default_branch":null,"files":null,"tree":[],"storefront":"/r/LMP88959","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/LMP88959/NTSC-CRT/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}