comparison postproc/rgb2rgb_template.c @ 12385:b5c106b694e4

this isn't actually stupid, but it's not valid C and gcc 3.5 rejects it as such
author rfelker
date Sat, 01 May 2004 20:15:21 +0000
parents 3254b413ef1c
children b969547bb0b1
comparison
equal deleted inserted replaced
12384:f191e76af463 12385:b5c106b694e4
386 __asm __volatile(SFENCE:::"memory"); 386 __asm __volatile(SFENCE:::"memory");
387 __asm __volatile(EMMS:::"memory"); 387 __asm __volatile(EMMS:::"memory");
388 #endif 388 #endif
389 while(s < end) 389 while(s < end)
390 { 390 {
391 const int src= *((uint32_t*)s)++; 391 const int src= *s; s += 4;
392 *d++ = ((src&0xFF)>>3) + ((src&0xFC00)>>5) + ((src&0xF80000)>>8); 392 *d++ = ((src&0xFF)>>3) + ((src&0xFC00)>>5) + ((src&0xF80000)>>8);
393 // *d++ = ((src>>3)&0x1F) + ((src>>5)&0x7E0) + ((src>>8)&0xF800); 393 // *d++ = ((src>>3)&0x1F) + ((src>>5)&0x7E0) + ((src>>8)&0xF800);
394 } 394 }
395 } 395 }
396 396
448 __asm __volatile(SFENCE:::"memory"); 448 __asm __volatile(SFENCE:::"memory");
449 __asm __volatile(EMMS:::"memory"); 449 __asm __volatile(EMMS:::"memory");
450 #endif 450 #endif
451 while(s < end) 451 while(s < end)
452 { 452 {
453 const int src= *((uint32_t*)s)++; 453 const int src= *s; s += 4;
454 *d++ = ((src&0xF8)<<8) + ((src&0xFC00)>>5) + ((src&0xF80000)>>19); 454 *d++ = ((src&0xF8)<<8) + ((src&0xFC00)>>5) + ((src&0xF80000)>>19);
455 } 455 }
456 } 456 }
457 457
458 static inline void RENAME(rgb32to15)(const uint8_t *src, uint8_t *dst, unsigned src_size) 458 static inline void RENAME(rgb32to15)(const uint8_t *src, uint8_t *dst, unsigned src_size)
544 __asm __volatile(SFENCE:::"memory"); 544 __asm __volatile(SFENCE:::"memory");
545 __asm __volatile(EMMS:::"memory"); 545 __asm __volatile(EMMS:::"memory");
546 #endif 546 #endif
547 while(s < end) 547 while(s < end)
548 { 548 {
549 const int src= *((uint32_t*)s)++; 549 const int src= *s; s += 4;
550 *d++ = ((src&0xFF)>>3) + ((src&0xF800)>>6) + ((src&0xF80000)>>9); 550 *d++ = ((src&0xFF)>>3) + ((src&0xF800)>>6) + ((src&0xF80000)>>9);
551 } 551 }
552 } 552 }
553 553
554 static inline void RENAME(rgb32tobgr15)(const uint8_t *src, uint8_t *dst, unsigned src_size) 554 static inline void RENAME(rgb32tobgr15)(const uint8_t *src, uint8_t *dst, unsigned src_size)
605 __asm __volatile(SFENCE:::"memory"); 605 __asm __volatile(SFENCE:::"memory");
606 __asm __volatile(EMMS:::"memory"); 606 __asm __volatile(EMMS:::"memory");
607 #endif 607 #endif
608 while(s < end) 608 while(s < end)
609 { 609 {
610 const int src= *((uint32_t*)s)++; 610 const int src= *s; s += 4;
611 *d++ = ((src&0xF8)<<7) + ((src&0xF800)>>6) + ((src&0xF80000)>>19); 611 *d++ = ((src&0xF8)<<7) + ((src&0xF800)>>6) + ((src&0xF80000)>>19);
612 } 612 }
613 } 613 }
614 614
615 static inline void RENAME(rgb24to16)(const uint8_t *src, uint8_t *dst, unsigned src_size) 615 static inline void RENAME(rgb24to16)(const uint8_t *src, uint8_t *dst, unsigned src_size)