Mercurial > mplayer.hg
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) |