diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-06-15 13:04:36 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-06-21 06:37:24 +0000 |
commit | e5e1fac136065d7c8afc49ac72cb517f64c87910 (patch) | |
tree | 23bfea53fd8ffe183b5bbad7e0c76387b165ff16 /src/gui/image/qimage_conversions.cpp | |
parent | 4d70e03002de5cfc558398a235755470ad2c8408 (diff) |
Move endian integers to qendian_p.h
The endian integers have more use than just in QJson, and is already
used separately by QtDeclarative. This patch moves q_littleendian out
of qjson_p.h and matches it with a corresponding q_bigendian, and puts
it to use in simplifying endian handling in the ico image handler.
Change-Id: I975bb701a089256db8ced3cb53b4bd62cdfb02dd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/gui/image/qimage_conversions.cpp')
-rw-r--r-- | src/gui/image/qimage_conversions.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gui/image/qimage_conversions.cpp b/src/gui/image/qimage_conversions.cpp index 659e7d9901..aa7cfe9547 100644 --- a/src/gui/image/qimage_conversions.cpp +++ b/src/gui/image/qimage_conversions.cpp @@ -40,6 +40,7 @@ #include <private/qdrawhelper_p.h> #include <private/qguiapplication_p.h> #include <private/qcolorprofile_p.h> +#include <private/qendian_p.h> #include <private/qsimd_p.h> #include <private/qimage_p.h> #include <qendian.h> @@ -341,10 +342,10 @@ Q_GUI_EXPORT void QT_FASTCALL qt_convert_rgb888_to_rgb32(quint32 *dest_data, con // Handle 4 pixels at a time 12 bytes input to 16 bytes output. for (; pixel + 3 < len; pixel += 4) { - const quint32 *src_packed = (const quint32 *) src_data; - const quint32 src1 = qFromBigEndian(src_packed[0]); - const quint32 src2 = qFromBigEndian(src_packed[1]); - const quint32 src3 = qFromBigEndian(src_packed[2]); + const quint32_be *src_packed = reinterpret_cast<const quint32_be *>(src_data); + const quint32 src1 = src_packed[0]; + const quint32 src2 = src_packed[1]; + const quint32 src3 = src_packed[2]; dest_data[0] = 0xff000000 | (src1 >> 8); dest_data[1] = 0xff000000 | (src1 << 16) | (src2 >> 16); |