comparison libvo/vo_svga.c @ 620:b623949ddedb

Some names, types changed.
author se7encode
date Tue, 24 Apr 2001 15:56:41 +0000
parents 99a716d8cac8
children ea093aa3ecae
comparison
equal deleted inserted replaced
619:99a716d8cac8 620:b623949ddedb
449 src[0] = scalebuf; 449 src[0] = scalebuf;
450 } 450 }
451 if (bpp_conv) { 451 if (bpp_conv) {
452 switch(bpp) { 452 switch(bpp) {
453 case 32: { 453 case 32: {
454 uint16_t *source = (uint16_t *) src[0]; 454 uint8_t *source = src[0];
455 uint16_t *dest = (uint16_t *) bppbuf; 455 uint8_t *dest = bppbuf;
456 uint16_t *end; 456 register uint32_t i = 0;
457 457
458 end = source + (maxw * maxh * 2); 458 while (i < (maxw * maxh * 4)) {
459 while (source < end) { 459 dest[i] = source[i];
460 *dest++ = *source++; 460 dest[i+1] = source[i+1];
461 (uint8_t *)dest = (uint8_t *)source; 461 dest[i+2] = source[i+2];
462 *(((uint8_t *)dest)+1) = 0; 462 dest[i+3] = 0;
463 dest++; 463 i += 4;
464 source++;
465 } 464 }
466 } break; 465 } break;
467 case 16: { 466 case 16: {
468 #ifdef HAVE_MMX 467 #ifdef HAVE_MMX
469 rgb15to16_mmx(src[0],bppbuf,maxw * maxh * 2); 468 rgb15to16_mmx(src[0],bppbuf,maxw * maxh * 2);
470 #else 469 #else
471 uint16_t *source = (uint16_t *) src[0]; 470 uint16_t *source = (uint16_t *) src[0];
472 uint16_t *dest = (uint16_t *) bppbuf; 471 uint16_t *dest = (uint16_t *) bppbuf;
473 uint16_t *end; 472 register uint32_t i = 0;
474 register uint16_t srcdata; 473 register uint16_t srcdata;
475 474
476 end = source + (maxw * maxh); 475 while (i < (maxw * maxh)) {
477 while (source < end) { 476 srcdata = source[i];
478 srcdata = *source++; 477 dest[i++] = (srcdata & 0x1f) | ((srcdata & 0x7fe0) << 1);
479 *dest++ = (srcdata & 0x1f) | ((srcdata & 0x7fe0) << 1);
480 } 478 }
481 #endif 479 #endif
482 } break; 480 } break;
483 } 481 }
484 src[0] = bppbuf; 482 src[0] = bppbuf;