Browse Source

sws: use planarRgbToRgbWrapper only for 8bit per component

The function doesnt support >8bit currently

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
tags/n1.2
Michael Niedermayer Derek Buitenhuis 12 years ago
parent
commit
e58013dd8f
1 changed files with 9 additions and 1 deletions
  1. +9
    -1
      libswscale/swscale_unscaled.c

+ 9
- 1
libswscale/swscale_unscaled.c View File

@@ -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 */


Loading…
Cancel
Save