summaryrefslogtreecommitdiffstats
path: root/gui
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-05-07 12:33:13 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-05-07 12:33:13 +0000
commit6b8dfb15a61a87d0defccf755a53f5ea7e77e0e8 (patch)
tree981e654c5030075846e1ba97630d9519ea30ef69 /gui
parentfd7fa9ee0a6991a39a8355c12a1d8f56011f0868 (diff)
downloadmpv-6b8dfb15a61a87d0defccf755a53f5ea7e77e0e8.tar.bz2
mpv-6b8dfb15a61a87d0defccf755a53f5ea7e77e0e8.tar.xz
Fix Gui colors for 32 bit png images after switch to libavcodec decoding
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23243 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'gui')
-rw-r--r--gui/bitmap.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/gui/bitmap.c b/gui/bitmap.c
index c0e693da9e..63427783f4 100644
--- a/gui/bitmap.c
+++ b/gui/bitmap.c
@@ -10,6 +10,7 @@
#else
#include "libavcodec/avcodec.h"
#endif
+#include "libavutil/intreadwrite.h"
#include "libvo/fastmemcpy.h"
static int pngRead( unsigned char * fname,txSample * bf )
@@ -80,11 +81,9 @@ static int conv24to32( txSample * bf )
mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"[bitmap] not enough memory for image\n" );
return 1;
}
- for ( c=0,i=0; c < bf->ImageSize; )
+ for ( c=0,i=0; c < bf->ImageSize; c += 4, i += 3)
{
- bf->Image[c++]=tmpImage[i++]; //red
- bf->Image[c++]=tmpImage[i++]; //green
- bf->Image[c++]=tmpImage[i++]; c++; //blue
+ *(uint32_t *)&bf->Image[c] = AV_RB24(&tmpImage[i]);
}
free( tmpImage );
}
@@ -151,10 +150,6 @@ int bpRead( char * fname, txSample * bf )
return -1;
}
if ( conv24to32( bf ) ) return -8;
-#ifdef WORDS_BIGENDIAN
- swab(bf->Image, bf->Image, bf->ImageSize);
-#endif
- bgr2rgb( bf );
Normalize( bf );
return 0;
}