[FFmpeg-cvslog] sws: fix handling of big endian alpha

Michael Niedermayer git at videolan.org
Wed Oct 31 03:12:52 CET 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Oct 31 03:03:32 2012 +0100| [370e39725655a67c6c55be3ce1b2eaba8f5bd048] | committer: Michael Niedermayer

sws: fix handling of big endian alpha

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=370e39725655a67c6c55be3ce1b2eaba8f5bd048
---

 libswscale/input.c            |    4 ++++
 tests/ref/lavfi/pixfmts_scale |    8 ++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/libswscale/input.c b/libswscale/input.c
index d10b4f1..43a67aa 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 b0ffc47..9d0d92c 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



More information about the ffmpeg-cvslog mailing list