summaryrefslogtreecommitdiff
path: root/libswscale/swscale_unscaled.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-01-11 04:07:02 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-01-11 04:07:02 +0100
commitac7efd336487e265511af3424664ecb0cc504d1f (patch)
tree4215341a5c45a04cdf4245d4ce259fa4878885bf /libswscale/swscale_unscaled.c
parent6fe7b57280dd5999e19606b4a31b28e72d40e950 (diff)
sws: fix unscaled LE<->BE rgb<->bgr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswscale/swscale_unscaled.c')
-rw-r--r--libswscale/swscale_unscaled.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
index bf79caabcb..d25c5facf4 100644
--- a/libswscale/swscale_unscaled.c
+++ b/libswscale/swscale_unscaled.c
@@ -762,7 +762,10 @@ void ff_get_unscaled_swscale(SwsContext *c)
&& srcFormat != PIX_FMT_RGB48BE && dstFormat != PIX_FMT_RGB48BE
&& srcFormat != PIX_FMT_BGR48LE && dstFormat != PIX_FMT_BGR48LE
&& srcFormat != PIX_FMT_BGR48BE && dstFormat != PIX_FMT_BGR48BE
- && (!needsDither || (c->flags&(SWS_FAST_BILINEAR|SWS_POINT))))
+ && (!needsDither || (c->flags&(SWS_FAST_BILINEAR|SWS_POINT)))
+ && (!(av_pix_fmt_descriptors[srcFormat].flags & PIX_FMT_BE) == !HAVE_BIGENDIAN || (c->srcFormatBpp+7)/8!=2)
+ && (!(av_pix_fmt_descriptors[dstFormat].flags & PIX_FMT_BE) == !HAVE_BIGENDIAN || (c->dstFormatBpp+7)/8!=2)
+ )
c->swScale= rgbToRgbWrapper;
#define isByteRGB(f) (\