From 3303b43ca435a9ec5f5d4c495cfcaf3a180e62a6 Mon Sep 17 00:00:00 2001 From: arpi Date: Sun, 12 May 2002 01:09:10 +0000 Subject: bigendian fix by Colin Leroy git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6055 b3059339-0415-0410-9bf9-f77b7e298cf2 --- Gui/bitmap.c | 17 ++++++++++++++--- Gui/bitmap/bitmap.c | 17 ++++++++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) (limited to 'Gui') 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]; -- cgit v1.2.3