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