summaryrefslogtreecommitdiffstats
path: root/Gui
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-12 01:09:10 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-12 01:09:10 +0000
commit3303b43ca435a9ec5f5d4c495cfcaf3a180e62a6 (patch)
tree034d02ddd6f08316b65644ba12592d78613ed1fc /Gui
parentc00658414ed5a862f6a029c2ed41768572d8da68 (diff)
downloadmpv-3303b43ca435a9ec5f5d4c495cfcaf3a180e62a6.tar.bz2
mpv-3303b43ca435a9ec5f5d4c495cfcaf3a180e62a6.tar.xz
bigendian fix by Colin Leroy <colin@colino.net>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6055 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui')
-rw-r--r--Gui/bitmap.c17
-rw-r--r--Gui/bitmap/bitmap.c17
2 files changed, 28 insertions, 6 deletions
diff --git a/Gui/bitmap.c b/Gui/bitmap.c
index b04e2ba926..25df75c80f 100644
--- a/Gui/bitmap.c
+++ b/Gui/bitmap.c
@@ -30,9 +30,16 @@ int conv24to32( txSample * bf )
memset( bf->Image,0,bf->ImageSize );
for ( c=0,i=0;i < (int)(bf->Width * bf->Height * 3); )
{
- bf->Image[c++]=tmpImage[i++];
- bf->Image[c++]=tmpImage[i++];
- bf->Image[c++]=tmpImage[i++]; c++;
+#ifndef WORDS_BIGENDIAN
+ bf->Image[c++]=tmpImage[i++]; //red
+ bf->Image[c++]=tmpImage[i++]; //green
+ bf->Image[c++]=tmpImage[i++]; c++; //blue
+#else
+ unsigned char t=tmpImage[i++];
+ bf->Image[c++]=tmpImage[i++]; //green
+ bf->Image[c++]=t; c++; //red
+ bf->Image[c++]=tmpImage[i++]; //blue
+#endif
}
free( tmpImage );
}
@@ -55,7 +62,11 @@ void bgr2rgb( txSample * bf )
void Normalize( txSample * bf )
{
int i;
+#ifndef WORDS_BIGENDIAN
for ( i=0;i < (int)bf->ImageSize;i+=4 ) bf->Image[i+3]=0;
+#else
+ for ( i=0;i < (int)bf->ImageSize;i+=4 ) bf->Image[i]=0;
+#endif
}
unsigned char tmp[512];
diff --git a/Gui/bitmap/bitmap.c b/Gui/bitmap/bitmap.c
index b04e2ba926..25df75c80f 100644
--- a/Gui/bitmap/bitmap.c
+++ b/Gui/bitmap/bitmap.c
@@ -30,9 +30,16 @@ int conv24to32( txSample * bf )
memset( bf->Image,0,bf->ImageSize );
for ( c=0,i=0;i < (int)(bf->Width * bf->Height * 3); )
{
- bf->Image[c++]=tmpImage[i++];
- bf->Image[c++]=tmpImage[i++];
- bf->Image[c++]=tmpImage[i++]; c++;
+#ifndef WORDS_BIGENDIAN
+ bf->Image[c++]=tmpImage[i++]; //red
+ bf->Image[c++]=tmpImage[i++]; //green
+ bf->Image[c++]=tmpImage[i++]; c++; //blue
+#else
+ unsigned char t=tmpImage[i++];
+ bf->Image[c++]=tmpImage[i++]; //green
+ bf->Image[c++]=t; c++; //red
+ bf->Image[c++]=tmpImage[i++]; //blue
+#endif
}
free( tmpImage );
}
@@ -55,7 +62,11 @@ void bgr2rgb( txSample * bf )
void Normalize( txSample * bf )
{
int i;
+#ifndef WORDS_BIGENDIAN
for ( i=0;i < (int)bf->ImageSize;i+=4 ) bf->Image[i+3]=0;
+#else
+ for ( i=0;i < (int)bf->ImageSize;i+=4 ) bf->Image[i]=0;
+#endif
}
unsigned char tmp[512];