# HG changeset patch # User michael # Date 1016736812 0 # Node ID 4cfa6366e551442c333592f12e60e553c3e7ea59 # Parent 1fd019cee62d50e97ed1bbedf7125d078fda2994 fixing bgr15&16 on big_endian i doubt that that will fix all big endian problems though, we very likely will have to support RGB & BGR output formats as either bgr32 or bgr15 is rgb depending upon the way rgb/bgr is defined diff -r 1fd019cee62d -r 4cfa6366e551 postproc/swscale.c --- a/postproc/swscale.c Thu Mar 21 17:16:21 2002 +0000 +++ b/postproc/swscale.c Thu Mar 21 18:53:32 2002 +0000 @@ -1125,12 +1125,12 @@ for(i=0; i<768; i++) { int v= clip_table[i]; - clip_table16b[i]= le2me_16( v>>3); - clip_table16g[i]= le2me_16((v<<3)&0x07E0); - clip_table16r[i]= le2me_16((v<<8)&0xF800); - clip_table15b[i]= le2me_16( v>>3); - clip_table15g[i]= le2me_16((v<<2)&0x03E0); - clip_table15r[i]= le2me_16((v<<7)&0x7C00); + clip_table16b[i]= v>>3; + clip_table16g[i]= (v<<3)&0x07E0; + clip_table16r[i]= (v<<8)&0xF800; + clip_table15b[i]= v>>3; + clip_table15g[i]= (v<<2)&0x03E0; + clip_table15r[i]= (v<<7)&0x7C00; } cpuCaps= gCpuCaps; @@ -1420,7 +1420,10 @@ { // FIXME multiple yuv2rgb converters wont work that way cuz that thing is full of globals&statics #ifdef WORDS_BIGENDIAN - yuv2rgb_init( dstFormat&0xFF /* =bpp */, MODE_BGR); + if(dstFormat==IMGFMT_BGR32) + yuv2rgb_init( dstFormat&0xFF /* =bpp */, MODE_BGR); + else + yuv2rgb_init( dstFormat&0xFF /* =bpp */, MODE_RGB); #else yuv2rgb_init( dstFormat&0xFF /* =bpp */, MODE_RGB); #endif