aboutsummaryrefslogtreecommitdiffstats
path: root/libswscale/input.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-10-31 03:03:32 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-10-31 03:10:35 +0100
commit370e39725655a67c6c55be3ce1b2eaba8f5bd048 (patch)
tree0e3ed4e5b05164b89e1b14464d5774d6a5a6ccba /libswscale/input.c
parent1730dcf093d22fa5b53633f5d0532685e8b75536 (diff)
downloadffmpeg-370e39725655a67c6c55be3ce1b2eaba8f5bd048.tar.gz
sws: fix handling of big endian alpha
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswscale/input.c')
-rw-r--r--libswscale/input.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libswscale/input.c b/libswscale/input.c
index d10b4f1062..43a67aac90 100644
--- a/libswscale/input.c
+++ b/libswscale/input.c
@@ -1322,6 +1322,10 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
break;
}
if (c->alpPixBuf) {
+ if (is16BPS(srcFormat) || isNBPS(srcFormat)) {
+ if (HAVE_BIGENDIAN == !isBE(srcFormat))
+ c->alpToYV12 = bswap16Y_c;
+ }
switch (srcFormat) {
case AV_PIX_FMT_RGBA64LE:
case AV_PIX_FMT_RGBA64BE: c->alpToYV12 = rgba64ToA_c; break;