summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libvo/vo_x11.c2
-rw-r--r--postproc/swscale.c11
2 files changed, 9 insertions, 4 deletions
diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c
index 0d851144b9..49d771edaf 100644
--- a/libvo/vo_x11.c
+++ b/libvo/vo_x11.c
@@ -427,7 +427,7 @@ static uint32_t config( uint32_t width,uint32_t height,uint32_t d_width,uint32_t
// return -1;
}
- if(mode==MODE_BGR)
+ if((mode==MODE_BGR) == (myximage->byte_order == LSBFirst) )
{
printf("hmm, arpi said that isnt used, contact the developers, thats weird\n" );
return -1;
diff --git a/postproc/swscale.c b/postproc/swscale.c
index 4be341d9dc..74797f94dc 100644
--- a/postproc/swscale.c
+++ b/postproc/swscale.c
@@ -35,11 +35,12 @@ tested special converters
YV12/I420 -> BGR16
YV12 -> YV12
BGR15 -> BGR16
+ BGR16 -> BGR16
untested special converters
- YV12/I420/IYUV -> BGR15/BGR24/BGR32 (its the yuv2rgb stuff, so it should be ok)
- YV12/I420/IYUV -> YV12/I420/IYUV
- YUY2/BGR15/BGR16/BGR24/BGR32/RGB24/RGB32 -> same format
+ YV12/I420 -> BGR15/BGR24/BGR32 (its the yuv2rgb stuff, so it should be ok)
+ YV12/I420 -> YV12/I420
+ YUY2/BGR15/BGR24/BGR32/RGB24/RGB32 -> same format
BGR24 -> BGR32 & RGB24 -> RGB32
BGR32 -> BGR24 & RGB32 -> RGB24
BGR24 -> YV12
@@ -1408,7 +1409,11 @@ SwsContext *getSwsContext(int srcW, int srcH, int srcFormat, int dstW, int dstH,
if(isPlanarYUV(srcFormat) && isBGR(dstFormat))
{
// 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);
+#else
yuv2rgb_init( dstFormat&0xFF /* =bpp */, MODE_RGB);
+#endif
c->swScale= planarYuvToBgr;
if(flags&SWS_PRINT_INFO)