summaryrefslogtreecommitdiff
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
parent1730dcf093d22fa5b53633f5d0532685e8b75536 (diff)
sws: fix handling of big endian alpha
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libswscale/input.c4
-rw-r--r--tests/ref/lavfi/pixfmts_scale8
2 files changed, 8 insertions, 4 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;
diff --git a/tests/ref/lavfi/pixfmts_scale b/tests/ref/lavfi/pixfmts_scale
index b0ffc4731d..9d0d92c08f 100644
--- a/tests/ref/lavfi/pixfmts_scale
+++ b/tests/ref/lavfi/pixfmts_scale
@@ -74,25 +74,25 @@ yuv444p16le f8bac16bf1f2afbd3626e07bcc815a9f
yuv444p9be db739906e3ae3b8792cdc5a0c3387565
yuv444p9le 693b8d30958ef1a37296b1690b4b36d2
yuva420p df46b738bdaf30d3a7f880b5ae45b092
-yuva420p10be 6dc9de933b1033aea729907fcf9d392d
+yuva420p10be 8e5f3b069fdf2f0c14f49ad827991092
yuva420p10le e6915376ad7d0f2be9d50099e5ee33ef
yuva420p16be aa8ca29a93936c62ef038ca8a57f47d7
yuva420p16le ee0cbb31f9cdb897c1982df0caa8ffa0
-yuva420p9be 38aa61fcb702a956c3bf0dfca63441e2
+yuva420p9be b8ca5603123aeb953b9d4fc8ec8e35e1
yuva420p9le 220212a81cda0f2d112f7ae96d532ff9
yuva422p 650755270debb03d2c03b2e93b64c576
yuva422p10be fe0d8c2509d2d23f856093f9aea83cba
yuva422p10le c641064c6306c6eaf95b387e5ae08d67
yuva422p16be 0b8f9385498d2449b18fb15237b0a448
yuva422p16le ce22b20deb93b4846a5043aa104f22d1
-yuva422p9be 62e767085855b9605513b39eed787e8e
+yuva422p9be 822df465d12916d8852340d6b56247c8
yuva422p9le f69c09e872838fe392dfe1825263d3f1
yuva444p 72083e0941cc45af9f97b89d3cd16112
yuva444p10be d8b6fe8cfb60c6e516563c0a4f5c75a8
yuva444p10le 4a85b717f21975216144efc11e2f2cda
yuva444p16be 36a8797545163c24fc0d73f669c3108c
yuva444p16le c017c229aacb832a12c2297fb080a7a0
-yuva444p9be 3826abd6dd62d42ad02c9bb610dec561
+yuva444p9be 8bfb5decfc8b71478b090a5b48c316c3
yuva444p9le 2c7bfb90f7db9faab6862537801e1143
yuvj420p 31386dce60a2dcc493da5d0ed9d880df
yuvj422p 492452e50a3fe66724840cad29be4098