From e58013dd8f00e17dd98ba64e41c72f1d152f6608 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 26 Jan 2013 19:43:06 +0100 Subject: sws: use planarRgbToRgbWrapper only for 8bit per component The function doesnt support >8bit currently Signed-off-by: Michael Niedermayer Signed-off-by: Derek Buitenhuis --- libswscale/swscale_unscaled.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libswscale/swscale_unscaled.c') diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c index 9b919f8aa4..78090f116f 100644 --- a/libswscale/swscale_unscaled.c +++ b/libswscale/swscale_unscaled.c @@ -932,7 +932,15 @@ void ff_get_unscaled_swscale(SwsContext *c) && (!needsDither || (c->flags&(SWS_FAST_BILINEAR|SWS_POINT)))) c->swScale= rgbToRgbWrapper; - if (isPlanarRGB(srcFormat) && isPackedRGB(dstFormat)) +#define isByteRGB(f) ( \ + f == AV_PIX_FMT_RGB32 || \ + f == AV_PIX_FMT_RGB32_1 || \ + f == AV_PIX_FMT_RGB24 || \ + f == AV_PIX_FMT_BGR32 || \ + f == AV_PIX_FMT_BGR32_1 || \ + f == AV_PIX_FMT_BGR24) + + if (srcFormat == AV_PIX_FMT_GBRP && isPlanar(srcFormat) && isByteRGB(dstFormat)) c->swScale = planarRgbToRgbWrapper; /* bswap 16 bits per pixel/component packed formats */ -- cgit v1.2.3