diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-08-12 12:13:31 +0000 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-08-12 12:13:31 +0000 |
commit | 011b3b71d73a63ccbb6b1e281057103c240c83cc (patch) | |
tree | 7dd5c1a1fb0a2fc254acb9d9711ed94435281915 /user/thunderbird/yuv-be.patch | |
parent | b485f27d0f2aa9eb17c13ccd5ade2e04b0d28d9e (diff) | |
download | packages-011b3b71d73a63ccbb6b1e281057103c240c83cc.tar.gz packages-011b3b71d73a63ccbb6b1e281057103c240c83cc.tar.bz2 packages-011b3b71d73a63ccbb6b1e281057103c240c83cc.tar.xz packages-011b3b71d73a63ccbb6b1e281057103c240c83cc.zip |
user/thunderbird: bump to 68.0
Diffstat (limited to 'user/thunderbird/yuv-be.patch')
-rw-r--r-- | user/thunderbird/yuv-be.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/user/thunderbird/yuv-be.patch b/user/thunderbird/yuv-be.patch new file mode 100644 index 000000000..ccb0c2fd8 --- /dev/null +++ b/user/thunderbird/yuv-be.patch @@ -0,0 +1,48 @@ +# HG changeset patch +# User A. Wilcox <AWilcox@Wilcox-Tech.com> +# Date 1543674229 0 +# Sat Dec 01 14:23:49 2018 +0000 +# Node ID 0309ff19e46b126c527e633518d7de8570442114 +# Parent 53107afbc21ec78e7ac46d37af212505f2032d5d +Bug 1511604 - Swizzle YCbCr->RGB data on big-endian machines + +diff -r 53107afbc21e -r 0309ff19e46b gfx/ycbcr/YCbCrUtils.cpp +--- a/gfx/ycbcr/YCbCrUtils.cpp Wed Nov 07 04:50:21 2018 +0000 ++++ b/gfx/ycbcr/YCbCrUtils.cpp Sat Dec 01 14:23:49 2018 +0000 +@@ -3,7 +3,9 @@ + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + ++#include "mozilla/EndianUtils.h" + #include "gfx2DGlue.h" ++#include "mozilla/gfx/Swizzle.h" + + #include "YCbCrUtils.h" + #include "yuv_convert.h" +@@ -236,6 +238,13 @@ + yuvtype, + srcData.mYUVColorSpace); + } ++#if MOZ_BIG_ENDIAN ++ // libyuv makes endian-correct result, which needs to be swapped to BGRX ++ if (aDestFormat != SurfaceFormat::R5G6B5_UINT16) ++ gfx::SwizzleData(aDestBuffer, aStride, gfx::SurfaceFormat::X8R8G8B8, ++ aDestBuffer, aStride, gfx::SurfaceFormat::B8G8R8X8, ++ srcData.mPicSize); ++#endif + } + + void +@@ -257,6 +266,12 @@ + aSrcStrideYA, + aSrcStrideUV, + aDstStrideARGB); ++#if MOZ_BIG_ENDIAN ++ // libyuv makes endian-correct result, which needs to be swapped to BGRA ++ gfx::SwizzleData(aDstARGB, aDstStrideARGB, gfx::SurfaceFormat::A8R8G8B8, ++ aDstARGB, aDstStrideARGB, gfx::SurfaceFormat::B8G8R8A8, ++ IntSize(aWidth, aHeight)); ++#endif + } + + } // namespace gfx |