swscale/swscale_unscaled: Fix rounding difference with RGBA output between little and big endian

Fixes fate/dds-rgb16 on big endian

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f6ab967eae)

Conflicts:

	tests/ref/fate/dds-rgb16
This commit is contained in:
Michael Niedermayer 2015-06-29 13:51:43 +02:00 committed by Michael Niedermayer
parent 925adad3e0
commit a47bc9a056
1 changed files with 5 additions and 0 deletions

View File

@ -1242,6 +1242,11 @@ static rgbConvFn findRgbConvFn(SwsContext *c)
if ((dstFormat == AV_PIX_FMT_RGB32_1 || dstFormat == AV_PIX_FMT_BGR32_1) && !isRGBA32(srcFormat) && ALT32_CORR<0) if ((dstFormat == AV_PIX_FMT_RGB32_1 || dstFormat == AV_PIX_FMT_BGR32_1) && !isRGBA32(srcFormat) && ALT32_CORR<0)
return NULL; return NULL;
// Maintain symmetry between endianness
if (c->flags & SWS_BITEXACT)
if ((dstFormat == AV_PIX_FMT_RGB32 || dstFormat == AV_PIX_FMT_BGR32 ) && !isRGBA32(srcFormat) && ALT32_CORR>0)
return NULL;
return conv; return conv;
} }