- this implements blargg's nes ntsc filters using core options - an optional height doubling is also added but disabled for performance reasons (might make that optional as a core option) - since PS2 and PSP have their own blitter branches, these platforms do not have the ntsc filters since i dont have the means to test on those systems. - compile with HAVE_NTSC=1 to have these options, HAVE_NTSC=0 disabled filter including core options - HAVE_NTSC=1 is set as default, other than PS2 and PSP as stated above.
62 lines
2.5 KiB
Plaintext
62 lines
2.5 KiB
Plaintext
nes_ntsc 0.2.2: NES NTSC Video Filter
|
|
-------------------------------------
|
|
This library filters a NES image to match what a TV would show, allowing
|
|
an authentic image in an emulator. It uses a highly optimized algorithm
|
|
to perform the same signal processing as an NTSC decoder in a TV, giving
|
|
very similar pixel artifacts and color bleeding. The usual picture
|
|
controls can be adjusted: hue, saturation, contrast, brightness, and
|
|
sharpness. Additionally, the amount of NTSC chroma and luma artifacts
|
|
can be reduced, allowing an image that corresponds to composite video
|
|
(artifacts), S-video (color bleeding only), RGB (clean pixels), or
|
|
anywhere inbetween.
|
|
|
|
The output is scaled to the proper horizontal width, leaving it up the
|
|
emulator to simply double the height. An optional even/odd field merging
|
|
feature is provided to reduce flicker when the host display's refresh
|
|
rate isn't 60 Hz. Specialized blitters can be easily written using a
|
|
special interface, allowing customization of input and output pixel
|
|
formats, optimization for the host platform, and efficient scanline
|
|
doubling.
|
|
|
|
Blitting a 256x240 source image to a 602x240 pixel 16-bit RGB memory
|
|
buffer at 60 frames per second uses 8% CPU on a 2.0 GHz Athlon 3500+ and
|
|
40% CPU on a 10-year-old 400 MHz G3 PowerMac.
|
|
|
|
Author : Shay Green <gblargg@gmail.com>
|
|
Website : http://www.slack.net/~ant/
|
|
Forum : http://groups.google.com/group/blargg-sound-libs
|
|
License : GNU Lesser General Public License (LGPL)
|
|
Language: C or C++
|
|
|
|
|
|
Getting Started
|
|
---------------
|
|
Build a program from demo.c, nes_ntsc.c, and the SDL multimedia library
|
|
(see http://libsdl.org/). Run it with "test.bmp" in the same directory
|
|
and it should show the filtered image. See demo.c for more.
|
|
|
|
See nes_ntsc.txt for documentation and nes_ntsc.h for reference. Post to
|
|
the discussion forum for assistance.
|
|
|
|
|
|
Files
|
|
-----
|
|
readme.txt Essential information
|
|
nes_ntsc.txt Library documentation
|
|
changes.txt Changes made since previous releases
|
|
license.txt GNU Lesser General Public License
|
|
|
|
benchmark.c Measures frame rate and processor usage of library
|
|
demo.c Displays and saves NTSC filtered image
|
|
demo_impl.h Internal routines used by demo
|
|
test.bmp Test image for demo
|
|
tests/ Test ROMs to verify burst phase operation
|
|
|
|
nes_ntsc_config.h Library configuration (modify as needed)
|
|
nes_ntsc.h Library header and source
|
|
nes_ntsc.c
|
|
nes_ntsc_impl.h
|
|
|
|
--
|
|
Shay Green <gblargg@gmail.com>
|