[SCM] libav/experimental: bigendian fix by (Romain Dolbeau <dolbeau at irisa dot fr>) with #if defined(WORDS_BIGENDIAN) && (WORDS_BIGENDIAN == 1) -> #ifdef WORDS_BIGENDIAN by me
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 15:40:16 UTC 2013
The following commit has been merged in the experimental branch:
commit da7f8893e3241ff5669be9df9b415a023a187d14
Author: Michael Niedermayer <michaelni at gmx.at>
Date: Sun May 2 14:26:28 2004 +0000
bigendian fix by (Romain Dolbeau <dolbeau at irisa dot fr>)
with #if defined(WORDS_BIGENDIAN) && (WORDS_BIGENDIAN == 1) -> #ifdef WORDS_BIGENDIAN by me
Originally committed as revision 12396 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
diff --git a/postproc/rgb2rgb_template.c b/postproc/rgb2rgb_template.c
index d051215..81d274b 100644
--- a/postproc/rgb2rgb_template.c
+++ b/postproc/rgb2rgb_template.c
@@ -1532,8 +1532,13 @@ static inline void RENAME(yuvPlanartoyuy2)(const uint8_t *ysrc, const uint8_t *u
int i, *idst = (int32_t *) dst;
const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc;
for(i = 0; i < chromWidth; i++){
+#ifdef WORDS_BIGENDIAN
+ *idst++ = (yc[0] << 24)+ (uc[0] << 16) +
+ (yc[1] << 8) + (vc[0] << 0);
+#else
*idst++ = yc[0] + (uc[0] << 8) +
(yc[1] << 16) + (vc[0] << 24);
+#endif
yc += 2;
uc++;
vc++;
@@ -1634,8 +1639,13 @@ static inline void RENAME(yuvPlanartouyvy)(const uint8_t *ysrc, const uint8_t *u
int i, *idst = (int32_t *) dst;
const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc;
for(i = 0; i < chromWidth; i++){
+#ifdef WORDS_BIGENDIAN
+ *idst++ = (uc[0] << 24)+ (yc[0] << 16) +
+ (vc[0] << 8) + (yc[1] << 0);
+#else
*idst++ = uc[0] + (yc[0] << 8) +
(vc[0] << 16) + (yc[1] << 24);
+#endif
yc += 2;
uc++;
vc++;
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list