Mercurial > mplayer.hg
comparison libswscale/rgb2rgb_template.c @ 29397:2d985cc879c9
Replace WORDS_BIGENDIAN with HAVE_BIGENDIAN
author | mru |
---|---|
date | Sun, 26 Jul 2009 12:26:32 +0000 |
parents | e949de41d25a |
children | 0673fad0546f |
comparison
equal
deleted
inserted
replaced
29396:2de35e358503 | 29397:2d985cc879c9 |
---|---|
113 __asm__ volatile(SFENCE:::"memory"); | 113 __asm__ volatile(SFENCE:::"memory"); |
114 __asm__ volatile(EMMS:::"memory"); | 114 __asm__ volatile(EMMS:::"memory"); |
115 #endif | 115 #endif |
116 while (s < end) | 116 while (s < end) |
117 { | 117 { |
118 #ifdef WORDS_BIGENDIAN | 118 #if HAVE_BIGENDIAN |
119 /* RGB24 (= R,G,B) -> RGB32 (= A,B,G,R) */ | 119 /* RGB24 (= R,G,B) -> RGB32 (= A,B,G,R) */ |
120 *dest++ = 255; | 120 *dest++ = 255; |
121 *dest++ = s[2]; | 121 *dest++ = s[2]; |
122 *dest++ = s[1]; | 122 *dest++ = s[1]; |
123 *dest++ = s[0]; | 123 *dest++ = s[0]; |
199 __asm__ volatile(SFENCE:::"memory"); | 199 __asm__ volatile(SFENCE:::"memory"); |
200 __asm__ volatile(EMMS:::"memory"); | 200 __asm__ volatile(EMMS:::"memory"); |
201 #endif | 201 #endif |
202 while (s < end) | 202 while (s < end) |
203 { | 203 { |
204 #ifdef WORDS_BIGENDIAN | 204 #if HAVE_BIGENDIAN |
205 /* RGB32 (= A,B,G,R) -> RGB24 (= R,G,B) */ | 205 /* RGB32 (= A,B,G,R) -> RGB24 (= R,G,B) */ |
206 s++; | 206 s++; |
207 dest[2] = *s++; | 207 dest[2] = *s++; |
208 dest[1] = *s++; | 208 dest[1] = *s++; |
209 dest[0] = *s++; | 209 dest[0] = *s++; |
1262 int bgr= *s++; | 1262 int bgr= *s++; |
1263 *((uint32_t*)d)++ = ((bgr&0x1F)<<3) + ((bgr&0x3E0)<<6) + ((bgr&0x7C00)<<9); | 1263 *((uint32_t*)d)++ = ((bgr&0x1F)<<3) + ((bgr&0x3E0)<<6) + ((bgr&0x7C00)<<9); |
1264 #else | 1264 #else |
1265 register uint16_t bgr; | 1265 register uint16_t bgr; |
1266 bgr = *s++; | 1266 bgr = *s++; |
1267 #ifdef WORDS_BIGENDIAN | 1267 #if HAVE_BIGENDIAN |
1268 *d++ = 255; | 1268 *d++ = 255; |
1269 *d++ = (bgr&0x7C00)>>7; | 1269 *d++ = (bgr&0x7C00)>>7; |
1270 *d++ = (bgr&0x3E0)>>2; | 1270 *d++ = (bgr&0x3E0)>>2; |
1271 *d++ = (bgr&0x1F)<<3; | 1271 *d++ = (bgr&0x1F)<<3; |
1272 #else | 1272 #else |
1319 #endif | 1319 #endif |
1320 while (s < end) | 1320 while (s < end) |
1321 { | 1321 { |
1322 register uint16_t bgr; | 1322 register uint16_t bgr; |
1323 bgr = *s++; | 1323 bgr = *s++; |
1324 #ifdef WORDS_BIGENDIAN | 1324 #if HAVE_BIGENDIAN |
1325 *d++ = 255; | 1325 *d++ = 255; |
1326 *d++ = (bgr&0xF800)>>8; | 1326 *d++ = (bgr&0xF800)>>8; |
1327 *d++ = (bgr&0x7E0)>>3; | 1327 *d++ = (bgr&0x7E0)>>3; |
1328 *d++ = (bgr&0x1F)<<3; | 1328 *d++ = (bgr&0x1F)<<3; |
1329 #else | 1329 #else |
1579 | 1579 |
1580 #else | 1580 #else |
1581 int i, *idst = (int32_t *) dst; | 1581 int i, *idst = (int32_t *) dst; |
1582 const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc; | 1582 const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc; |
1583 for (i = 0; i < chromWidth; i++){ | 1583 for (i = 0; i < chromWidth; i++){ |
1584 #ifdef WORDS_BIGENDIAN | 1584 #if HAVE_BIGENDIAN |
1585 *idst++ = (yc[0] << 24)+ (uc[0] << 16) + | 1585 *idst++ = (yc[0] << 24)+ (uc[0] << 16) + |
1586 (yc[1] << 8) + (vc[0] << 0); | 1586 (yc[1] << 8) + (vc[0] << 0); |
1587 #else | 1587 #else |
1588 *idst++ = yc[0] + (uc[0] << 8) + | 1588 *idst++ = yc[0] + (uc[0] << 8) + |
1589 (yc[1] << 16) + (vc[0] << 24); | 1589 (yc[1] << 16) + (vc[0] << 24); |
1685 | 1685 |
1686 #else | 1686 #else |
1687 int i, *idst = (int32_t *) dst; | 1687 int i, *idst = (int32_t *) dst; |
1688 const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc; | 1688 const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc; |
1689 for (i = 0; i < chromWidth; i++){ | 1689 for (i = 0; i < chromWidth; i++){ |
1690 #ifdef WORDS_BIGENDIAN | 1690 #if HAVE_BIGENDIAN |
1691 *idst++ = (uc[0] << 24)+ (yc[0] << 16) + | 1691 *idst++ = (uc[0] << 24)+ (yc[0] << 16) + |
1692 (vc[0] << 8) + (yc[1] << 0); | 1692 (vc[0] << 8) + (yc[1] << 0); |
1693 #else | 1693 #else |
1694 *idst++ = uc[0] + (yc[0] << 8) + | 1694 *idst++ = uc[0] + (yc[0] << 8) + |
1695 (vc[0] << 16) + (yc[1] << 24); | 1695 (vc[0] << 16) + (yc[1] << 24); |