aboutsummaryrefslogtreecommitdiffhomepage
path: root/libvo/vo_svga.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvo/vo_svga.c')
-rw-r--r--libvo/vo_svga.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/libvo/vo_svga.c b/libvo/vo_svga.c
index 5e2262ef92..c4ea0821b8 100644
--- a/libvo/vo_svga.c
+++ b/libvo/vo_svga.c
@@ -421,12 +421,12 @@ static uint32_t draw_frame(uint8_t *src[]) {
src[0] = scalebuf;
}
if (bpp_conv) {
- uint16_t *source = (uint16_t *) src[0];
- uint16_t *dest = (uint16_t *) bppbuf;
- uint16_t *end;
-
switch(bpp) {
case 32: {
+ uint16_t *source = (uint16_t *) src[0];
+ uint16_t *dest = (uint16_t *) bppbuf;
+ uint16_t *end;
+
end = source + (maxw * maxh * 2);
while (source < end) {
*dest++ = *source++;
@@ -440,6 +440,9 @@ static uint32_t draw_frame(uint8_t *src[]) {
#ifdef HAVE_MMX
rgb15to16_mmx(src[0],bppbuf,maxw * maxh * 2);
#else
+ uint16_t *source = (uint16_t *) src[0];
+ uint16_t *dest = (uint16_t *) bppbuf;
+ uint16_t *end;
register uint16_t srcdata;
end = source + (maxw * maxh);