Video: Fixed red line at bottom of screen with NTSC filter
This commit is contained in:
parent
16c97ba347
commit
1e0b55f95b
2 changed files with 2 additions and 4 deletions
|
@ -92,7 +92,7 @@ void NtscFilter::DoubleOutputHeight(uint32_t *ntscBuffer)
|
|||
uint32_t prev = in[overscanLeft];
|
||||
uint32_t next = y < 239 ? in[overscanLeft + rowWidth] : 0;
|
||||
|
||||
*out = prev;
|
||||
*out = 0xFF000000 | prev;
|
||||
|
||||
/* mix 24-bit rgb without losing low bits */
|
||||
uint32_t mixed = (prev + next + ((prev ^ next) & 0x030303)) >> 1;
|
||||
|
|
|
@ -184,9 +184,7 @@ enum { nes_ntsc_full_overscan_right = nes_ntsc_full_in_width - 256 - nes_ntsc_fu
|
|||
#define NES_NTSC_RGB_OUT_( rgb_out, bits, x ) {\
|
||||
if ( bits == 16 )\
|
||||
rgb_out = (raw_>>(13-x)& 0xF800)|(raw_>>(8-x)&0x07E0)|(raw_>>(4-x)&0x001F);\
|
||||
if ( bits == 32 )\
|
||||
rgb_out = 0xFF000000 | (raw_ >> (5 - x) & 0xFF0000) | (raw_ >> (3 - x) & 0xFF00) | (raw_ >> (1 - x) & 0xFF); \
|
||||
if ( bits == 24 )\
|
||||
if ( bits == 32 || bits == 24 )\
|
||||
rgb_out = (raw_>>(5-x)&0xFF0000)|(raw_>>(3-x)&0xFF00)|(raw_>>(1-x)&0xFF);\
|
||||
if ( bits == 15 )\
|
||||
rgb_out = (raw_>>(14-x)& 0x7C00)|(raw_>>(9-x)&0x03E0)|(raw_>>(4-x)&0x001F);\
|
||||
|
|
Loading…
Add table
Reference in a new issue