Commit 0efb2896 authored by michael's avatar michael

unscaled yuv2rgb fix for big-endian systems


git-svn-id: file:///var/local/repositories/mplayer/trunk/postproc@4792 b3059339-0415-0410-9bf9-f77b7e298cf2
parent 22210f26
...@@ -35,11 +35,12 @@ tested special converters ...@@ -35,11 +35,12 @@ tested special converters
YV12/I420 -> BGR16 YV12/I420 -> BGR16
YV12 -> YV12 YV12 -> YV12
BGR15 -> BGR16 BGR15 -> BGR16
BGR16 -> BGR16
untested special converters untested special converters
YV12/I420/IYUV -> BGR15/BGR24/BGR32 (its the yuv2rgb stuff, so it should be ok) YV12/I420 -> BGR15/BGR24/BGR32 (its the yuv2rgb stuff, so it should be ok)
YV12/I420/IYUV -> YV12/I420/IYUV YV12/I420 -> YV12/I420
YUY2/BGR15/BGR16/BGR24/BGR32/RGB24/RGB32 -> same format YUY2/BGR15/BGR24/BGR32/RGB24/RGB32 -> same format
BGR24 -> BGR32 & RGB24 -> RGB32 BGR24 -> BGR32 & RGB24 -> RGB32
BGR32 -> BGR24 & RGB32 -> RGB24 BGR32 -> BGR24 & RGB32 -> RGB24
BGR24 -> YV12 BGR24 -> YV12
...@@ -1408,7 +1409,11 @@ SwsContext *getSwsContext(int srcW, int srcH, int srcFormat, int dstW, int dstH, ...@@ -1408,7 +1409,11 @@ SwsContext *getSwsContext(int srcW, int srcH, int srcFormat, int dstW, int dstH,
if(isPlanarYUV(srcFormat) && isBGR(dstFormat)) if(isPlanarYUV(srcFormat) && isBGR(dstFormat))
{ {
// FIXME multiple yuv2rgb converters wont work that way cuz that thing is full of globals&statics // 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); yuv2rgb_init( dstFormat&0xFF /* =bpp */, MODE_RGB);
#endif
c->swScale= planarYuvToBgr; c->swScale= planarYuvToBgr;
if(flags&SWS_PRINT_INFO) if(flags&SWS_PRINT_INFO)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment