aboutsummaryrefslogtreecommitdiff
path: root/plugins/dfxvideo
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dfxvideo')
-rw-r--r--plugins/dfxvideo/draw_pl.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/plugins/dfxvideo/draw_pl.c b/plugins/dfxvideo/draw_pl.c
index 22351a4..dffd52b 100644
--- a/plugins/dfxvideo/draw_pl.c
+++ b/plugins/dfxvideo/draw_pl.c
@@ -32,13 +32,7 @@ static void blit(void *vout_buf)
if (w <= 0)
return;
-#ifndef MAEMO
- pitch *= PSXDisplay.RGB24 ? 3 : 2;
-#else
- // n900 doesn't do rgb24 for some reason
- pitch *= 2;
- #define bgr888_to_rgb888 bgr888_to_rgb565
-#endif
+ pitch *= (PSXDisplay.RGB24 && !rcbs->only_16bpp) ? 3 : 2;
// account for centering
h -= PreviousPSXDisplay.Range.y0;
@@ -47,9 +41,19 @@ static void blit(void *vout_buf)
if (PSXDisplay.RGB24)
{
- for (; h-- > 0; dest += pitch, srcs += 1024)
+ if (!rcbs->only_16bpp)
+ {
+ for (; h-- > 0; dest += pitch, srcs += 1024)
+ {
+ bgr888_to_rgb888(dest, srcs, w * 3);
+ }
+ }
+ else
{
- bgr888_to_rgb888(dest, srcs, w * 3);
+ for (; h-- > 0; dest += pitch, srcs += 1024)
+ {
+ bgr888_to_rgb565(dest, srcs, w * 3);
+ }
}
}
else