diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c index 55503fe2ca93ee120d8d11091bba1ac5b9c91d9b..571589d9913a788959353d22449222d949787d9c 100644 --- a/src/conio/sdl_con.c +++ b/src/conio/sdl_con.c @@ -357,6 +357,7 @@ planar: Y=overlay->pixels[0]+overlay->pitches[0]*(r->y)+(r->x); U=overlay->pixels[uplane]+uvoffset; V=overlay->pixels[vplane]+uvoffset; + for(y=0; y<r->h; y++) { memset(Y, yuv.colours[dac_entry][0], r->w); @@ -668,14 +669,13 @@ int sdl_init_mode(int mode) pthread_mutex_lock(&vstatlock); bitmap_drv_init_mode(mode, &bitmap_width, &bitmap_height); + if(yuv.enabled) + vstat.scaling = 2; cvstat = vstat; pthread_mutex_unlock(&vstatlock); /* Deal with 40 col doubling */ - if(yuv.enabled) { - sdl_setscaling(2); - } - else { + if(!yuv.enabled) { if(oldcols != cvstat.cols) { if(oldcols == 40) cvstat.scaling /= 2; @@ -948,7 +948,7 @@ int sdl_setup_yuv_colours(void) yuv.colourssz = newsz; } for(i=0; i<(sizeof(dac_default)/sizeof(struct dac_colors)); i++) { - RGBtoYUV(dac_default[i].red, dac_default[i].green, dac_default[i].blue, &(yuv.colours[i][0]), 0, 100); + RGBtoYUV(dac_default[i].red, dac_default[i].green, dac_default[i].blue, yuv.colours[i], 0, 100); } } return(ret); @@ -1948,9 +1948,9 @@ int sdl_video_event_thread(void *data) yuv.colours = newc; yuv.colourssz = newsz; for(i=oldsz; i<pal->index; i++) - RGBtoYUV(0, 0, 0, &(yuv.colours[i][0]), 0, 100); + RGBtoYUV(0, 0, 0, yuv.colours[i], 0, 100); } - RGBtoYUV(pal->r, pal->g, pal->b, &(yuv.colours[pal->index][0]), 0, 100); + RGBtoYUV(pal->r, pal->g, pal->b, yuv.colours[pal->index], 0, 100); } } else {