Mercurial > mplayer.hg
changeset 23225:794aba782ebd
Fix Gui colors for 32 bit png images after switch to libavcodec decoding
author | reimar |
---|---|
date | Mon, 07 May 2007 12:33:13 +0000 |
parents | f2631612f28b |
children | 4b313fe708be |
files | gui/bitmap.c |
diffstat | 1 files changed, 3 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/gui/bitmap.c Mon May 07 08:13:22 2007 +0000 +++ b/gui/bitmap.c Mon May 07 12:33:13 2007 +0000 @@ -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 @@ 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 @@ return -1; } if ( conv24to32( bf ) ) return -8; -#ifdef WORDS_BIGENDIAN - swab(bf->Image, bf->Image, bf->ImageSize); -#endif - bgr2rgb( bf ); Normalize( bf ); return 0; }