├── src
├── 3rdparty
│ ├── libtiff
│ │ ├── VERSION
│ │ ├── RELEASE-DATE
│ │ ├── libtiff
│ │ │ ├── libtiffxx.map
│ │ │ ├── tif_version.c
│ │ │ ├── tiffvers.h
│ │ │ ├── tif_jpeg_12.c
│ │ │ └── tiffio.hxx
│ │ ├── REUSE.toml
│ │ ├── TODO
│ │ ├── qt_attribution.json
│ │ └── COPYRIGHT
│ ├── zlib_dependency.pri
│ ├── libwebp
│ │ ├── REUSE.toml
│ │ ├── sharpyuv
│ │ │ ├── sharpyuv_cpu.c
│ │ │ ├── sharpyuv_cpu.h
│ │ │ ├── sharpyuv_dsp.h
│ │ │ └── sharpyuv_gamma.h
│ │ ├── patches
│ │ │ ├── 0002-Fix-neon-build-for-qnx.patch
│ │ │ └── 0001-Fix-Windows-build-for-clang-and-neon.patch
│ │ ├── qt_attribution.json
│ │ ├── src
│ │ │ ├── utils
│ │ │ │ ├── filters_utils.h
│ │ │ │ ├── quant_levels_utils.h
│ │ │ │ ├── quant_levels_dec_utils.h
│ │ │ │ ├── color_cache_utils.c
│ │ │ │ ├── random_utils.c
│ │ │ │ └── random_utils.h
│ │ │ ├── dsp
│ │ │ │ └── dec_sse41.c
│ │ │ ├── mux
│ │ │ │ └── animi.h
│ │ │ └── dec
│ │ │ │ ├── alphai_dec.h
│ │ │ │ └── common_dec.h
│ │ ├── PATENTS
│ │ ├── COPYING
│ │ └── README.md
│ └── libtiff.pri
├── plugins
│ ├── imageformats
│ │ ├── dds
│ │ │ ├── dds.json
│ │ │ ├── README
│ │ │ ├── qddshandler.h
│ │ │ └── main.cpp
│ │ ├── mng
│ │ │ ├── mng.json
│ │ │ ├── CMakeLists.txt
│ │ │ ├── qmnghandler_p.h
│ │ │ └── main.cpp
│ │ ├── tga
│ │ │ ├── tga.json
│ │ │ ├── CMakeLists.txt
│ │ │ ├── qtgahandler.h
│ │ │ ├── main.cpp
│ │ │ └── qtgahandler.cpp
│ │ ├── webp
│ │ │ ├── webp.json
│ │ │ ├── main.cpp
│ │ │ └── qwebphandler_p.h
│ │ ├── icns
│ │ │ ├── icns.json
│ │ │ ├── README
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── wbmp
│ │ │ ├── wbmp.json
│ │ │ ├── CMakeLists.txt
│ │ │ ├── qwbmphandler_p.h
│ │ │ └── main.cpp
│ │ ├── tiff
│ │ │ ├── tiff.json
│ │ │ ├── qtiffhandler_p.h
│ │ │ └── main.cpp
│ │ ├── macheif
│ │ │ ├── macheif.json
│ │ │ ├── CMakeLists.txt
│ │ │ ├── qmacheifhandler.h
│ │ │ ├── main.cpp
│ │ │ └── qmacheifhandler.cpp
│ │ ├── jp2
│ │ │ ├── jp2.json
│ │ │ ├── CMakeLists.txt
│ │ │ ├── qjp2handler_p.h
│ │ │ └── main.cpp
│ │ ├── macjp2
│ │ │ ├── macjp2.json
│ │ │ ├── CMakeLists.txt
│ │ │ ├── qmacjp2handler.h
│ │ │ ├── main.cpp
│ │ │ └── qmacjp2handler.cpp
│ │ ├── CMakeLists.txt
│ │ └── shared
│ │ │ └── qiiofhelpers_p.h
│ └── CMakeLists.txt
├── CMakeLists.txt
└── imageformats
│ ├── CMakeLists.txt
│ ├── qt_cmdline.cmake
│ └── doc
│ └── qtimageformats.qdocconf
├── .tag
├── qt_cmdline.cmake
├── tests
├── auto
│ ├── webp
│ │ ├── BLACKLIST
│ │ ├── images
│ │ │ ├── kollada.png
│ │ │ ├── kollada.webp
│ │ │ ├── kollada_noalpha.webp
│ │ │ ├── kollada_animation.webp
│ │ │ └── kollada_lossless.webp
│ │ └── CMakeLists.txt
│ ├── heif
│ │ ├── BLACKLIST
│ │ └── CMakeLists.txt
│ ├── tga
│ │ ├── CMakeLists.txt
│ │ └── tst_qtga.cpp
│ ├── jp2
│ │ ├── CMakeLists.txt
│ │ └── tst_qjp2.cpp
│ ├── CMakeLists.txt
│ ├── wbmp
│ │ ├── CMakeLists.txt
│ │ └── tst_qwbmp.cpp
│ ├── mng
│ │ ├── CMakeLists.txt
│ │ └── tst_qmng.cpp
│ └── icns
│ │ └── CMakeLists.txt
├── shared
│ └── images
│ │ ├── dds
│ │ ├── A8.dds
│ │ ├── L8.dds
│ │ ├── P4.dds
│ │ ├── P8.dds
│ │ ├── A4L4.dds
│ │ ├── A8L8.dds
│ │ ├── ATI2.dds
│ │ ├── DXT1.dds
│ │ ├── DXT2.dds
│ │ ├── DXT3.dds
│ │ ├── DXT4.dds
│ │ ├── DXT5.dds
│ │ ├── L16.dds
│ │ ├── R16F.dds
│ │ ├── R32F.dds
│ │ ├── RXGB.dds
│ │ ├── UYVY.dds
│ │ ├── V8U8.dds
│ │ ├── YUY2.dds
│ │ ├── CxV8U8.dds
│ │ ├── G16R16.dds
│ │ ├── G16R16F.dds
│ │ ├── G32R32F.dds
│ │ ├── L6V5U5.dds
│ │ ├── R3G3B2.dds
│ │ ├── R5G6B5.dds
│ │ ├── R8G8B8.dds
│ │ ├── V16U16.dds
│ │ ├── mipmaps.dds
│ │ ├── A1R5G5B5.dds
│ │ ├── A4R4G4B4.dds
│ │ ├── A8B8G8R8.dds
│ │ ├── A8R3G3B2.dds
│ │ ├── A8R8G8B8.2.dds
│ │ ├── A8R8G8B8.dds
│ │ ├── G8R8_G8B8.dds
│ │ ├── Q8W8V8U8.dds
│ │ ├── R8G8_B8G8.dds
│ │ ├── X1R5G5B5.dds
│ │ ├── X4R4G4B4.dds
│ │ ├── X8B8G8R8.dds
│ │ ├── X8L8V8U8.dds
│ │ ├── X8R8G8B8.dds
│ │ ├── A16B16G16R16.dds
│ │ ├── A2B10G10R10.dds
│ │ ├── A2R10G10B10.dds
│ │ ├── A2W10V10U10.dds
│ │ ├── Q16W16V16U16.dds
│ │ ├── A16B16G16R16F.dds
│ │ └── A32B32G32R32F.dds
│ │ ├── jp2
│ │ ├── logo.bmp
│ │ └── logo.jp2
│ │ ├── mng
│ │ ├── ball.mng
│ │ ├── dutch.mng
│ │ ├── fire.mng
│ │ ├── corrupt.mng
│ │ └── animation.mng
│ │ ├── tiff
│ │ ├── 16bpc.tiff
│ │ ├── image.tif
│ │ ├── big_rgb.tiff
│ │ ├── colorful.bmp
│ │ ├── gray16.tiff
│ │ ├── grayscale.tif
│ │ ├── teapot.tiff
│ │ ├── big_16bpc.tiff
│ │ ├── multipage.tiff
│ │ ├── tiled_mono.tiff
│ │ ├── tiled_rgb.tiff
│ │ ├── big_grayscale.tiff
│ │ ├── corrupt-data.tif
│ │ ├── grayscale-ref.tif
│ │ ├── image_100dpi.tif
│ │ ├── oddsize_mono.tiff
│ │ ├── original_mono.tiff
│ │ ├── original_rgb.tiff
│ │ ├── teapot_cmyk.tiff
│ │ ├── tiled_indexed.tiff
│ │ ├── tiled_grayscale.tiff
│ │ ├── big_rgb_bigendian.tiff
│ │ ├── mono_orientation_1.tiff
│ │ ├── mono_orientation_2.tiff
│ │ ├── mono_orientation_3.tiff
│ │ ├── mono_orientation_4.tiff
│ │ ├── mono_orientation_5.tiff
│ │ ├── mono_orientation_6.tiff
│ │ ├── mono_orientation_7.tiff
│ │ ├── mono_orientation_8.tiff
│ │ ├── oddsize_grayscale.tiff
│ │ ├── original_grayscale.tiff
│ │ ├── original_indexed.tiff
│ │ ├── rgb_orientation_1.tiff
│ │ ├── rgb_orientation_2.tiff
│ │ ├── rgb_orientation_3.tiff
│ │ ├── rgb_orientation_4.tiff
│ │ ├── rgb_orientation_5.tiff
│ │ ├── rgb_orientation_6.tiff
│ │ ├── rgb_orientation_7.tiff
│ │ ├── rgb_orientation_8.tiff
│ │ ├── tiled_oddsize_mono.tiff
│ │ ├── rgba_lzw_littleendian.tif
│ │ ├── indexed_orientation_1.tiff
│ │ ├── indexed_orientation_2.tiff
│ │ ├── indexed_orientation_3.tiff
│ │ ├── indexed_orientation_4.tiff
│ │ ├── indexed_orientation_5.tiff
│ │ ├── indexed_orientation_6.tiff
│ │ ├── indexed_orientation_7.tiff
│ │ ├── indexed_orientation_8.tiff
│ │ ├── tiled_oddsize_grayscale.tiff
│ │ ├── rgba_packbits_littleendian.tif
│ │ ├── rgba_nocompression_bigendian.tif
│ │ ├── rgba_zipdeflate_littleendian.tif
│ │ ├── rgba_adobedeflate_littleendian.tif
│ │ └── rgba_nocompression_littleendian.tif
│ │ ├── icns
│ │ ├── test-jp2.icns
│ │ ├── test-png.icns
│ │ ├── test-32bit.icns
│ │ ├── test-legacy.icns
│ │ ├── test-variants.icns
│ │ ├── test-write-128.png
│ │ ├── test-write-16.png
│ │ ├── test-write-256.png
│ │ ├── test-write-32.png
│ │ ├── test-write-512.png
│ │ ├── test-write-64.png
│ │ └── test-write-1024.png
│ │ ├── tga
│ │ └── test-flag.tga
│ │ ├── heif
│ │ ├── col320x480.heic
│ │ ├── newlogoCCW.heic
│ │ ├── primary-index-0.heic
│ │ └── primary-index-1.heic
│ │ ├── wbmp
│ │ ├── qt-logo-big.wbmp
│ │ └── qt-logo-small.wbmp
│ │ └── mng.qrc
├── benchmarks
│ ├── benchmarks.pro
│ ├── mng
│ │ ├── mng.pro
│ │ ├── CMakeLists.txt
│ │ └── tst_qmng.cpp
│ ├── tiff
│ │ └── tiff.pro
│ └── CMakeLists.txt
└── CMakeLists.txt
├── .gitreview
├── dependencies.yaml
├── .cmake.conf
├── dist
├── REUSE.toml
├── changes-6.0.0
├── changes-5.14.1
├── changes-5.15.1
├── changes-5.15.2
├── changes-5.14.2
├── changes-5.0.2
├── changes-5.9.0
├── changes-5.8.0
├── changes-5.1.0
├── changes-5.9.2
├── changes-5.9.3
├── changes-5.13.1
├── changes-5.9.1
├── changes-5.9.5
├── changes-5.12.2
├── changes-5.12.5
├── changes-5.12.10
├── changes-5.9.6
├── changes-5.1.1
├── changes-5.11.2
├── changes-5.12.1
├── changes-5.13.2
├── changes-5.10.0
├── changes-5.10.1
├── changes-5.6.3
├── changes-5.3.0
├── changes-5.11.0
├── changes-5.4.0
├── changes-5.12.4
├── changes-5.5.0
├── changes-5.9.4
├── changes-5.15.0
├── changes-5.11.3
├── changes-5.12.3
├── changes-5.13.0
├── changes-5.11.1
├── changes-5.14.0
├── changes-5.6.0
├── changes-5.7.0
├── changes-5.0.1
└── changes-5.12.0
├── config_help.txt
├── LICENSES
├── LicenseRef-Qt-Commercial.txt
├── libtiff.txt
└── BSD-3-Clause.txt
├── coin
├── module_config.yaml
└── axivion
│ └── ci_config_linux.json
├── configure.cmake
├── cmake
├── FindWrapJasper.cmake
└── FindLibmng.cmake
├── CMakeLists.txt
└── REUSE.toml
/src/3rdparty/libtiff/VERSION:
--------------------------------------------------------------------------------
1 | 4.7.1
2 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff/RELEASE-DATE:
--------------------------------------------------------------------------------
1 | 20250911
2 |
--------------------------------------------------------------------------------
/.tag:
--------------------------------------------------------------------------------
1 | b106fd9db2f07152637932cb7cb71bbc47f58009
2 |
--------------------------------------------------------------------------------
/qt_cmdline.cmake:
--------------------------------------------------------------------------------
1 | qt_commandline_subconfig(src/imageformats)
2 |
--------------------------------------------------------------------------------
/tests/auto/webp/BLACKLIST:
--------------------------------------------------------------------------------
1 | # QTBUG-130617
2 | [writeImage:kollada_noalpha-100]
3 | vxworks
4 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff/libtiff/libtiffxx.map:
--------------------------------------------------------------------------------
1 | LIBTIFFXX_4.0 {
2 | global:
3 | *;
4 | };
5 |
--------------------------------------------------------------------------------
/tests/auto/heif/BLACKLIST:
--------------------------------------------------------------------------------
1 | [writeImage]
2 | macos-12 arm # HEIC codec doesn't seem to work in Tart VMs
3 |
--------------------------------------------------------------------------------
/.gitreview:
--------------------------------------------------------------------------------
1 | [gerrit]
2 | host=codereview.qt-project.org
3 | project=qt/qtimageformats
4 | defaultbranch=dev
5 |
--------------------------------------------------------------------------------
/tests/shared/images/dds/A8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/L8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/L8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/P4.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/P4.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/P8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/P8.dds
--------------------------------------------------------------------------------
/src/plugins/imageformats/dds/dds.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "dds" ],
3 | "MimeTypes": [ "image/x-dds" ]
4 | }
5 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/mng/mng.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "mng" ],
3 | "MimeTypes": [ "video/x-mng" ]
4 | }
5 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/tga/tga.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "tga" ],
3 | "MimeTypes": [ "image/x-tga" ]
4 | }
5 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/webp/webp.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "webp" ],
3 | "MimeTypes": [ "image/webp" ]
4 | }
5 |
--------------------------------------------------------------------------------
/tests/benchmarks/benchmarks.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 | SUBDIRS =
3 | qtConfig(system-zlib): SUBDIRS += mng tiff
4 |
--------------------------------------------------------------------------------
/tests/shared/images/dds/A4L4.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A4L4.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/A8L8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A8L8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/ATI2.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/ATI2.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/DXT1.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/DXT1.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/DXT2.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/DXT2.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/DXT3.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/DXT3.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/DXT4.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/DXT4.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/DXT5.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/DXT5.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/L16.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/L16.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/R16F.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/R16F.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/R32F.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/R32F.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/RXGB.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/RXGB.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/UYVY.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/UYVY.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/V8U8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/V8U8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/YUY2.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/YUY2.dds
--------------------------------------------------------------------------------
/tests/shared/images/jp2/logo.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/jp2/logo.bmp
--------------------------------------------------------------------------------
/tests/shared/images/jp2/logo.jp2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/jp2/logo.jp2
--------------------------------------------------------------------------------
/tests/shared/images/mng/ball.mng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/mng/ball.mng
--------------------------------------------------------------------------------
/tests/shared/images/mng/dutch.mng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/mng/dutch.mng
--------------------------------------------------------------------------------
/tests/shared/images/mng/fire.mng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/mng/fire.mng
--------------------------------------------------------------------------------
/src/plugins/imageformats/icns/icns.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "icns" ],
3 | "MimeTypes": [ "image/x-icns" ]
4 | }
5 |
--------------------------------------------------------------------------------
/tests/auto/webp/images/kollada.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/auto/webp/images/kollada.png
--------------------------------------------------------------------------------
/tests/auto/webp/images/kollada.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/auto/webp/images/kollada.webp
--------------------------------------------------------------------------------
/tests/shared/images/dds/CxV8U8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/CxV8U8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/G16R16.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/G16R16.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/G16R16F.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/G16R16F.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/G32R32F.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/G32R32F.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/L6V5U5.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/L6V5U5.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/R3G3B2.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/R3G3B2.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/R5G6B5.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/R5G6B5.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/R8G8B8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/R8G8B8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/V16U16.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/V16U16.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/mipmaps.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/mipmaps.dds
--------------------------------------------------------------------------------
/tests/shared/images/mng/corrupt.mng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/mng/corrupt.mng
--------------------------------------------------------------------------------
/tests/shared/images/tiff/16bpc.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/16bpc.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/image.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/image.tif
--------------------------------------------------------------------------------
/src/plugins/imageformats/wbmp/wbmp.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "wbmp" ],
3 | "MimeTypes": [ "image/vnd.wap.wbmp" ]
4 | }
5 |
--------------------------------------------------------------------------------
/tests/shared/images/dds/A1R5G5B5.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A1R5G5B5.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/A4R4G4B4.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A4R4G4B4.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/A8B8G8R8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A8B8G8R8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/A8R3G3B2.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A8R3G3B2.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/A8R8G8B8.2.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A8R8G8B8.2.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/A8R8G8B8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A8R8G8B8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/G8R8_G8B8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/G8R8_G8B8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/Q8W8V8U8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/Q8W8V8U8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/R8G8_B8G8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/R8G8_B8G8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/X1R5G5B5.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/X1R5G5B5.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/X4R4G4B4.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/X4R4G4B4.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/X8B8G8R8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/X8B8G8R8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/X8L8V8U8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/X8L8V8U8.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/X8R8G8B8.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/X8R8G8B8.dds
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-jp2.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-jp2.icns
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-png.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-png.icns
--------------------------------------------------------------------------------
/tests/shared/images/mng/animation.mng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/mng/animation.mng
--------------------------------------------------------------------------------
/tests/shared/images/tga/test-flag.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tga/test-flag.tga
--------------------------------------------------------------------------------
/tests/shared/images/tiff/big_rgb.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/big_rgb.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/colorful.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/colorful.bmp
--------------------------------------------------------------------------------
/tests/shared/images/tiff/gray16.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/gray16.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/grayscale.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/grayscale.tif
--------------------------------------------------------------------------------
/tests/shared/images/tiff/teapot.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/teapot.tiff
--------------------------------------------------------------------------------
/dependencies.yaml:
--------------------------------------------------------------------------------
1 | dependencies:
2 | ../qtbase:
3 | ref: df1292e2b96aab02ad6df778d8336e7958ad5d1c
4 | required: true
5 |
--------------------------------------------------------------------------------
/tests/shared/images/dds/A16B16G16R16.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A16B16G16R16.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/A2B10G10R10.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A2B10G10R10.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/A2R10G10B10.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A2R10G10B10.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/A2W10V10U10.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A2W10V10U10.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/Q16W16V16U16.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/Q16W16V16U16.dds
--------------------------------------------------------------------------------
/tests/shared/images/heif/col320x480.heic:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/heif/col320x480.heic
--------------------------------------------------------------------------------
/tests/shared/images/heif/newlogoCCW.heic:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/heif/newlogoCCW.heic
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-32bit.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-32bit.icns
--------------------------------------------------------------------------------
/tests/shared/images/tiff/big_16bpc.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/big_16bpc.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/multipage.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/multipage.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/tiled_mono.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/tiled_mono.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/tiled_rgb.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/tiled_rgb.tiff
--------------------------------------------------------------------------------
/src/plugins/imageformats/tiff/tiff.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "tiff", "tif" ],
3 | "MimeTypes": [ "image/tiff", "image/tiff" ]
4 | }
5 |
--------------------------------------------------------------------------------
/tests/auto/webp/images/kollada_noalpha.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/auto/webp/images/kollada_noalpha.webp
--------------------------------------------------------------------------------
/tests/shared/images/dds/A16B16G16R16F.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A16B16G16R16F.dds
--------------------------------------------------------------------------------
/tests/shared/images/dds/A32B32G32R32F.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/dds/A32B32G32R32F.dds
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-legacy.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-legacy.icns
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-variants.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-variants.icns
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-write-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-write-128.png
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-write-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-write-16.png
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-write-256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-write-256.png
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-write-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-write-32.png
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-write-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-write-512.png
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-write-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-write-64.png
--------------------------------------------------------------------------------
/tests/shared/images/tiff/big_grayscale.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/big_grayscale.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/corrupt-data.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/corrupt-data.tif
--------------------------------------------------------------------------------
/tests/shared/images/tiff/grayscale-ref.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/grayscale-ref.tif
--------------------------------------------------------------------------------
/tests/shared/images/tiff/image_100dpi.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/image_100dpi.tif
--------------------------------------------------------------------------------
/tests/shared/images/tiff/oddsize_mono.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/oddsize_mono.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/original_mono.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/original_mono.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/original_rgb.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/original_rgb.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/teapot_cmyk.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/teapot_cmyk.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/tiled_indexed.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/tiled_indexed.tiff
--------------------------------------------------------------------------------
/tests/shared/images/wbmp/qt-logo-big.wbmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/wbmp/qt-logo-big.wbmp
--------------------------------------------------------------------------------
/tests/shared/images/wbmp/qt-logo-small.wbmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/wbmp/qt-logo-small.wbmp
--------------------------------------------------------------------------------
/tests/auto/webp/images/kollada_animation.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/auto/webp/images/kollada_animation.webp
--------------------------------------------------------------------------------
/tests/auto/webp/images/kollada_lossless.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/auto/webp/images/kollada_lossless.webp
--------------------------------------------------------------------------------
/tests/shared/images/heif/primary-index-0.heic:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/heif/primary-index-0.heic
--------------------------------------------------------------------------------
/tests/shared/images/heif/primary-index-1.heic:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/heif/primary-index-1.heic
--------------------------------------------------------------------------------
/tests/shared/images/icns/test-write-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/icns/test-write-1024.png
--------------------------------------------------------------------------------
/tests/shared/images/tiff/tiled_grayscale.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/tiled_grayscale.tiff
--------------------------------------------------------------------------------
/src/plugins/imageformats/macheif/macheif.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "heic", "heif" ],
3 | "MimeTypes": [ "image/heic", "image/heif" ]
4 | }
5 |
--------------------------------------------------------------------------------
/tests/shared/images/tiff/big_rgb_bigendian.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/big_rgb_bigendian.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/mono_orientation_1.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/mono_orientation_1.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/mono_orientation_2.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/mono_orientation_2.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/mono_orientation_3.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/mono_orientation_3.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/mono_orientation_4.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/mono_orientation_4.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/mono_orientation_5.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/mono_orientation_5.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/mono_orientation_6.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/mono_orientation_6.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/mono_orientation_7.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/mono_orientation_7.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/mono_orientation_8.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/mono_orientation_8.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/oddsize_grayscale.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/oddsize_grayscale.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/original_grayscale.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/original_grayscale.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/original_indexed.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/original_indexed.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgb_orientation_1.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgb_orientation_1.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgb_orientation_2.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgb_orientation_2.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgb_orientation_3.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgb_orientation_3.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgb_orientation_4.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgb_orientation_4.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgb_orientation_5.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgb_orientation_5.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgb_orientation_6.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgb_orientation_6.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgb_orientation_7.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgb_orientation_7.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgb_orientation_8.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgb_orientation_8.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/tiled_oddsize_mono.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/tiled_oddsize_mono.tiff
--------------------------------------------------------------------------------
/src/plugins/imageformats/jp2/jp2.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "jp2" ],
3 | "MimeTypes": [ "image/jp2", "image/jpx", "image/jpm", "video/mj2" ]
4 | }
5 |
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgba_lzw_littleendian.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgba_lzw_littleendian.tif
--------------------------------------------------------------------------------
/src/plugins/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | add_subdirectory(imageformats)
5 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/macjp2/macjp2.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "jp2" ],
3 | "MimeTypes": [ "image/jp2", "image/jpx", "image/jpm", "video/mj2" ]
4 | }
5 |
--------------------------------------------------------------------------------
/tests/shared/images/tiff/indexed_orientation_1.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/indexed_orientation_1.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/indexed_orientation_2.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/indexed_orientation_2.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/indexed_orientation_3.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/indexed_orientation_3.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/indexed_orientation_4.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/indexed_orientation_4.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/indexed_orientation_5.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/indexed_orientation_5.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/indexed_orientation_6.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/indexed_orientation_6.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/indexed_orientation_7.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/indexed_orientation_7.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/indexed_orientation_8.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/indexed_orientation_8.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/tiled_oddsize_grayscale.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/tiled_oddsize_grayscale.tiff
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgba_packbits_littleendian.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgba_packbits_littleendian.tif
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgba_nocompression_bigendian.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgba_nocompression_bigendian.tif
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgba_zipdeflate_littleendian.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgba_zipdeflate_littleendian.tif
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgba_adobedeflate_littleendian.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgba_adobedeflate_littleendian.tif
--------------------------------------------------------------------------------
/tests/shared/images/tiff/rgba_nocompression_littleendian.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtimageformats/dev/tests/shared/images/tiff/rgba_nocompression_littleendian.tif
--------------------------------------------------------------------------------
/src/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | add_subdirectory(imageformats)
5 | add_subdirectory(plugins)
6 |
--------------------------------------------------------------------------------
/tests/benchmarks/mng/mng.pro:
--------------------------------------------------------------------------------
1 | TARGET = tst_bench_qmng
2 |
3 | QT = core gui testlib
4 | CONFIG -= app_bundle
5 |
6 | SOURCES += tst_qmng.cpp
7 | RESOURCES += $$PWD/../../shared/images/mng.qrc
8 |
--------------------------------------------------------------------------------
/tests/benchmarks/tiff/tiff.pro:
--------------------------------------------------------------------------------
1 | TARGET = tst_bench_qtiff
2 |
3 | QT = core gui testlib
4 | CONFIG -= app_bundle
5 |
6 | SOURCES += tst_qtiff.cpp
7 | RESOURCES += ../../shared/images/tiff.qrc
8 |
--------------------------------------------------------------------------------
/src/3rdparty/zlib_dependency.pri:
--------------------------------------------------------------------------------
1 | # zlib dependency satisfied by bundled 3rd party zlib or system zlib
2 | qtConfig(system-zlib) {
3 | QMAKE_USE_PRIVATE += zlib
4 | } else {
5 | QT_PRIVATE += zlib-private
6 | }
7 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/icns/README:
--------------------------------------------------------------------------------
1 | [Useful links]
2 | * http://en.wikipedia.org/wiki/Apple_Icon_Image_format - Wikipedia article about ICNS format
3 | * http://www.macdisk.com/maciconen.php - Unofficial tech info about the format
--------------------------------------------------------------------------------
/tests/benchmarks/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 |
5 | if(QT_FEATURE_system_zlib)
6 | add_subdirectory(mng)
7 | add_subdirectory(tiff)
8 | endif()
9 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/REUSE.toml:
--------------------------------------------------------------------------------
1 | version = 1
2 |
3 | [[annotations]]
4 | path = ["**"]
5 | precedence = "closest"
6 | SPDX-FileCopyrightText = "Copyright (c) 2010, Google Inc. All rights reserved."
7 | SPDX-License-Identifier = "BSD-3-Clause"
8 |
--------------------------------------------------------------------------------
/.cmake.conf:
--------------------------------------------------------------------------------
1 | set(QT_REPO_MODULE_VERSION "6.12.0")
2 | set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
3 | set(QT_EXTRA_INTERNAL_TARGET_DEFINES
4 | "QT_NO_FOREACH=1"
5 | "QT_NO_QASCONST=1"
6 | "QT_NO_URL_CAST_FROM_STRING=1"
7 | )
8 |
--------------------------------------------------------------------------------
/src/imageformats/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | add_library(ImageFormats INTERFACE)
5 | qt_internal_add_docs(ImageFormats
6 | doc/qtimageformats.qdocconf
7 | )
8 |
9 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff/REUSE.toml:
--------------------------------------------------------------------------------
1 | version = 1
2 |
3 | [[annotations]]
4 | path = ["**"]
5 | precedence = "closest"
6 | SPDX-FileCopyrightText = "Copyright (c) 1988-1997 Sam Leffler Copyright (c) 1991-1997 Silicon Graphics, Inc."
7 | SPDX-License-Identifier = "libtiff"
8 |
--------------------------------------------------------------------------------
/dist/REUSE.toml:
--------------------------------------------------------------------------------
1 | version = 1
2 |
3 | [[annotations]]
4 | path = ["*"]
5 | precedence = "override"
6 | comment = "Licensed as documentation."
7 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
8 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"
9 |
--------------------------------------------------------------------------------
/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | if(QT_BUILD_STANDALONE_TESTS)
5 | # Add qt_find_package calls for extra dependencies that need to be found when building
6 | # the standalone tests here.
7 | endif()
8 | qt_build_tests()
9 |
--------------------------------------------------------------------------------
/tests/shared/images/mng.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | mng/animation.mng
4 | mng/ball.mng
5 | mng/corrupt.mng
6 | mng/fire.mng
7 | mng/dutch.mng
8 |
9 |
10 |
--------------------------------------------------------------------------------
/config_help.txt:
--------------------------------------------------------------------------------
1 | Further image format options:
2 |
3 | -jasper .............. Enable JPEG-2000 support using the JasPer library [no]
4 | -mng ................. Enable MNG support [no]
5 | -tiff ................ Enable TIFF support [system/qt/no]
6 | -webp ................ Enable WEBP support [system/qt/no]
7 |
--------------------------------------------------------------------------------
/src/imageformats/qt_cmdline.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | qt_commandline_option(jasper TYPE boolean)
5 | qt_commandline_option(mng TYPE boolean)
6 | qt_commandline_option(tiff TYPE enum VALUES no qt system)
7 | qt_commandline_option(webp TYPE enum VALUES no qt system)
8 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff/TODO:
--------------------------------------------------------------------------------
1 | o gif2tiff segaulting on selected images
2 | o tiffcmp read data by strip/tile instead of scanline
3 | o YCbCr sampling support
4 | o extracate colorspace conversion support
5 | o look at isolating all codecs from TIFF library
6 | o JPEG colormode order dependency problem
7 | o Write documentation on how do extend tags, and how the custom field
8 | stuff all works.
9 |
10 |
11 |
--------------------------------------------------------------------------------
/LICENSES/LicenseRef-Qt-Commercial.txt:
--------------------------------------------------------------------------------
1 | Licensees holding valid commercial Qt licenses may use this software in
2 | accordance with the the terms contained in a written agreement between
3 | you and The Qt Company. Alternatively, the terms and conditions that were
4 | accepted by the licensee when buying and/or downloading the
5 | software do apply.
6 |
7 | For the latest licensing terms and conditions, see https://www.qt.io/terms-conditions.
8 | For further information use the contact form at https://www.qt.io/contact-us.
9 |
--------------------------------------------------------------------------------
/coin/module_config.yaml:
--------------------------------------------------------------------------------
1 | version: 2
2 | accept_configuration:
3 | condition: property
4 | property: features
5 | not_contains_value: Disable
6 |
7 | instructions:
8 | Build:
9 | - type: EnvironmentVariable
10 | variableName: VERIFY_SOURCE_SBOM
11 | variableValue: "ON"
12 | - !include "{{qt/qtbase}}/coin_module_build_template_v2.yaml"
13 |
14 | Test:
15 | - !include "{{qt/qtbase}}/coin_module_test_template_v3.yaml"
16 | - !include "{{qt/qtbase}}/coin_module_test_docs.yaml"
17 |
--------------------------------------------------------------------------------
/configure.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 |
5 |
6 | #### Inputs
7 |
8 |
9 |
10 | #### Libraries
11 |
12 |
13 |
14 | #### Tests
15 |
16 |
17 |
18 | #### Features
19 |
20 |
21 | qt_extra_definition("QT_VERSION_STR" "\"${PROJECT_VERSION}\"" PUBLIC)
22 | qt_extra_definition("QT_VERSION_MAJOR" ${PROJECT_VERSION_MAJOR} PUBLIC)
23 | qt_extra_definition("QT_VERSION_MINOR" ${PROJECT_VERSION_MINOR} PUBLIC)
24 | qt_extra_definition("QT_VERSION_PATCH" ${PROJECT_VERSION_PATCH} PUBLIC)
25 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/wbmp/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## QWbmpPlugin Plugin:
6 | #####################################################################
7 |
8 | qt_internal_add_plugin(QWbmpPlugin
9 | OUTPUT_NAME qwbmp
10 | PLUGIN_TYPE imageformats
11 | SOURCES
12 | main.cpp
13 | qwbmphandler.cpp qwbmphandler_p.h
14 | LIBRARIES
15 | Qt::Core
16 | Qt::Gui
17 | )
18 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/mng/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## QMngPlugin Plugin:
6 | #####################################################################
7 |
8 | qt_internal_add_plugin(QMngPlugin
9 | OUTPUT_NAME qmng
10 | PLUGIN_TYPE imageformats
11 | SOURCES
12 | main.cpp
13 | qmnghandler.cpp qmnghandler_p.h
14 | LIBRARIES
15 | Libmng::Libmng
16 | Qt::Core
17 | Qt::Gui
18 | )
19 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/jp2/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## QJp2Plugin Plugin:
6 | #####################################################################
7 |
8 | qt_internal_add_plugin(QJp2Plugin
9 | OUTPUT_NAME qjp2
10 | PLUGIN_TYPE imageformats
11 | SOURCES
12 | main.cpp
13 | qjp2handler.cpp qjp2handler_p.h
14 | LIBRARIES
15 | WrapJasper::WrapJasper
16 | Qt::Core
17 | Qt::Gui
18 | )
19 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/tga/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## QTgaPlugin Plugin:
6 | #####################################################################
7 |
8 | qt_internal_add_plugin(QTgaPlugin
9 | OUTPUT_NAME qtga
10 | PLUGIN_TYPE imageformats
11 | SOURCES
12 | main.cpp
13 | qtgafile.cpp qtgafile.h
14 | qtgahandler.cpp qtgahandler.h
15 | LIBRARIES
16 | Qt::Core
17 | Qt::Gui
18 | )
19 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/icns/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## QICNSPlugin Plugin:
6 | #####################################################################
7 |
8 | qt_internal_add_plugin(QICNSPlugin
9 | OUTPUT_NAME qicns
10 | PLUGIN_TYPE imageformats
11 | SOURCES
12 | main.cpp
13 | qicnshandler.cpp qicnshandler_p.h
14 | DEFINES
15 | QT_NO_CAST_FROM_ASCII
16 | QT_NO_CAST_TO_ASCII
17 | LIBRARIES
18 | Qt::Core
19 | Qt::Gui
20 | )
21 |
--------------------------------------------------------------------------------
/tests/auto/tga/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## tst_qtga Test:
6 | #####################################################################
7 |
8 | qt_internal_add_test(tst_qtga
9 | SOURCES
10 | tst_qtga.cpp
11 | LIBRARIES
12 | Qt::Gui
13 | )
14 |
15 | # Resources:
16 | set(tga_resource_files
17 | "../../shared/images/tga/test-flag.tga"
18 | )
19 |
20 | qt_internal_add_resource(tst_qtga "tga"
21 | PREFIX
22 | "/"
23 | BASE
24 | "../../shared/images"
25 | FILES
26 | ${tga_resource_files}
27 | )
28 |
--------------------------------------------------------------------------------
/dist/changes-6.0.0:
--------------------------------------------------------------------------------
1 | Qt 6.0.0 is a new major version release of Qt. It is not binary compatible with
2 | earlier Qt releases.
3 |
4 | The goal has been to retain as much source compatibility with Qt 5.15 as
5 | possible, but some changes were inevitable to make Qt a better framework.
6 |
7 | To make it easier to port to Qt 6.0, we have created a porting guide to
8 | summarize those changes and provide guidance to handle them. In the guide, you
9 | can find links to articles about changes that may affect your application and
10 | help you transition from Qt 5.15 to Qt 6.0:
11 |
12 | https://doc.qt.io/qt-6/portingguide.html
13 |
14 | For more details refer to the online documentation of Qt 6.0:
15 |
16 | https://doc.qt.io/qt-6/index.html
17 |
18 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/sharpyuv/sharpyuv_cpu.c:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | #include "sharpyuv/sharpyuv_cpu.h"
11 |
12 | // Include src/dsp/cpu.c to create SharpYuvGetCPUInfo from VP8GetCPUInfo. The
13 | // function pointer is renamed in sharpyuv_cpu.h.
14 | #include "src/dsp/cpu.c"
15 |
--------------------------------------------------------------------------------
/tests/auto/jp2/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## tst_qjp2 Test:
6 | #####################################################################
7 |
8 | qt_internal_add_test(tst_qjp2
9 | SOURCES
10 | tst_qjp2.cpp
11 | LIBRARIES
12 | Qt::Gui
13 | )
14 |
15 | # Resources:
16 | set(jp2_resource_files
17 | "../../shared/images/jp2/logo.bmp"
18 | "../../shared/images/jp2/logo.jp2"
19 | )
20 |
21 | qt_internal_add_resource(tst_qjp2 "jp2"
22 | PREFIX
23 | "/"
24 | BASE
25 | "../../shared/images"
26 | FILES
27 | ${jp2_resource_files}
28 | )
29 |
--------------------------------------------------------------------------------
/tests/auto/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | # For now, don't built auto tests when QT_BUILD_MINIMAL_STATIC_TEST
5 | # is specified and the build is targeting iOS. QT_BUILD_MINIMAL_STATIC_TEST is used in our CI.
6 | # Regular non-cmake build tests shouldn't be built because the CI will try to run them and fail
7 | # due to missing simulator support.
8 | if(IOS AND QT_BUILD_MINIMAL_STATIC_TESTS)
9 | return()
10 | endif()
11 |
12 | add_subdirectory(tga)
13 | add_subdirectory(wbmp)
14 | add_subdirectory(dds)
15 | add_subdirectory(icns)
16 | add_subdirectory(jp2)
17 | add_subdirectory(webp)
18 | add_subdirectory(heif)
19 | add_subdirectory(mng)
20 | add_subdirectory(tiff)
21 |
--------------------------------------------------------------------------------
/tests/auto/wbmp/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## tst_qwbmp Test:
6 | #####################################################################
7 |
8 | qt_internal_add_test(tst_qwbmp
9 | SOURCES
10 | tst_qwbmp.cpp
11 | LIBRARIES
12 | Qt::Gui
13 | )
14 |
15 | # Resources:
16 | set(wbmp_resource_files
17 | "../../shared/images/wbmp/qt-logo-big.wbmp"
18 | "../../shared/images/wbmp/qt-logo-small.wbmp"
19 | )
20 |
21 | qt_internal_add_resource(tst_qwbmp "wbmp"
22 | PREFIX
23 | "/"
24 | BASE
25 | "../../shared/images"
26 | FILES
27 | ${wbmp_resource_files}
28 | )
29 |
--------------------------------------------------------------------------------
/tests/auto/webp/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## tst_qwebp Test:
6 | #####################################################################
7 |
8 | qt_internal_add_test(tst_qwebp
9 | SOURCES
10 | tst_qwebp.cpp
11 | LIBRARIES
12 | Qt::Gui
13 | )
14 |
15 | # Resources:
16 | set(webp_resource_files
17 | "images/kollada.png"
18 | "images/kollada.webp"
19 | "images/kollada_animation.webp"
20 | "images/kollada_lossless.webp"
21 | "images/kollada_noalpha.webp"
22 | )
23 |
24 | qt_internal_add_resource(tst_qwebp "webp"
25 | PREFIX
26 | "/"
27 | FILES
28 | ${webp_resource_files}
29 | )
30 |
31 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/dds/README:
--------------------------------------------------------------------------------
1 | [Useful links]
2 | * http://en.wikipedia.org/wiki/DirectDraw_Surface - Wiki:)
3 | * http://msdn.microsoft.com/en-us/library/bb943990.aspx - MSDN
4 | * http://msdn.microsoft.com/en-us/library/bb943991(v=vs.85).aspx - Programming Guide
5 | * http://msdn.microsoft.com/en-us/library/bb943982(v=vs.85).aspx - DDS Header
6 | * http://msdn.microsoft.com/en-us/library/bb943983(v=vs.85).aspx - DDS Header DXT10
7 | * http://msdn.microsoft.com/en-us/library/bb943984(v=vs.85).aspx - PixelFormat
8 | * http://msdn.microsoft.com/en-us/library/windows/desktop/bb153349(v=vs.85).aspx - Surface formats (aka Format enum)
9 | * http://www.poopinmymouth.com/tutorial/dds_types.html - A bit better explanation than in MSDN
10 | * http://en.wikipedia.org/wiki/S3_Texture_Compression - DXT compression
11 |
--------------------------------------------------------------------------------
/dist/changes-5.14.1:
--------------------------------------------------------------------------------
1 | Qt 5.14.1 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.14.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.14 series is binary compatible with the 5.13.x series.
10 | Applications compiled for 5.13 will continue to run with 5.14.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | - This release contains only minor code improvements.
21 |
--------------------------------------------------------------------------------
/dist/changes-5.15.1:
--------------------------------------------------------------------------------
1 | Qt 5.15.1 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.15.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.15 series is binary compatible with the 5.14.x series.
10 | Applications compiled for 5.14 will continue to run with 5.15.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | - This release contains only minor code improvements.
21 |
--------------------------------------------------------------------------------
/dist/changes-5.15.2:
--------------------------------------------------------------------------------
1 | Qt 5.15.2 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.15.1.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5.15/index.html
8 |
9 | The Qt version 5.15 series is binary compatible with the 5.14.x series.
10 | Applications compiled for 5.14 will continue to run with 5.15.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | - This release contains only minor code improvements.
21 |
--------------------------------------------------------------------------------
/dist/changes-5.14.2:
--------------------------------------------------------------------------------
1 | Qt 5.14.2 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.14.0 through 5.14.1.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.14 series is binary compatible with the 5.13.x series.
10 | Applications compiled for 5.13 will continue to run with 5.14.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | - This release contains only minor code improvements.
21 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/patches/0002-Fix-neon-build-for-qnx.patch:
--------------------------------------------------------------------------------
1 | diff --git a/src/3rdparty/libwebp/src/dsp/neon.h b/src/3rdparty/libwebp/src/dsp/neon.h
2 | index 14acb40..46d743e 100644
3 | --- a/src/3rdparty/libwebp/src/dsp/neon.h
4 | +++ b/src/3rdparty/libwebp/src/dsp/neon.h
5 | @@ -82,6 +82,17 @@ static WEBP_INLINE int32x4x4_t Transpose4x4_NEON(const int32x4x4_t rows) {
6 | }
7 | }
8 |
9 | +#if defined(__GNUC__) && __GNUC__ <= 9 && !defined(__clang__)
10 | +WEBP_INLINE uint8x16x4_t vld1q_u8_x4(const uint8_t *p) {
11 | + uint8x16x4_t ret;
12 | + ret.val[0] = vld1q_u8(p + 0);
13 | + ret.val[1] = vld1q_u8(p + 16);
14 | + ret.val[2] = vld1q_u8(p + 32);
15 | + ret.val[3] = vld1q_u8(p + 48);
16 | + return ret;
17 | +}
18 | +#endif
19 | +
20 | #if 0 // Useful debug macro.
21 | #include
22 | #define PRINT_REG(REG, SIZE) do { \
23 |
--------------------------------------------------------------------------------
/cmake/FindWrapJasper.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | # We can't create the same interface imported target multiple times, CMake will complain if we do
5 | # that. This can happen if the find_package call is done in multiple different subdirectories.
6 | if(TARGET WrapJasper::WrapJasper)
7 | set(WrapJasper_FOUND TRUE)
8 | return()
9 | endif()
10 |
11 | set(WrapJasper_FOUND OFF)
12 | find_package(Jasper)
13 |
14 | if(Jasper_FOUND)
15 | set(WrapJasper_FOUND ON)
16 |
17 | # Upstream package does not provide targets, only variables. So define a target.
18 | add_library(WrapJasper::WrapJasper INTERFACE IMPORTED)
19 | target_link_libraries(WrapJasper::WrapJasper INTERFACE ${JASPER_LIBRARIES})
20 | target_include_directories(WrapJasper::WrapJasper INTERFACE ${JASPER_INCLUDE_DIR})
21 | endif()
22 |
--------------------------------------------------------------------------------
/tests/auto/heif/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## tst_qheif Test:
6 | #####################################################################
7 |
8 | qt_internal_add_test(tst_qheif
9 | SOURCES
10 | tst_qheif.cpp
11 | LIBRARIES
12 | Qt::Gui
13 | )
14 |
15 | # Resources:
16 | set(heif_resource_files
17 | "../../shared/images/heif/col320x480.heic"
18 | "../../shared/images/heif/newlogoCCW.heic"
19 | "../../shared/images/heif/primary-index-0.heic"
20 | "../../shared/images/heif/primary-index-1.heic"
21 | )
22 |
23 | qt_internal_add_resource(tst_qheif "heif"
24 | PREFIX
25 | "/"
26 | BASE
27 | "../../shared/images"
28 | FILES
29 | ${heif_resource_files}
30 | )
31 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/macjp2/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## QMacJp2Plugin Plugin:
6 | #####################################################################
7 |
8 | qt_internal_add_plugin(QMacJp2Plugin
9 | OUTPUT_NAME qmacjp2
10 | PLUGIN_TYPE imageformats
11 | SOURCES
12 | ../shared/qiiofhelpers.mm ../shared/qiiofhelpers_p.h
13 | main.cpp
14 | qmacjp2handler.cpp qmacjp2handler.h
15 | INCLUDE_DIRECTORIES
16 | ../shared
17 | DEFINES
18 | NS_IIOF_HELPERS=QMacJp2
19 | LIBRARIES
20 | ${FWCoreFoundation}
21 | ${FWCoreGraphics}
22 | ${FWImageIO}
23 | Qt::Core
24 | Qt::CorePrivate
25 | Qt::Gui
26 | Qt::GuiPrivate
27 | )
28 |
--------------------------------------------------------------------------------
/tests/auto/mng/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## tst_qmng Test:
6 | #####################################################################
7 |
8 | qt_internal_add_test(tst_qmng
9 | SOURCES
10 | tst_qmng.cpp
11 | LIBRARIES
12 | Qt::Gui
13 | )
14 |
15 | # Resources:
16 | set(mng_resource_files
17 | "../../shared/images/mng/animation.mng"
18 | "../../shared/images/mng/ball.mng"
19 | "../../shared/images/mng/corrupt.mng"
20 | "../../shared/images/mng/dutch.mng"
21 | "../../shared/images/mng/fire.mng"
22 | )
23 |
24 | qt_internal_add_resource(tst_qmng "mng"
25 | PREFIX
26 | "/"
27 | BASE
28 | "../../shared/images"
29 | FILES
30 | ${mng_resource_files}
31 | )
32 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff/qt_attribution.json:
--------------------------------------------------------------------------------
1 | {
2 | "Id": "libtiff",
3 | "Name": "TIFF Software Distribution (libtiff)",
4 | "QDocModule": "qtimageformats",
5 | "QtUsage": "Used in the qtiff image plugin if no system libtiff is found.",
6 | "SecurityCritical": true,
7 |
8 | "Description": "",
9 | "Homepage": "http://www.simplesystems.org/libtiff/",
10 | "Version": "4.7.1",
11 | "DownloadLocation": "https://download.osgeo.org/libtiff/tiff-4.7.1.tar.gz",
12 | "PURL": [
13 | "pkg:gitlab/libtiff/libtiff@v$"
14 | ],
15 | "CPE": [
16 | "cpe:2.3:a:libtiff:libtiff:$:*:*:*:*:*:*:*"
17 | ],
18 |
19 | "License": "libtiff License",
20 | "LicenseId": "libtiff",
21 | "LicenseFile": "COPYRIGHT",
22 | "Copyright": "Copyright (c) 1988-1997 Sam Leffler\nCopyright (c) 1991-1997 Silicon Graphics, Inc."
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | qt_feature_module_begin(
5 | NO_MODULE
6 | PUBLIC_FILE "qtimageformats-config.h"
7 | PRIVATE_FILE "qtimageformats-config_p.h"
8 | )
9 | include(../../imageformats/configure.cmake)
10 | qt_feature_module_end(NO_MODULE)
11 |
12 | add_subdirectory(tga)
13 | add_subdirectory(wbmp)
14 | if(QT_FEATURE_tiff)
15 | add_subdirectory(tiff)
16 | endif()
17 | if(QT_FEATURE_webp)
18 | add_subdirectory(webp)
19 | endif()
20 | if(APPLE)
21 | add_subdirectory(macheif)
22 | endif()
23 | if(QT_FEATURE_regularexpression)
24 | add_subdirectory(icns)
25 | endif()
26 | if(QT_FEATURE_mng)
27 | add_subdirectory(mng)
28 | endif()
29 | if(QT_FEATURE_jasper)
30 | add_subdirectory(jp2)
31 | endif()
32 | if(APPLE AND NOT QT_FEATURE_jasper)
33 | add_subdirectory(macjp2)
34 | endif()
35 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/tga/qtgahandler.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #ifndef QTGAHANDLER_H
5 | #define QTGAHANDLER_H
6 |
7 | #include
8 |
9 | QT_BEGIN_NAMESPACE
10 |
11 | class QTgaFile;
12 |
13 | class QTgaHandler : public QImageIOHandler
14 | {
15 | public:
16 | QTgaHandler();
17 | ~QTgaHandler();
18 |
19 | bool canRead() const override;
20 | bool read(QImage *image) override;
21 |
22 | static bool canRead(QIODevice *device);
23 |
24 | QVariant option(ImageOption option) const override;
25 | void setOption(ImageOption option, const QVariant &value) override;
26 | bool supportsOption(ImageOption option) const override;
27 |
28 | private:
29 | mutable QTgaFile *tga;
30 | };
31 |
32 | QT_END_NAMESPACE
33 |
34 | #endif // QTGAHANDLER_H
35 |
--------------------------------------------------------------------------------
/tests/benchmarks/mng/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## tst_bench_qmng Binary:
6 | #####################################################################
7 |
8 | qt_internal_add_benchmark(tst_bench_qmng
9 | SOURCES
10 | tst_qmng.cpp
11 | LIBRARIES
12 | Qt::Gui
13 | Qt::Test
14 | )
15 |
16 | # Resources:
17 | set(mng_resource_files
18 | "../../shared/images/mng/animation.mng"
19 | "../../shared/images/mng/ball.mng"
20 | "../../shared/images/mng/corrupt.mng"
21 | "../../shared/images/mng/dutch.mng"
22 | "../../shared/images/mng/fire.mng"
23 | )
24 |
25 | qt_internal_add_resource(tst_bench_qmng "mng"
26 | PREFIX
27 | "/"
28 | BASE
29 | "../../shared/images"
30 | FILES
31 | ${mng_resource_files}
32 | )
33 |
--------------------------------------------------------------------------------
/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | cmake_minimum_required(VERSION 3.16)
5 |
6 | include(.cmake.conf)
7 | project(QtImageFormats
8 | VERSION "${QT_REPO_MODULE_VERSION}"
9 | DESCRIPTION "Qt ImageFormats Libraries"
10 | HOMEPAGE_URL "https://qt.io/"
11 | LANGUAGES CXX C
12 | )
13 |
14 | find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals)
15 |
16 | # This should be called as early as possible, just after find_package(BuildInternals) where it is
17 | # defined.
18 | qt_internal_project_setup()
19 |
20 | find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS Core)
21 | find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Gui)
22 |
23 | if(NOT TARGET Qt::Gui)
24 | message(NOTICE "Skipping the build as the condition \"TARGET Qt::Gui\" is not met.")
25 | return()
26 | endif()
27 | qt_build_repo()
28 |
--------------------------------------------------------------------------------
/dist/changes-5.0.2:
--------------------------------------------------------------------------------
1 | Qt 5.0.2 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.0.0 and 5.0.1.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://qt-project.org/doc/qt-5.0/
8 |
9 | Some of the changes listed in this file include issue tracking numbers
10 | corresponding to tasks in the Qt Bug Tracker:
11 |
12 | http://bugreports.qt-project.org/
13 |
14 | Each of these identifiers can be entered in the bug tracker to obtain more
15 | information about a particular change.
16 |
17 |
18 | ****************************************************************************
19 | * General *
20 | ****************************************************************************
21 |
22 | - This release contains only minor code improvements.
23 |
--------------------------------------------------------------------------------
/dist/changes-5.9.0:
--------------------------------------------------------------------------------
1 | Qt 5.9 introduces many new features and improvements as well as bugfixes
2 | over the 5.8.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | http://doc.qt.io/qt-5/index.html
6 |
7 | The Qt version 5.9 series is binary compatible with the 5.8.x series.
8 | Applications compiled for 5.8 will continue to run with 5.9.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | https://bugreports.qt.io/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | Third-Party Code
19 | ----------------
20 |
21 | - Update the bundled libwebp to version 0.6.0.
22 |
23 | TIFF handler
24 | --------------
25 |
26 | - Add support for reading color indexed and grayscale images stored
27 | in tiled format.
28 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/sharpyuv/sharpyuv_cpu.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | #ifndef WEBP_SHARPYUV_SHARPYUV_CPU_H_
11 | #define WEBP_SHARPYUV_SHARPYUV_CPU_H_
12 |
13 | #include "sharpyuv/sharpyuv.h"
14 |
15 | // Avoid exporting SharpYuvGetCPUInfo in shared object / DLL builds.
16 | // SharpYuvInit() replaces the use of the function pointer.
17 | #undef WEBP_EXTERN
18 | #define WEBP_EXTERN extern
19 | #define VP8GetCPUInfo SharpYuvGetCPUInfo
20 | #include "src/dsp/cpu.h"
21 |
22 | #endif // WEBP_SHARPYUV_SHARPYUV_CPU_H_
23 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/qt_attribution.json:
--------------------------------------------------------------------------------
1 | {
2 | "Id": "libwebp",
3 | "Name": "WebP (libwebp)",
4 | "QDocModule": "qtimageformats",
5 | "QtUsage": "Used in the qwebp image plugin if no system libwebp is found.",
6 | "SecurityCritical": true,
7 |
8 | "Description": "WebP is a new image format that provides lossless and lossy compression for images on the web.",
9 | "Homepage": "https://developers.google.com/speed/webp/",
10 |
11 | "Version": "1.6.0",
12 | "DownloadLocation": "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.6.0.tar.gz",
13 | "PURL": [
14 | "pkg:github/webmproject/libwebp@$v"
15 | ],
16 | "CPE": [
17 | "cpe:2.3:a:webmproject:libwebp:$:*:*:*:*:*:*:*"
18 | ],
19 | "License": "BSD 3-clause \"New\" or \"Revised\" License",
20 | "LicenseId": "BSD-3-Clause",
21 | "LicenseFile": "COPYING",
22 | "Copyright": "Copyright (c) 2010, Google Inc. All rights reserved."
23 | }
24 |
--------------------------------------------------------------------------------
/dist/changes-5.8.0:
--------------------------------------------------------------------------------
1 | Qt 5.8 introduces many new features and improvements as well as bugfixes
2 | over the 5.7.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | http://doc.qt.io/qt-5/index.html
6 |
7 | The Qt version 5.8 series is binary compatible with the 5.7.x series.
8 | Applications compiled for 5.7 will continue to run with 5.8.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | https://bugreports.qt.io/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | QtImageFormats
19 | --------------
20 |
21 | - For security reasons, the DDS handler will no longer be built by
22 | default. Users who still want this handler can build it from the
23 | source project.
24 |
25 | TGA
26 | ---
27 |
28 | - Fixed reading of TGA-16 formats.
29 |
--------------------------------------------------------------------------------
/dist/changes-5.1.0:
--------------------------------------------------------------------------------
1 | Qt 5.1 introduces many new features and improvements as well as bugfixes
2 | over the 5.0.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | http://qt-project.org/doc/qt-5.1
6 |
7 | The Qt version 5.1 series is binary compatible with the 5.0.x series.
8 | Applications compiled for 5.0 will continue to run with 5.1.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | http://bugreports.qt-project.org/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * General *
20 | ****************************************************************************
21 |
22 | - This release contains only minor code improvements.
23 |
--------------------------------------------------------------------------------
/dist/changes-5.9.2:
--------------------------------------------------------------------------------
1 | Qt 5.9.2 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.9.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.9 series is binary compatible with the 5.8.x series.
10 | Applications compiled for 5.8 will continue to run with 5.9.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Qt 5.9.2 Changes *
22 | ****************************************************************************
23 |
24 | - Minor bugfixes for animated webp images.
25 |
--------------------------------------------------------------------------------
/dist/changes-5.9.3:
--------------------------------------------------------------------------------
1 | Qt 5.9.3 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.9.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.9 series is binary compatible with the 5.8.x series.
10 | Applications compiled for 5.8 will continue to run with 5.9.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Qt 5.9.3 Changes *
22 | ****************************************************************************
23 |
24 | - Bundled libtiff updated to version 4.0.8+.
25 |
--------------------------------------------------------------------------------
/dist/changes-5.13.1:
--------------------------------------------------------------------------------
1 | Qt 5.13.1 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.13.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.13 series is binary compatible with the 5.12.x series.
10 | Applications compiled for 5.12 will continue to run with 5.13.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Third-Party Code *
22 | ****************************************************************************
23 |
24 | - Update bundled libwebp to version 1.0.3
25 |
--------------------------------------------------------------------------------
/dist/changes-5.9.1:
--------------------------------------------------------------------------------
1 | Qt 5.9.1 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.9.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.9 series is binary compatible with the 5.8.x series.
10 | Applications compiled for 5.8 will continue to run with 5.9.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Library *
22 | ****************************************************************************
23 |
24 | - This release contains only minor code improvements.
25 |
--------------------------------------------------------------------------------
/dist/changes-5.9.5:
--------------------------------------------------------------------------------
1 | Qt 5.9.5 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.9.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.9 series is binary compatible with the 5.8.x series.
10 | Applications compiled for 5.9 will continue to run with 5.9.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Qt 5.9.5 Changes *
22 | ****************************************************************************
23 |
24 | - This release contains only minor code improvements.
25 |
--------------------------------------------------------------------------------
/dist/changes-5.12.2:
--------------------------------------------------------------------------------
1 | Qt 5.12.2 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.12.0 through 5.12.1.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.12 series is binary compatible with the 5.11.x series.
10 | Applications compiled for 5.11 will continue to run with 5.12.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Third-Party Code *
22 | ****************************************************************************
23 |
24 | - Update bundled libwebp to version 1.0.2
25 |
--------------------------------------------------------------------------------
/dist/changes-5.12.5:
--------------------------------------------------------------------------------
1 | Qt 5.12.5 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.12.0 through 5.12.4.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.12 series is binary compatible with the 5.11.x series.
10 | Applications compiled for 5.11 will continue to run with 5.12.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Third-Party Code *
22 | ****************************************************************************
23 |
24 | - Update bundled libwebp to version 1.0.3
25 |
--------------------------------------------------------------------------------
/dist/changes-5.12.10:
--------------------------------------------------------------------------------
1 | Qt 5.12.10 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.12.9.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5.12/index.html
8 |
9 | The Qt version 5.12 series is binary compatible with the 5.11.x series.
10 | Applications compiled for 5.11 will continue to run with 5.12.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Library *
22 | ****************************************************************************
23 |
24 | - This release contains only minor code improvements.
25 |
--------------------------------------------------------------------------------
/dist/changes-5.9.6:
--------------------------------------------------------------------------------
1 | Qt 5.9.6 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.9.0 through 5.9.5.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.9 series is binary compatible with the 5.8.x series.
10 | Applications compiled for 5.8 will continue to run with 5.9.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Qt 5.9.6 Changes *
22 | ****************************************************************************
23 |
24 | - This release contains only minor code improvements.
25 |
--------------------------------------------------------------------------------
/dist/changes-5.1.1:
--------------------------------------------------------------------------------
1 | Qt 5.1.1 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.1.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://qt-project.org/doc/qt-5.1/
8 |
9 | The Qt version 5.1 series is binary compatible with the 5.0.x series.
10 | Applications compiled for 5.0 will continue to run with 5.1.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | http://bugreports.qt-project.org/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 |
21 | ****************************************************************************
22 | * General *
23 | ****************************************************************************
24 |
25 | - This release contains only minor code improvements.
26 |
--------------------------------------------------------------------------------
/dist/changes-5.11.2:
--------------------------------------------------------------------------------
1 | Qt 5.11.2 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.11.0 through 5.11.1.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.11 series is binary compatible with the 5.10.x series.
10 | Applications compiled for 5.10 will continue to run with 5.11.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Qt 5.11.2 Changes *
22 | ****************************************************************************
23 |
24 | - This release contains only minor code improvements.
25 |
--------------------------------------------------------------------------------
/dist/changes-5.12.1:
--------------------------------------------------------------------------------
1 | Qt 5.12.1 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.12.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.12 series is binary compatible with the 5.11.x series.
10 | Applications compiled for 5.11 will continue to run with 5.12.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Third-Party Code *
22 | ****************************************************************************
23 |
24 | - Update bundled libwebp to version 1.0.1
25 | - Bundled libtiff was updated to version 4.0.10
26 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/macheif/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | #####################################################################
5 | ## QMacHeifPlugin Plugin:
6 | #####################################################################
7 |
8 | qt_internal_find_apple_system_framework(FWCoreFoundation
9 | CoreFoundation)
10 | qt_internal_find_apple_system_framework(FWCoreGraphics CoreGraphics)
11 | qt_internal_find_apple_system_framework(FWImageIO ImageIO)
12 |
13 | qt_internal_add_plugin(QMacHeifPlugin
14 | OUTPUT_NAME qmacheif
15 | PLUGIN_TYPE imageformats
16 | SOURCES
17 | ../shared/qiiofhelpers.mm ../shared/qiiofhelpers_p.h
18 | main.cpp
19 | qmacheifhandler.cpp qmacheifhandler.h
20 | INCLUDE_DIRECTORIES
21 | ../shared
22 | DEFINES
23 | NS_IIOF_HELPERS=QMacHeif
24 | LIBRARIES
25 | ${FWCoreFoundation}
26 | ${FWCoreGraphics}
27 | ${FWImageIO}
28 | Qt::Core
29 | Qt::CorePrivate
30 | Qt::Gui
31 | Qt::GuiPrivate
32 | )
33 |
--------------------------------------------------------------------------------
/dist/changes-5.13.2:
--------------------------------------------------------------------------------
1 | Qt 5.13.2 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.13.0 through 5.13.1.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.13 series is binary compatible with the 5.12.x series.
10 | Applications compiled for 5.12 will continue to run with 5.13.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * TIFF *
22 | ****************************************************************************
23 |
24 | - Two security-related upstream patches has been applied to the
25 | bundled libtiff
26 |
--------------------------------------------------------------------------------
/dist/changes-5.10.0:
--------------------------------------------------------------------------------
1 | Qt 5.10 introduces many new features and improvements as well as bugfixes
2 | over the 5.9.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | http://doc.qt.io/qt-5/index.html
6 |
7 | The Qt version 5.10 series is binary compatible with the 5.10.x series.
8 | Applications compiled for 5.9 will continue to run with 5.10.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | https://bugreports.qt.io/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * Qt 5.10.0 Changes *
20 | ****************************************************************************
21 |
22 | - This release contains only minor code improvements.
23 |
24 | Third-Party Code
25 | ----------------
26 |
27 | - Bundled libtiff was updated to version 4.0.8+
28 |
--------------------------------------------------------------------------------
/dist/changes-5.10.1:
--------------------------------------------------------------------------------
1 | Qt 5.10.1 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.10.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.10 series is binary compatible with the 5.9.x series.
10 | Applications compiled for 5.9 will continue to run with 5.10.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | This release contains all fixes included in the Qt 5.9.4 release.
21 |
22 | ****************************************************************************
23 | * Qt 5.10.1 Changes *
24 | ****************************************************************************
25 |
26 | - This release contains only minor code improvements.
27 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/src/utils/filters_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2011 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Spatial prediction using various filters
11 | //
12 | // Author: Urvang (urvang@google.com)
13 |
14 | #ifndef WEBP_UTILS_FILTERS_UTILS_H_
15 | #define WEBP_UTILS_FILTERS_UTILS_H_
16 |
17 | #include "src/dsp/dsp.h"
18 | #include "src/webp/types.h"
19 |
20 | #ifdef __cplusplus
21 | extern "C" {
22 | #endif
23 |
24 | // Fast estimate of a potentially good filter.
25 | WEBP_FILTER_TYPE WebPEstimateBestFilter(const uint8_t* data,
26 | int width, int height, int stride);
27 |
28 | #ifdef __cplusplus
29 | } // extern "C"
30 | #endif
31 |
32 | #endif // WEBP_UTILS_FILTERS_UTILS_H_
33 |
--------------------------------------------------------------------------------
/dist/changes-5.6.3:
--------------------------------------------------------------------------------
1 | Qt 5.6.3 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.6.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.6 series is binary compatible with the 5.5.x series.
10 | Applications compiled for 5.5 will continue to run with 5.6.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Important Behavior Changes *
22 | ****************************************************************************
23 |
24 | - For security reasons, the DDS handler will no longer be built by
25 | default. Users who still want this handler can build it from the
26 | source project.
27 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/macheif/qmacheifhandler.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2017 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #ifndef QMACHEIFHANDLER_H
5 | #define QMACHEIFHANDLER_H
6 |
7 | #include
8 | #include
9 | #include "qiiofhelpers_p.h"
10 |
11 | QT_BEGIN_NAMESPACE
12 |
13 | using namespace NS_IIOF_HELPERS;
14 |
15 | class QImage;
16 | class QByteArray;
17 | class QIODevice;
18 | class QVariant;
19 |
20 | class QMacHeifHandler : public QImageIOHandler
21 | {
22 | public:
23 | QMacHeifHandler();
24 | ~QMacHeifHandler() override;
25 |
26 | bool canRead() const override;
27 | bool read(QImage *image) override;
28 | bool write(const QImage &image) override;
29 | QVariant option(ImageOption option) const override;
30 | void setOption(ImageOption option, const QVariant &value) override;
31 | bool supportsOption(ImageOption option) const override;
32 |
33 | static bool canRead(QIODevice *iod);
34 |
35 | private:
36 | QScopedPointer d;
37 | };
38 |
39 | QT_END_NAMESPACE
40 |
41 | #endif // QMACHEIFHANDLER_P_H
42 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/macjp2/qmacjp2handler.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #ifndef QMACJP2HANDLER_H
5 | #define QMACJP2HANDLER_H
6 |
7 | #include
8 | #include
9 |
10 | QT_BEGIN_NAMESPACE
11 |
12 | class QImage;
13 | class QByteArray;
14 | class QIODevice;
15 | class QVariant;
16 | class QMacJp2HandlerPrivate;
17 |
18 | class QMacJp2Handler : public QImageIOHandler
19 | {
20 | public:
21 | QMacJp2Handler();
22 | ~QMacJp2Handler();
23 |
24 | bool canRead() const override;
25 | bool read(QImage *image) override;
26 | bool write(const QImage &image) override;
27 | QVariant option(ImageOption option) const override;
28 | void setOption(ImageOption option, const QVariant &value) override;
29 | bool supportsOption(ImageOption option) const override;
30 |
31 | static bool canRead(QIODevice *iod);
32 |
33 | private:
34 | Q_DECLARE_PRIVATE(QMacJp2Handler)
35 | QScopedPointer d_ptr;
36 | };
37 |
38 | QT_END_NAMESPACE
39 |
40 | #endif // QMACJP2HANDLER_P_H
41 |
--------------------------------------------------------------------------------
/dist/changes-5.3.0:
--------------------------------------------------------------------------------
1 | Qt 5.3 introduces many new features and improvements as well as bugfixes
2 | over the 5.2.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | http://qt-project.org/doc/qt-5.3
6 |
7 | The Qt version 5.3 series is binary compatible with the 5.2.x series.
8 | Applications compiled for 5.2 will continue to run with 5.3.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | http://bugreports.qt-project.org/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * General *
20 | ****************************************************************************
21 |
22 | - Add read/write support for Direct Draw Surface images.
23 | - Add read/write support for ICNS images.
24 | - Add read/write support for JPEG 2000 images.
25 | - Add read/write support for WebP images.
26 |
--------------------------------------------------------------------------------
/dist/changes-5.11.0:
--------------------------------------------------------------------------------
1 | Qt 5.11 introduces many new features and improvements as well as bugfixes
2 | over the 5.10.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | http://doc.qt.io/qt-5/index.html
6 |
7 | The Qt version 5.11 series is binary compatible with the 5.10.x series.
8 | Applications compiled for 5.10 will continue to run with 5.11.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | https://bugreports.qt.io/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * Qt 5.11.0 Changes *
20 | ****************************************************************************
21 |
22 | Third-Party Code
23 | ----------------
24 |
25 | - Bundled libwebp was updated to version 0.6.1
26 |
27 | Native Darwin jp2 and heic handlers
28 | -----------------------------------
29 |
30 | - iOS support fixed
31 |
--------------------------------------------------------------------------------
/coin/axivion/ci_config_linux.json:
--------------------------------------------------------------------------------
1 | {
2 | "Project": {
3 | "BuildSystemIntegration": {
4 | "child_order": [
5 | "GCCSetup",
6 | "CMake",
7 | "LinkLibraries"
8 | ]
9 | },
10 | "CMake": {
11 | "_active": true,
12 | "_copy_from": "CMakeIntegration",
13 | "build_environment": {},
14 | "build_options": "-j4",
15 | "generate_options": "--fresh",
16 | "generator": "Ninja"
17 | },
18 | "GCCSetup": {
19 | "_active": true,
20 | "_copy_from": "Command",
21 | "build_command": "gccsetup --cc gcc --cxx g++ --config ../../../axivion/"
22 | },
23 | "LinkLibraries": {
24 | "_active": true,
25 | "_copy_from": "AxivionLinker",
26 | "input_files": [
27 | "build/plugins/*/lib*.so*.ir"
28 | ],
29 | "ir": "build/$(env:TESTED_MODULE_COIN).ir"
30 | }
31 | },
32 | "_Format": "1.0",
33 | "_Version": "7.6.2",
34 | "_VersionNum": [
35 | 7,
36 | 6,
37 | 2,
38 | 12725
39 | ]
40 | }
41 |
--------------------------------------------------------------------------------
/tests/auto/tga/tst_qtga.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3 |
4 | #include
5 | #include
6 |
7 | class tst_qtga: public QObject
8 | {
9 | Q_OBJECT
10 |
11 | private slots:
12 | void initTestCase();
13 | void readImage_data();
14 | void readImage();
15 | };
16 |
17 | void tst_qtga::initTestCase()
18 | {
19 | if (!QImageReader::supportedImageFormats().contains("tga"))
20 | QSKIP("The image format handler is not installed.");
21 | }
22 |
23 | void tst_qtga::readImage_data()
24 | {
25 | QTest::addColumn("fileName");
26 | QTest::addColumn("size");
27 |
28 | QTest::newRow("test-flag") << QString("test-flag.tga") << QSize(400, 400);
29 | }
30 |
31 | void tst_qtga::readImage()
32 | {
33 | QFETCH(QString, fileName);
34 | QFETCH(QSize, size);
35 |
36 | QString path = QString(":/tga/") + fileName;
37 | QImageReader reader(path);
38 | QVERIFY(reader.canRead());
39 | QImage image = reader.read();
40 | QVERIFY(!image.isNull());
41 | QCOMPARE(image.size(), size);
42 | }
43 |
44 | QTEST_MAIN(tst_qtga)
45 | #include "tst_qtga.moc"
46 |
--------------------------------------------------------------------------------
/cmake/FindLibmng.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | if(TARGET Libmng::Libmng)
5 | set(Libmng_FOUND TRUE)
6 | return()
7 | endif()
8 |
9 | find_package(PkgConfig QUIET)
10 |
11 | if(PkgConfig_FOUND)
12 | pkg_check_modules(Libmng IMPORTED_TARGET libmng)
13 |
14 | if(TARGET PkgConfig::Libmng)
15 | add_library(Libmng::Libmng INTERFACE IMPORTED)
16 | target_link_libraries(Libmng::Libmng INTERFACE PkgConfig::Libmng)
17 | set(Libmng_FOUND TRUE)
18 | endif()
19 | endif()
20 |
21 | if(NOT TARGET Libmng::Libmng)
22 | find_library(LIBMNG_LIBRARY NAMES mng)
23 | find_path(LIBMNG_INCLUDE_DIR libmng.h)
24 |
25 | if(LIBMNG_LIBRARY AND LIBMNG_INCLUDE_DIR)
26 | add_library(Libmng::Libmng UNKNOWN IMPORTED)
27 | set_target_properties(Libmng::Libmng PROPERTIES
28 | IMPORTED_LOCATION ${LIBMNG_LIBRARY}
29 | INTERFACE_INCLUDE_DIRECTORIES ${LIBMNG_INCLUDE_DIR}
30 | )
31 | endif()
32 |
33 | include(FindPackageHandleStandardArgs)
34 | find_package_handle_standard_args(Libmng REQUIRED_VARS
35 | LIBMNG_LIBRARY
36 | LIBMNG_INCLUDE_DIR
37 | )
38 | endif()
39 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/jp2/qjp2handler_p.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // Copyright (C) 2016 Petroules Corporation.
3 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4 |
5 | #ifndef QJP2HANDLER_H
6 | #define QJP2HANDLER_H
7 |
8 | #include
9 | #include
10 |
11 | QT_BEGIN_NAMESPACE
12 |
13 | class QImage;
14 | class QByteArray;
15 | class QIODevice;
16 | class QVariant;
17 | class QJp2HandlerPrivate;
18 |
19 | class QJp2Handler : public QImageIOHandler
20 | {
21 | public:
22 | QJp2Handler();
23 | ~QJp2Handler();
24 | static bool canRead(QIODevice *iod, QByteArray *subType);
25 | bool canRead() const override;
26 | bool read(QImage *image) override;
27 | bool write(const QImage &image) override;
28 | QVariant option(ImageOption option) const override;
29 | void setOption(ImageOption option, const QVariant &value) override;
30 | bool supportsOption(ImageOption option) const override;
31 |
32 | private:
33 | Q_DECLARE_PRIVATE(QJp2Handler)
34 | QScopedPointer d_ptr;
35 | };
36 |
37 | QT_END_NAMESPACE
38 |
39 | #endif // QJP2HANDLER_P_H
40 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/wbmp/qwbmphandler_p.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | //
5 | // W A R N I N G
6 | // -------------
7 | //
8 | // This file is not part of the Qt API. It exists purely as an
9 | // implementation detail. This header file may change from version to
10 | // version without notice, or even be removed.
11 | //
12 | // We mean it.
13 | //
14 |
15 | #ifndef QWBMPHANDLER_P_H
16 | #define QWBMPHANDLER_P_H
17 |
18 | #include
19 |
20 | QT_BEGIN_NAMESPACE
21 |
22 | class WBMPReader;
23 |
24 | class QWbmpHandler : public QImageIOHandler
25 | {
26 | public:
27 | QWbmpHandler(QIODevice *device);
28 | ~QWbmpHandler();
29 |
30 | bool canRead() const override;
31 | bool read(QImage *image) override;
32 | bool write(const QImage &image) override;
33 |
34 | QVariant option(ImageOption option) const override;
35 | bool supportsOption(ImageOption option) const override;
36 |
37 | static bool canRead(QIODevice *device);
38 |
39 | private:
40 | WBMPReader *m_reader;
41 | };
42 |
43 | QT_END_NAMESPACE
44 |
45 | #endif /* QWBMPHANDLER_P_H */
46 |
--------------------------------------------------------------------------------
/LICENSES/libtiff.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 1988-1997 Sam Leffler
2 | Copyright (c) 1991-1997 Silicon Graphics, Inc.
3 |
4 | Permission to use, copy, modify, distribute, and sell this software and
5 | its documentation for any purpose is hereby granted without fee, provided
6 | that (i) the above copyright notices and this permission notice appear in
7 | all copies of the software and related documentation, and (ii) the names of
8 | Sam Leffler and Silicon Graphics may not be used in any advertising or
9 | publicity relating to the software without the specific, prior written
10 | permission of Sam Leffler and Silicon Graphics.
11 |
12 | THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
13 | EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
14 | WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
15 |
16 | IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
17 | ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
18 | OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
19 | WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
20 | LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
21 | OF THIS SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff/COPYRIGHT:
--------------------------------------------------------------------------------
1 | Copyright (c) 1988-1997 Sam Leffler
2 | Copyright (c) 1991-1997 Silicon Graphics, Inc.
3 |
4 | Permission to use, copy, modify, distribute, and sell this software and
5 | its documentation for any purpose is hereby granted without fee, provided
6 | that (i) the above copyright notices and this permission notice appear in
7 | all copies of the software and related documentation, and (ii) the names of
8 | Sam Leffler and Silicon Graphics may not be used in any advertising or
9 | publicity relating to the software without the specific, prior written
10 | permission of Sam Leffler and Silicon Graphics.
11 |
12 | THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
13 | EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
14 | WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
15 |
16 | IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
17 | ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
18 | OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
19 | WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
20 | LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
21 | OF THIS SOFTWARE.
22 |
--------------------------------------------------------------------------------
/dist/changes-5.4.0:
--------------------------------------------------------------------------------
1 | Qt 5.4 introduces many new features and improvements as well as bugfixes
2 | over the 5.3.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | http://qt-project.org/doc/qt-5.4
6 |
7 | The Qt version 5.4 series is binary compatible with the 5.3.x series.
8 | Applications compiled for 5.3 will continue to run with 5.4.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | http://bugreports.qt-project.org/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * General *
20 | ****************************************************************************
21 |
22 | - Add support for reading icon variants in ICNS plugin
23 | - Save opaque images as opaque TIFF files
24 | - Add support for SubType and SupportedSubTypes options in DDS handler
25 | - QTBUG-42321: Fix crash in MNG reader when invoked by QIcon
26 | - Disable webp also for ios, as libwebp has compile issues on arm
27 |
--------------------------------------------------------------------------------
/tests/auto/icns/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 The Qt Company Ltd.
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 |
5 | #####################################################################
6 | ## tst_qicns Test:
7 | #####################################################################
8 |
9 | qt_internal_add_test(tst_qicns
10 | SOURCES
11 | tst_qicns.cpp
12 | LIBRARIES
13 | Qt::Gui
14 | )
15 |
16 | # Resources:
17 | set(icns_resource_files
18 | "../../shared/images/icns/test-32bit.icns"
19 | "../../shared/images/icns/test-jp2.icns"
20 | "../../shared/images/icns/test-legacy.icns"
21 | "../../shared/images/icns/test-png.icns"
22 | "../../shared/images/icns/test-variants.icns"
23 | "../../shared/images/icns/test-write-1024.png"
24 | "../../shared/images/icns/test-write-128.png"
25 | "../../shared/images/icns/test-write-16.png"
26 | "../../shared/images/icns/test-write-256.png"
27 | "../../shared/images/icns/test-write-32.png"
28 | "../../shared/images/icns/test-write-512.png"
29 | "../../shared/images/icns/test-write-64.png"
30 | )
31 |
32 | qt_internal_add_resource(tst_qicns "icns"
33 | PREFIX
34 | "/"
35 | BASE
36 | "../../shared/images"
37 | FILES
38 | ${icns_resource_files}
39 | )
40 |
--------------------------------------------------------------------------------
/dist/changes-5.12.4:
--------------------------------------------------------------------------------
1 | Qt 5.12.4 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.12.0 through 5.12.3.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.12 series is binary compatible with the 5.11.x series.
10 | Applications compiled for 5.11 will continue to run with 5.12.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * General *
22 | ****************************************************************************
23 |
24 | - The qtimageformats module now offers configuration settings
25 | available in the global Qt configure. The image format handlers
26 | based on external codecs can be enabled or disabled, and the choice
27 | between bundled and system codec library can be set.
28 |
29 |
--------------------------------------------------------------------------------
/dist/changes-5.5.0:
--------------------------------------------------------------------------------
1 | Qt 5.5 introduces many new features and improvements as well as bugfixes
2 | over the 5.4.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | http://doc.qt.io
6 |
7 | The Qt version 5.5 series is binary compatible with the 5.4.x series.
8 | Applications compiled for 5.4 will continue to run with 5.5.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | http://bugreports.qt.io
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * General *
20 | ****************************************************************************
21 |
22 | - Read grayscale JPEG 2000 images as grayscale QImages
23 | - Fix a number of compilation warnings
24 | - Update bundled libwebp to version 0.4.3
25 | - Correctly interpret RGBA tiff images as premultiplied
26 | - Optional application of orientation for TIFF
27 | - QTBUG-38715: Build webp plugin on Android
28 | - Correctly read and write Grayscale8 TIFF
29 |
--------------------------------------------------------------------------------
/dist/changes-5.9.4:
--------------------------------------------------------------------------------
1 | Qt 5.9.4 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.9.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.9 series is binary compatible with the 5.8.x series.
10 | Applications compiled for 5.8 will continue to run with 5.9.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Qt 5.9.4 Changes *
22 | ****************************************************************************
23 |
24 | Third-Party Code
25 | ----------------
26 |
27 | - Bundled libtiff was updated to version 4.0.9
28 |
29 | WebP handler
30 | ------------
31 |
32 | - [QTBUG-64437] Fixed default quality level for writing
33 |
34 | Native Darwin jp2 handler
35 | -------------------------
36 |
37 | - iOS support fixed
38 |
--------------------------------------------------------------------------------
/dist/changes-5.15.0:
--------------------------------------------------------------------------------
1 | Qt 5.15 introduces many new features and improvements as well as bugfixes
2 | over the 5.14.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | https://doc.qt.io/qt-5/index.html
6 |
7 | The Qt version 5.15 series is binary compatible with the 5.14.x series.
8 | Applications compiled for 5.14 will continue to run with 5.15.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | https://bugreports.qt.io/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * TIFF *
20 | ****************************************************************************
21 |
22 | - Add support for reading BigTIFF
23 |
24 | ****************************************************************************
25 | * Third-Party Code *
26 | ****************************************************************************
27 |
28 | - Update bundled libwebp to version 1.1.0
29 |
--------------------------------------------------------------------------------
/tests/auto/wbmp/tst_qwbmp.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3 |
4 | #include
5 | #include
6 |
7 | class tst_qwbmp: public QObject
8 | {
9 | Q_OBJECT
10 |
11 | private slots:
12 | void initTestCase();
13 | void readImage_data();
14 | void readImage();
15 | };
16 |
17 | void tst_qwbmp::initTestCase()
18 | {
19 | if (!QImageReader::supportedImageFormats().contains("wbmp"))
20 | QSKIP("The image format handler is not installed.");
21 | }
22 |
23 | void tst_qwbmp::readImage_data()
24 | {
25 | QTest::addColumn("fileName");
26 | QTest::addColumn("size");
27 |
28 | QTest::newRow("qt-logo-small") << QString("qt-logo-small.wbmp") << QSize(123, 103);
29 | QTest::newRow("qt-logo-big") << QString("qt-logo-big.wbmp") << QSize(250, 250);
30 | }
31 |
32 | void tst_qwbmp::readImage()
33 | {
34 | QFETCH(QString, fileName);
35 | QFETCH(QSize, size);
36 |
37 | QString path = QString(":/wbmp/") + fileName;
38 | QImageReader reader(path);
39 | QVERIFY(reader.canRead());
40 | QImage image = reader.read();
41 | QVERIFY(!image.isNull());
42 | QCOMPARE(image.size(), size);
43 | }
44 |
45 | QTEST_MAIN(tst_qwbmp)
46 |
47 | #include "tst_qwbmp.moc"
48 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/sharpyuv/sharpyuv_dsp.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Speed-critical functions for Sharp YUV.
11 |
12 | #ifndef WEBP_SHARPYUV_SHARPYUV_DSP_H_
13 | #define WEBP_SHARPYUV_SHARPYUV_DSP_H_
14 |
15 | #include "sharpyuv/sharpyuv_cpu.h"
16 | #include "src/webp/types.h"
17 |
18 | extern uint64_t (*SharpYuvUpdateY)(const uint16_t* src, const uint16_t* ref,
19 | uint16_t* dst, int len, int bit_depth);
20 | extern void (*SharpYuvUpdateRGB)(const int16_t* src, const int16_t* ref,
21 | int16_t* dst, int len);
22 | extern void (*SharpYuvFilterRow)(const int16_t* A, const int16_t* B, int len,
23 | const uint16_t* best_y, uint16_t* out,
24 | int bit_depth);
25 |
26 | void SharpYuvInitDsp(void);
27 |
28 | #endif // WEBP_SHARPYUV_SHARPYUV_DSP_H_
29 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/src/utils/quant_levels_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2011 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Alpha plane quantization utility
11 | //
12 | // Author: Vikas Arora (vikasa@google.com)
13 |
14 | #ifndef WEBP_UTILS_QUANT_LEVELS_UTILS_H_
15 | #define WEBP_UTILS_QUANT_LEVELS_UTILS_H_
16 |
17 | #include
18 |
19 | #include "src/webp/types.h"
20 |
21 | #ifdef __cplusplus
22 | extern "C" {
23 | #endif
24 |
25 | // Replace the input 'data' of size 'width'x'height' with 'num-levels'
26 | // quantized values. If not NULL, 'sse' will contain the sum of squared error.
27 | // Valid range for 'num_levels' is [2, 256].
28 | // Returns false in case of error (data is NULL, or parameters are invalid).
29 | int QuantizeLevels(uint8_t* const data, int width, int height, int num_levels,
30 | uint64_t* const sse);
31 |
32 | #ifdef __cplusplus
33 | } // extern "C"
34 | #endif
35 |
36 | #endif // WEBP_UTILS_QUANT_LEVELS_UTILS_H_
37 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/mng/qmnghandler_p.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #ifndef QMNGHANDLER_P_H
5 | #define QMNGHANDLER_P_H
6 |
7 | #include
8 | #include
9 |
10 | QT_BEGIN_NAMESPACE
11 |
12 | class QImage;
13 | class QByteArray;
14 | class QIODevice;
15 | class QVariant;
16 | class QMngHandlerPrivate;
17 |
18 | class QMngHandler : public QImageIOHandler
19 | {
20 | public:
21 | QMngHandler();
22 | ~QMngHandler();
23 | bool canRead() const override;
24 | bool read(QImage *image) override;
25 | bool write(const QImage &image) override;
26 | int currentImageNumber() const override;
27 | int imageCount() const override;
28 | bool jumpToImage(int imageNumber) override;
29 | bool jumpToNextImage() override;
30 | int loopCount() const override;
31 | int nextImageDelay() const override;
32 | static bool canRead(QIODevice *device);
33 | QVariant option(ImageOption option) const override;
34 | void setOption(ImageOption option, const QVariant & value) override;
35 | bool supportsOption(ImageOption option) const override;
36 |
37 | private:
38 | Q_DECLARE_PRIVATE(QMngHandler)
39 | QScopedPointer d_ptr;
40 | };
41 |
42 | QT_END_NAMESPACE
43 |
44 | #endif // QMNGHANDLER_P_H
45 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/src/utils/quant_levels_dec_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Alpha plane de-quantization utility
11 | //
12 | // Author: Vikas Arora (vikasa@google.com)
13 |
14 | #ifndef WEBP_UTILS_QUANT_LEVELS_DEC_UTILS_H_
15 | #define WEBP_UTILS_QUANT_LEVELS_DEC_UTILS_H_
16 |
17 | #include "src/webp/types.h"
18 |
19 | #ifdef __cplusplus
20 | extern "C" {
21 | #endif
22 |
23 | // Apply post-processing to input 'data' of size 'width'x'height' assuming that
24 | // the source was quantized to a reduced number of levels. 'stride' is in bytes.
25 | // Strength is in [0..100] and controls the amount of dithering applied.
26 | // Returns false in case of error (data is NULL, invalid parameters,
27 | // malloc failure, ...).
28 | int WebPDequantizeLevels(uint8_t* const data, int width, int height, int stride,
29 | int strength);
30 |
31 | #ifdef __cplusplus
32 | } // extern "C"
33 | #endif
34 |
35 | #endif // WEBP_UTILS_QUANT_LEVELS_DEC_UTILS_H_
36 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/patches/0001-Fix-Windows-build-for-clang-and-neon.patch:
--------------------------------------------------------------------------------
1 | diff --git a/src/3rdparty/libwebp/src/dsp/cpu.h b/src/3rdparty/libwebp/src/dsp/cpu.h
2 | index c86540f..581ecbd 100644
3 | --- a/src/3rdparty/libwebp/src/dsp/cpu.h
4 | +++ b/src/3rdparty/libwebp/src/dsp/cpu.h
5 | @@ -14,6 +14,8 @@
6 | #ifndef WEBP_DSP_CPU_H_
7 | #define WEBP_DSP_CPU_H_
8 |
9 | +#include
10 | +
11 | #include
12 |
13 | #ifdef HAVE_CONFIG_H
14 | @@ -48,12 +50,12 @@
15 |
16 | #if !defined(HAVE_CONFIG_H)
17 | #if defined(_MSC_VER) && _MSC_VER > 1310 && \
18 | - (defined(_M_X64) || defined(_M_IX86))
19 | + (defined(_M_X64) || defined(_M_IX86)) && !defined(__clang__)
20 | #define WEBP_MSC_SSE2 // Visual C++ SSE2 targets
21 | #endif
22 |
23 | #if defined(_MSC_VER) && _MSC_VER >= 1500 && \
24 | - (defined(_M_X64) || defined(_M_IX86))
25 | + (defined(_M_X64) || defined(_M_IX86)) && !defined(__clang__)
26 | #define WEBP_MSC_SSE41 // Visual C++ SSE4.1 targets
27 | #endif
28 | #endif
29 | @@ -106,7 +108,8 @@
30 | // vtbl4_u8(); a fix was made in 16.6.
31 | #if defined(_MSC_VER) && \
32 | ((_MSC_VER >= 1700 && defined(_M_ARM)) || \
33 | - (_MSC_VER >= 1926 && (defined(_M_ARM64) || defined(_M_ARM64EC))))
34 | + (_MSC_VER >= 1926 && (defined(_M_ARM64) || defined(_M_ARM64EC)))) && \
35 | + !defined(__clang__) && (QT_CONFIG_neon == 1)
36 | #define WEBP_USE_NEON
37 | #define WEBP_USE_INTRINSICS
38 | #endif
39 |
--------------------------------------------------------------------------------
/dist/changes-5.11.3:
--------------------------------------------------------------------------------
1 | Qt 5.11.3 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.11.0 through 5.11.2.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.11 series is binary compatible with the 5.10.x series.
10 | Applications compiled for 5.10 will continue to run with 5.11.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 |
21 | ****************************************************************************
22 | * Third-party Code *
23 | ****************************************************************************
24 |
25 | - Bundled libtiff was updated to version 4.0.10
26 | - Bundled libwebp was updated to version 1.0.1
27 |
28 | ****************************************************************************
29 | * TIFF *
30 | ****************************************************************************
31 |
32 | - Improved strip size setting when writing, for better compression
33 |
--------------------------------------------------------------------------------
/dist/changes-5.12.3:
--------------------------------------------------------------------------------
1 | Qt 5.12.3 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.12.0 through 5.12.2.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | https://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.12 series is binary compatible with the 5.11.x series.
10 | Applications compiled for 5.11 will continue to run with 5.12.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * HEIC (macOS/iOS) *
22 | ****************************************************************************
23 |
24 | - Support for Size and Transformation image properties have been
25 | added, so these can be queried through QImageReader prior to
26 | reading the image. Automatic transformation is enabled, so images
27 | that are stored rotated will by default be transformed to normal
28 | orientation on reading.
29 |
30 | - Read images will have their resolution QImage::dotsPerMeterX()/Y()
31 | set according to the values in the file.
32 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff/libtiff/tif_version.c:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 1992-1997 Sam Leffler
3 | * Copyright (c) 1992-1997 Silicon Graphics, Inc.
4 | *
5 | * Permission to use, copy, modify, distribute, and sell this software and
6 | * its documentation for any purpose is hereby granted without fee, provided
7 | * that (i) the above copyright notices and this permission notice appear in
8 | * all copies of the software and related documentation, and (ii) the names of
9 | * Sam Leffler and Silicon Graphics may not be used in any advertising or
10 | * publicity relating to the software without the specific, prior written
11 | * permission of Sam Leffler and Silicon Graphics.
12 | *
13 | * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
14 | * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
15 | * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
16 | *
17 | * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
18 | * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
19 | * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
20 | * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
21 | * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
22 | * OF THIS SOFTWARE.
23 | */
24 | #include "tiffiop.h"
25 |
26 | static const char TIFFVersion[] = TIFFLIB_VERSION_STR;
27 |
28 | const char *TIFFGetVersion(void) { return (TIFFVersion); }
29 |
--------------------------------------------------------------------------------
/LICENSES/BSD-3-Clause.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) .
2 |
3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4 |
5 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
7 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
8 |
9 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/PATENTS:
--------------------------------------------------------------------------------
1 | Additional IP Rights Grant (Patents)
2 | ------------------------------------
3 |
4 | "These implementations" means the copyrightable works that implement the WebM
5 | codecs distributed by Google as part of the WebM Project.
6 |
7 | Google hereby grants to you a perpetual, worldwide, non-exclusive, no-charge,
8 | royalty-free, irrevocable (except as stated in this section) patent license to
9 | make, have made, use, offer to sell, sell, import, transfer, and otherwise
10 | run, modify and propagate the contents of these implementations of WebM, where
11 | such license applies only to those patent claims, both currently owned by
12 | Google and acquired in the future, licensable by Google that are necessarily
13 | infringed by these implementations of WebM. This grant does not include claims
14 | that would be infringed only as a consequence of further modification of these
15 | implementations. If you or your agent or exclusive licensee institute or order
16 | or agree to the institution of patent litigation or any other patent
17 | enforcement activity against any entity (including a cross-claim or
18 | counterclaim in a lawsuit) alleging that any of these implementations of WebM
19 | or any code incorporated within any of these implementations of WebM
20 | constitute direct or contributory patent infringement, or inducement of
21 | patent infringement, then any patent rights granted to you under this License
22 | for these implementations of WebM shall terminate as of the date such
23 | litigation is filed.
24 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/sharpyuv/sharpyuv_gamma.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Gamma correction utilities.
11 |
12 | #ifndef WEBP_SHARPYUV_SHARPYUV_GAMMA_H_
13 | #define WEBP_SHARPYUV_SHARPYUV_GAMMA_H_
14 |
15 | #include "sharpyuv/sharpyuv.h"
16 | #include "src/webp/types.h"
17 |
18 | #ifdef __cplusplus
19 | extern "C" {
20 | #endif
21 |
22 | // Initializes precomputed tables. Must be called once before calling
23 | // SharpYuvGammaToLinear or SharpYuvLinearToGamma.
24 | void SharpYuvInitGammaTables(void);
25 |
26 | // Converts a 'bit_depth'-bit gamma color value to a 16-bit linear value.
27 | uint32_t SharpYuvGammaToLinear(uint16_t v, int bit_depth,
28 | SharpYuvTransferFunctionType transfer_type);
29 |
30 | // Converts a 16-bit linear color value to a 'bit_depth'-bit gamma value.
31 | uint16_t SharpYuvLinearToGamma(uint32_t value, int bit_depth,
32 | SharpYuvTransferFunctionType transfer_type);
33 |
34 | #ifdef __cplusplus
35 | } // extern "C"
36 | #endif
37 |
38 | #endif // WEBP_SHARPYUV_SHARPYUV_GAMMA_H_
39 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/tiff/qtiffhandler_p.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #ifndef QTIFFHANDLER_P_H
5 | #define QTIFFHANDLER_P_H
6 |
7 | #include
8 | #include
9 |
10 | QT_BEGIN_NAMESPACE
11 |
12 | class QTiffHandlerPrivate;
13 | class QTiffHandler : public QImageIOHandler
14 | {
15 | public:
16 | QTiffHandler();
17 |
18 | bool canRead() const override;
19 | bool read(QImage *image) override;
20 | bool write(const QImage &image) override;
21 |
22 | static bool canRead(QIODevice *device);
23 |
24 | QVariant option(ImageOption option) const override;
25 | void setOption(ImageOption option, const QVariant &value) override;
26 | bool supportsOption(ImageOption option) const override;
27 |
28 | bool jumpToNextImage() override;
29 | bool jumpToImage(int imageNumber) override;
30 | int imageCount() const override;
31 | int currentImageNumber() const override;
32 |
33 | enum Compression {
34 | NoCompression = 0,
35 | LzwCompression = 1
36 | };
37 | private:
38 | void convert32BitOrder(void *buffer, int width);
39 | void rgb48fixup(QImage *image, bool floatingPoint);
40 | void rgb96fixup(QImage *image);
41 | void rgbFixup(QImage *image);
42 | const QScopedPointer d;
43 | bool ensureHaveDirectoryCount() const;
44 | };
45 |
46 | QT_END_NAMESPACE
47 |
48 | #endif // QTIFFHANDLER_P_H
49 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/dds/qddshandler.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // Copyright (C) 2016 Ivan Komissarov.
3 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4 |
5 | #ifndef QDDSHANDLER_H
6 | #define QDDSHANDLER_H
7 |
8 | #include
9 | #include "ddsheader.h"
10 |
11 | #ifndef QT_NO_DATASTREAM
12 |
13 | QT_BEGIN_NAMESPACE
14 |
15 | class QDDSHandler : public QImageIOHandler
16 | {
17 | public:
18 | QDDSHandler();
19 |
20 | bool canRead() const override;
21 | bool read(QImage *image) override;
22 | bool write(const QImage &image) override;
23 |
24 | QVariant option(QImageIOHandler::ImageOption option) const override;
25 | void setOption(ImageOption option, const QVariant &value) override;
26 | bool supportsOption(QImageIOHandler::ImageOption option) const override;
27 |
28 | int imageCount() const override;
29 | bool jumpToImage(int imageNumber) override;
30 |
31 | static bool canRead(QIODevice *device);
32 |
33 | private:
34 | bool ensureScanned() const;
35 | bool verifyHeader(const DDSHeader &dds) const;
36 |
37 | private:
38 | enum ScanState {
39 | ScanError = -1,
40 | ScanNotScanned = 0,
41 | ScanSuccess = 1,
42 | };
43 |
44 | DDSHeader m_header;
45 | int m_format;
46 | DDSHeaderDX10 m_header10;
47 | int m_currentImage;
48 | mutable ScanState m_scanState;
49 | };
50 |
51 | QT_END_NAMESPACE
52 |
53 | #endif // QT_NO_DATASTREAM
54 |
55 | #endif // QDDSHANDLER_H
56 |
--------------------------------------------------------------------------------
/dist/changes-5.13.0:
--------------------------------------------------------------------------------
1 | Qt 5.13 introduces many new features and improvements as well as bugfixes
2 | over the 5.12.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | https://doc.qt.io/qt-5/index.html
6 |
7 | The Qt version 5.13 series is binary compatible with the 5.12.x series.
8 | Applications compiled for 5.12 will continue to run with 5.13.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | https://bugreports.qt.io/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * General *
20 | ****************************************************************************
21 |
22 | - The qtimageformats module now offers configuration settings
23 | available in the global Qt configure. The image format handlers
24 | based on external codecs can be enabled or disabled, and the choice
25 | between bundled and system codec library can be set.
26 |
27 | ****************************************************************************
28 | * TIFF *
29 | ****************************************************************************
30 |
31 | - Support for reading and writing images in Grayscale16 format added.
32 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff/libtiff/tiffvers.h:
--------------------------------------------------------------------------------
1 | /* tiffvers.h version information is updated according to version information
2 | * in configure.ac */
3 |
4 | /* clang-format off */
5 |
6 | /* clang-format disabled because FindTIFF.cmake is very sensitive to the
7 | * formatting of below line being a single line.
8 | * Furthermore, configure_file variables of type "VAR" are
9 | * modified by clang-format and won't be substituted by CMake.
10 | */
11 | #define TIFFLIB_VERSION_STR "LIBTIFF, Version 4.7.1\nCopyright (c) 1988-1996 Sam Leffler\nCopyright (c) 1991-1996 Silicon Graphics, Inc."
12 | /*
13 | * This define can be used in code that requires
14 | * compilation-related definitions specific to a
15 | * version or versions of the library. Runtime
16 | * version checking should be done based on the
17 | * string returned by TIFFGetVersion.
18 | */
19 | #define TIFFLIB_VERSION 20250911
20 |
21 | /* The following defines have been added in 4.5.0 */
22 | #define TIFFLIB_MAJOR_VERSION 4
23 | #define TIFFLIB_MINOR_VERSION 7
24 | #define TIFFLIB_MICRO_VERSION 1
25 | #define TIFFLIB_VERSION_STR_MAJ_MIN_MIC "4.7.1"
26 |
27 | /* Macro added in 4.5.0. Returns TRUE if the current libtiff version is
28 | * greater or equal to major.minor.micro
29 | */
30 | #define TIFFLIB_AT_LEAST(major, minor, micro) \
31 | (TIFFLIB_MAJOR_VERSION > (major) || \
32 | (TIFFLIB_MAJOR_VERSION == (major) && TIFFLIB_MINOR_VERSION > (minor)) || \
33 | (TIFFLIB_MAJOR_VERSION == (major) && TIFFLIB_MINOR_VERSION == (minor) && \
34 | TIFFLIB_MICRO_VERSION >= (micro)))
35 |
36 | /* clang-format on */
37 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/macjp2/main.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #ifndef QT_NO_IMAGEFORMATPLUGIN
5 |
6 | #include "qmacjp2handler.h"
7 |
8 | QT_BEGIN_NAMESPACE
9 |
10 | class QMacJp2Plugin : public QImageIOPlugin
11 | {
12 | Q_OBJECT
13 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "macjp2.json")
14 |
15 | public:
16 | Capabilities capabilities(QIODevice *device, const QByteArray &format) const override;
17 | QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override;
18 | };
19 |
20 | QImageIOPlugin::Capabilities QMacJp2Plugin::capabilities(QIODevice *device, const QByteArray &format) const
21 | {
22 | if (format == "jp2")
23 | return Capabilities(CanRead | CanWrite);
24 | Capabilities cap;
25 | if (!format.isEmpty())
26 | return cap;
27 | if (!device->isOpen())
28 | return cap;
29 |
30 | if (device->isReadable() && QMacJp2Handler::canRead(device))
31 | cap |= CanRead;
32 | if (device->isWritable())
33 | cap |= CanWrite;
34 | return cap;
35 | }
36 |
37 | QImageIOHandler *QMacJp2Plugin::create(QIODevice *device, const QByteArray &format) const
38 | {
39 | QMacJp2Handler *handler = new QMacJp2Handler();
40 | handler->setDevice(device);
41 | handler->setFormat(format);
42 | return handler;
43 | }
44 |
45 | QT_END_NAMESPACE
46 |
47 | #include "main.moc"
48 |
49 | #endif // !QT_NO_IMAGEFORMATPLUGIN
50 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/COPYING:
--------------------------------------------------------------------------------
1 | Copyright (c) 2010, Google Inc. All rights reserved.
2 |
3 | Redistribution and use in source and binary forms, with or without
4 | modification, are permitted provided that the following conditions are
5 | met:
6 |
7 | * Redistributions of source code must retain the above copyright
8 | notice, this list of conditions and the following disclaimer.
9 |
10 | * Redistributions in binary form must reproduce the above copyright
11 | notice, this list of conditions and the following disclaimer in
12 | the documentation and/or other materials provided with the
13 | distribution.
14 |
15 | * Neither the name of Google nor the names of its contributors may
16 | be used to endorse or promote products derived from this software
17 | without specific prior written permission.
18 |
19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 |
31 |
--------------------------------------------------------------------------------
/dist/changes-5.11.1:
--------------------------------------------------------------------------------
1 | Qt 5.11.1 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.11.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://doc.qt.io/qt-5/index.html
8 |
9 | The Qt version 5.11 series is binary compatible with the 5.10.x series.
10 | Applications compiled for 5.10 will continue to run with 5.11.
11 |
12 | Some of the changes listed in this file include issue tracking numbers
13 | corresponding to tasks in the Qt Bug Tracker:
14 |
15 | https://bugreports.qt.io/
16 |
17 | Each of these identifiers can be entered in the bug tracker to obtain more
18 | information about a particular change.
19 |
20 | ****************************************************************************
21 | * Qt 5.11.1 Changes *
22 | ****************************************************************************
23 |
24 | ****************************************************************************
25 | * TIFF *
26 | ****************************************************************************
27 |
28 | - [QTBUG-68609] Ensure saved tiffs have suitable ROWSPERSTRIP tag set
29 |
30 | ****************************************************************************
31 | * Third-Party Code *
32 | ****************************************************************************
33 |
34 | - Update bundled libwebp to version 1.0.0.
35 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/src/dsp/dec_sse41.c:
--------------------------------------------------------------------------------
1 | // Copyright 2015 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // SSE4 version of some decoding functions.
11 | //
12 | // Author: Skal (pascal.massimino@gmail.com)
13 |
14 | #include "src/dsp/dsp.h"
15 |
16 | #if defined(WEBP_USE_SSE41)
17 | #include
18 | #include
19 |
20 | #include "src/webp/types.h"
21 | #include "src/dec/vp8i_dec.h"
22 | #include "src/dsp/cpu.h"
23 | #include "src/utils/utils.h"
24 |
25 | static void HE16_SSE41(uint8_t* dst) { // horizontal
26 | int j;
27 | const __m128i kShuffle3 = _mm_set1_epi8(3);
28 | for (j = 16; j > 0; --j) {
29 | const __m128i in = _mm_cvtsi32_si128(WebPMemToInt32(dst - 4));
30 | const __m128i values = _mm_shuffle_epi8(in, kShuffle3);
31 | _mm_storeu_si128((__m128i*)dst, values);
32 | dst += BPS;
33 | }
34 | }
35 |
36 | //------------------------------------------------------------------------------
37 | // Entry point
38 |
39 | extern void VP8DspInitSSE41(void);
40 |
41 | WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitSSE41(void) {
42 | VP8PredLuma16[3] = HE16_SSE41;
43 | }
44 |
45 | #else // !WEBP_USE_SSE41
46 |
47 | WEBP_DSP_INIT_STUB(VP8DspInitSSE41)
48 |
49 | #endif // WEBP_USE_SSE41
50 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff/libtiff/tif_jpeg_12.c:
--------------------------------------------------------------------------------
1 |
2 | #include "tiffiop.h"
3 |
4 | #if defined(HAVE_JPEGTURBO_DUAL_MODE_8_12)
5 | #define JPEG_DUAL_MODE_8_12
6 | #endif
7 |
8 | #if defined(JPEG_DUAL_MODE_8_12)
9 |
10 | #define FROM_TIF_JPEG_12
11 |
12 | #ifdef TIFFInitJPEG
13 | #undef TIFFInitJPEG
14 | #endif
15 | #define TIFFInitJPEG TIFFInitJPEG_12
16 |
17 | #ifdef TIFFJPEGIsFullStripRequired
18 | #undef TIFFJPEGIsFullStripRequired
19 | #endif
20 | #define TIFFJPEGIsFullStripRequired TIFFJPEGIsFullStripRequired_12
21 |
22 | int TIFFInitJPEG_12(TIFF *tif, int scheme);
23 |
24 | #if !defined(HAVE_JPEGTURBO_DUAL_MODE_8_12)
25 | #include LIBJPEG_12_PATH
26 | #endif
27 |
28 | #include "tif_jpeg.c"
29 |
30 | int TIFFReInitJPEG_12(TIFF *tif, const JPEGOtherSettings *otherSettings,
31 | int scheme, int is_encode)
32 | {
33 | JPEGState *sp;
34 | uint8_t *new_tif_data;
35 |
36 | (void)scheme;
37 | assert(scheme == COMPRESSION_JPEG);
38 |
39 | new_tif_data =
40 | (uint8_t *)_TIFFreallocExt(tif, tif->tif_data, sizeof(JPEGState));
41 |
42 | if (new_tif_data == NULL)
43 | {
44 | TIFFErrorExtR(tif, "TIFFReInitJPEG_12",
45 | "No space for JPEG state block");
46 | return 0;
47 | }
48 |
49 | tif->tif_data = new_tif_data;
50 | _TIFFmemset(tif->tif_data, 0, sizeof(JPEGState));
51 |
52 | TIFFInitJPEGCommon(tif);
53 |
54 | sp = JState(tif);
55 | sp->otherSettings = *otherSettings;
56 |
57 | if (is_encode)
58 | return JPEGSetupEncode(tif);
59 | else
60 | return JPEGSetupDecode(tif);
61 | }
62 |
63 | #endif /* defined(JPEG_DUAL_MODE_8_12) */
64 |
--------------------------------------------------------------------------------
/tests/auto/jp2/tst_qjp2.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // Copyright (C) 2016 Petroules Corporation.
3 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
4 |
5 | #include
6 | #include
7 |
8 | class tst_qjp2: public QObject
9 | {
10 | Q_OBJECT
11 |
12 | private slots:
13 | void initTestCase();
14 | void readImage_data();
15 | void readImage();
16 | };
17 |
18 | void tst_qjp2::initTestCase()
19 | {
20 | if (!QImageReader::supportedImageFormats().contains("jp2"))
21 | QSKIP("The image format handler is not installed.");
22 | }
23 |
24 | void tst_qjp2::readImage_data()
25 | {
26 | QTest::addColumn("fileName");
27 | QTest::addColumn("referenceFileName");
28 | QTest::addColumn("size");
29 |
30 | QTest::newRow("logo") << QString("logo.jp2") << QString("logo.bmp") << QSize(498, 80);
31 | }
32 |
33 | void tst_qjp2::readImage()
34 | {
35 | QFETCH(QString, fileName);
36 | QFETCH(QString, referenceFileName);
37 | QFETCH(QSize, size);
38 |
39 | QString path = QString(":/jp2/") + fileName;
40 | QImageReader reader(path);
41 | QVERIFY(reader.canRead());
42 | QImage image = reader.read();
43 | QVERIFY(!image.isNull());
44 | QCOMPARE(image.size(), size);
45 |
46 | path = QString(":jp2/") + referenceFileName;
47 | QImageReader referenceReader(path);
48 | QVERIFY(referenceReader.canRead());
49 | QImage referenceImage = referenceReader.read();
50 | QVERIFY(!referenceImage.isNull());
51 | QCOMPARE(referenceImage.size(), size);
52 | }
53 |
54 | QTEST_MAIN(tst_qjp2)
55 | #include "tst_qjp2.moc"
56 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/tga/main.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #include
5 | #include
6 |
7 | #ifndef QT_NO_IMAGEFORMATPLUGIN
8 |
9 | #ifdef QT_NO_IMAGEFORMAT_TGA
10 | #undef QT_NO_IMAGEFORMAT_TGA
11 | #endif
12 |
13 | #include "qtgahandler.h"
14 |
15 | QT_BEGIN_NAMESPACE
16 |
17 | class QTgaPlugin : public QImageIOPlugin
18 | {
19 | Q_OBJECT
20 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "tga.json")
21 |
22 | public:
23 | Capabilities capabilities(QIODevice * device, const QByteArray & format) const override;
24 | QImageIOHandler * create(QIODevice * device, const QByteArray & format = QByteArray()) const override;
25 | };
26 |
27 | QImageIOPlugin::Capabilities QTgaPlugin::capabilities(QIODevice *device, const QByteArray &format) const
28 | {
29 | if (format == "tga")
30 | return Capabilities(CanRead);
31 | Capabilities cap;
32 | if (!format.isEmpty())
33 | return cap;
34 | if (!device->isOpen())
35 | return cap;
36 |
37 | if (device->isReadable() && QTgaHandler::canRead(device))
38 | cap |= CanRead;
39 | return cap;
40 | }
41 |
42 | QImageIOHandler* QTgaPlugin::create(QIODevice *device, const QByteArray &format) const
43 | {
44 | QImageIOHandler *tgaHandler = new QTgaHandler();
45 | tgaHandler->setDevice(device);
46 | tgaHandler->setFormat(format);
47 | return tgaHandler;
48 | }
49 |
50 | QT_END_NAMESPACE
51 |
52 | #include "main.moc"
53 |
54 | #endif /* QT_NO_IMAGEFORMATPLUGIN */
55 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/tiff/main.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #include
5 | #include
6 |
7 | #ifndef QT_NO_IMAGEFORMATPLUGIN
8 |
9 | #include "qtiffhandler_p.h"
10 |
11 | QT_BEGIN_NAMESPACE
12 |
13 | class QTiffPlugin : public QImageIOPlugin
14 | {
15 | Q_OBJECT
16 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "tiff.json")
17 |
18 | public:
19 | Capabilities capabilities(QIODevice * device, const QByteArray & format) const override;
20 | QImageIOHandler * create(QIODevice * device, const QByteArray & format = QByteArray()) const override;
21 | };
22 |
23 | QImageIOPlugin::Capabilities QTiffPlugin::capabilities(QIODevice *device, const QByteArray &format) const
24 | {
25 | if (format == "tiff" || format == "tif")
26 | return Capabilities(CanRead | CanWrite);
27 | Capabilities cap;
28 | if (!format.isEmpty())
29 | return cap;
30 | if (!device->isOpen())
31 | return cap;
32 |
33 | if (device->isReadable() && QTiffHandler::canRead(device))
34 | cap |= CanRead;
35 | if (device->isWritable())
36 | cap |= CanWrite;
37 | return cap;
38 | }
39 |
40 | QImageIOHandler* QTiffPlugin::create(QIODevice *device, const QByteArray &format) const
41 | {
42 | QImageIOHandler *tiffHandler = new QTiffHandler();
43 | tiffHandler->setDevice(device);
44 | tiffHandler->setFormat(format);
45 | return tiffHandler;
46 | }
47 |
48 | QT_END_NAMESPACE
49 |
50 | #include "main.moc"
51 |
52 | #endif /* QT_NO_IMAGEFORMATPLUGIN */
53 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/mng/main.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #include
5 | #include
6 |
7 | #ifndef QT_NO_IMAGEFORMATPLUGIN
8 |
9 | #ifdef QT_NO_IMAGEFORMAT_MNG
10 | #undef QT_NO_IMAGEFORMAT_MNG
11 | #endif
12 | #include "qmnghandler_p.h"
13 |
14 | #include
15 | #include
16 |
17 | QT_BEGIN_NAMESPACE
18 |
19 | class QMngPlugin : public QImageIOPlugin
20 | {
21 | Q_OBJECT
22 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "mng.json")
23 |
24 | public:
25 | Capabilities capabilities(QIODevice *device, const QByteArray &format) const override;
26 | QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override;
27 | };
28 |
29 | QImageIOPlugin::Capabilities QMngPlugin::capabilities(QIODevice *device, const QByteArray &format) const
30 | {
31 | if (format == "mng")
32 | return Capabilities(CanRead);
33 | Capabilities cap;
34 | if (!format.isEmpty())
35 | return cap;
36 | if (!device->isOpen())
37 | return cap;
38 |
39 | if (device->isReadable() && QMngHandler::canRead(device))
40 | cap |= CanRead;
41 | return cap;
42 | }
43 |
44 | QImageIOHandler *QMngPlugin::create(QIODevice *device, const QByteArray &format) const
45 | {
46 | QMngHandler *hand = new QMngHandler();
47 | hand->setDevice(device);
48 | hand->setFormat(format);
49 | return hand;
50 | }
51 |
52 | QT_END_NAMESPACE
53 |
54 | #include "main.moc"
55 |
56 | #endif // !QT_NO_IMAGEFORMATPLUGIN
57 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff/libtiff/tiffio.hxx:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 1988-1997 Sam Leffler
3 | * Copyright (c) 1991-1997 Silicon Graphics, Inc.
4 | *
5 | * Permission to use, copy, modify, distribute, and sell this software and
6 | * its documentation for any purpose is hereby granted without fee, provided
7 | * that (i) the above copyright notices and this permission notice appear in
8 | * all copies of the software and related documentation, and (ii) the names of
9 | * Sam Leffler and Silicon Graphics may not be used in any advertising or
10 | * publicity relating to the software without the specific, prior written
11 | * permission of Sam Leffler and Silicon Graphics.
12 | *
13 | * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
14 | * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
15 | * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
16 | *
17 | * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
18 | * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
19 | * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
20 | * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
21 | * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
22 | * OF THIS SOFTWARE.
23 | */
24 |
25 | #ifndef _TIFFIO_HXX_
26 | #define _TIFFIO_HXX_
27 |
28 | /*
29 | * TIFF I/O library definitions which provide C++ streams API.
30 | */
31 |
32 | #include "tiff.h"
33 | #include "tiffio.h"
34 | #include
35 |
36 | extern TIFF *TIFFStreamOpen(const char *, std::ostream *);
37 | extern TIFF *TIFFStreamOpen(const char *, std::istream *);
38 |
39 | #endif /* _TIFFIO_HXX_ */
40 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/webp/main.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #include
5 | #include
6 |
7 | #ifndef QT_NO_IMAGEFORMATPLUGIN
8 |
9 | #include "qwebphandler_p.h"
10 |
11 | #include
12 | #include
13 |
14 | QT_BEGIN_NAMESPACE
15 |
16 | class QWebpPlugin : public QImageIOPlugin
17 | {
18 | Q_OBJECT
19 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "webp.json")
20 |
21 | public:
22 | Capabilities capabilities(QIODevice *device, const QByteArray &format) const override;
23 | QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override;
24 | };
25 |
26 | QWebpPlugin::Capabilities QWebpPlugin::capabilities(QIODevice *device, const QByteArray &format) const
27 | {
28 | if (format == "webp")
29 | return Capabilities(CanRead | CanWrite);
30 |
31 | Capabilities cap;
32 | if (!format.isEmpty())
33 | return cap;
34 | if (!device->isOpen())
35 | return cap;
36 |
37 | if (device->isReadable() && QWebpHandler::canRead(device))
38 | cap |= CanRead;
39 | if (device->isWritable())
40 | cap |= CanWrite;
41 |
42 | return cap;
43 | }
44 |
45 | QImageIOHandler *QWebpPlugin::create(QIODevice *device, const QByteArray &format) const
46 | {
47 | QImageIOHandler *handler = new QWebpHandler;
48 | handler->setDevice(device);
49 | handler->setFormat(format);
50 | return handler;
51 | }
52 |
53 | QT_END_NAMESPACE
54 |
55 | #include "main.moc"
56 |
57 | #endif // !QT_NO_IMAGEFORMATPLUGIN
58 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/wbmp/main.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #include
5 |
6 | #ifndef QT_NO_IMAGEFORMATPLUGIN
7 |
8 | #ifdef QT_NO_IMAGEFORMAT_WBMP
9 | #undef QT_NO_IMAGEFORMAT_WBMP
10 | #endif
11 |
12 | #include "qwbmphandler_p.h"
13 |
14 | QT_BEGIN_NAMESPACE
15 |
16 | class QWbmpPlugin : public QImageIOPlugin
17 | {
18 | Q_OBJECT
19 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "wbmp.json")
20 |
21 | public:
22 | QImageIOPlugin::Capabilities capabilities(QIODevice *device, const QByteArray &format) const override;
23 | QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override;
24 | };
25 |
26 | QImageIOPlugin::Capabilities QWbmpPlugin::capabilities(QIODevice *device, const QByteArray &format) const
27 | {
28 | if (format == "wbmp")
29 | return Capabilities(CanRead | CanWrite);
30 |
31 | Capabilities cap;
32 | if (!format.isEmpty())
33 | return cap;
34 |
35 | if (!device->isOpen())
36 | return cap;
37 |
38 | if (device->isReadable() && QWbmpHandler::canRead(device))
39 | cap |= CanRead;
40 |
41 | if (device->isWritable())
42 | cap |= CanWrite;
43 |
44 | return cap;
45 | }
46 |
47 | QImageIOHandler * QWbmpPlugin::create(QIODevice *device, const QByteArray &format) const
48 | {
49 | QImageIOHandler *handler = new QWbmpHandler(device);
50 |
51 | handler->setFormat(format);
52 | return handler;
53 | }
54 |
55 | QT_END_NAMESPACE
56 |
57 | #include "main.moc"
58 |
59 | #endif /* QT_NO_IMAGEFORMATPLUGIN */
60 |
--------------------------------------------------------------------------------
/dist/changes-5.14.0:
--------------------------------------------------------------------------------
1 | Qt 5.14 introduces many new features and improvements as well as bugfixes
2 | over the 5.13.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | https://doc.qt.io/qt-5/index.html
6 |
7 | The Qt version 5.14 series is binary compatible with the 5.13.x series.
8 | Applications compiled for 5.13 will continue to run with 5.14.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | https://bugreports.qt.io/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * TIFF *
20 | ****************************************************************************
21 |
22 | - Added support for reading and writing colorspace profiles
23 | - Corrected 16 to 8 bit color channel conversion when reading color maps
24 |
25 | ****************************************************************************
26 | * WEBP *
27 | ****************************************************************************
28 |
29 | - Added support for reading and writing colorspace profiles
30 |
31 | ****************************************************************************
32 | * Third-Party Code *
33 | ****************************************************************************
34 |
35 | - Bundled libtiff was updated to version 4.1.0
36 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/dds/main.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // Copyright (C) 2016 Ivan Komissarov.
3 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4 |
5 | #include
6 |
7 | #include "qddshandler.h"
8 |
9 | #ifndef QT_NO_IMAGEFORMATPLUGIN
10 |
11 | #ifndef QT_NO_DATASTREAM
12 |
13 | QT_BEGIN_NAMESPACE
14 |
15 | class QDDSPlugin : public QImageIOPlugin
16 | {
17 | Q_OBJECT
18 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "dds.json")
19 | public:
20 | Capabilities capabilities(QIODevice *device, const QByteArray &format) const override;
21 | QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override;
22 | };
23 |
24 | QImageIOPlugin::Capabilities QDDSPlugin::capabilities(QIODevice *device, const QByteArray &format) const
25 | {
26 | if (format == QByteArrayLiteral("dds"))
27 | return Capabilities(CanRead | CanWrite);
28 | if (!format.isEmpty())
29 | return 0;
30 | if (!device || !device->isOpen())
31 | return 0;
32 |
33 | Capabilities cap;
34 | if (device->isReadable() && QDDSHandler::canRead(device))
35 | cap |= CanRead;
36 | if (device->isWritable())
37 | cap |= CanWrite;
38 | return cap;
39 | }
40 |
41 | QImageIOHandler *QDDSPlugin::create(QIODevice *device, const QByteArray &format) const
42 | {
43 | QImageIOHandler *handler = new QDDSHandler;
44 | handler->setDevice(device);
45 | handler->setFormat(format);
46 | return handler;
47 | }
48 |
49 | QT_END_NAMESPACE
50 |
51 | #include "main.moc"
52 |
53 | #endif // QT_NO_DATASTREAM
54 |
55 | #endif // QT_NO_IMAGEFORMATPLUGIN
56 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/icns/main.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // Copyright (C) 2016 Alex Char.
3 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4 |
5 | #include
6 | #include "qicnshandler_p.h"
7 |
8 | #ifndef QT_NO_IMAGEFORMATPLUGIN
9 | #ifndef QT_NO_DATASTREAM
10 |
11 | QT_BEGIN_NAMESPACE
12 |
13 | class QICNSPlugin : public QImageIOPlugin
14 | {
15 | Q_OBJECT
16 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "icns.json")
17 |
18 | public:
19 | Capabilities capabilities(QIODevice *device, const QByteArray &format) const override;
20 | QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override;
21 | };
22 |
23 | QImageIOPlugin::Capabilities QICNSPlugin::capabilities(QIODevice *device, const QByteArray &format) const
24 | {
25 | if (format == QByteArrayLiteral("icns"))
26 | return Capabilities(CanRead | CanWrite);
27 | Capabilities cap;
28 | if (!format.isEmpty())
29 | return cap;
30 | if (!device || !device->isOpen())
31 | return cap;
32 |
33 | if (device->isReadable() && QICNSHandler::canRead(device))
34 | cap |= CanRead;
35 | if (device->isWritable())
36 | cap |= CanWrite;
37 | return cap;
38 | }
39 |
40 | QImageIOHandler *QICNSPlugin::create(QIODevice *device, const QByteArray &format) const
41 | {
42 | QImageIOHandler *handler = new QICNSHandler();
43 | handler->setDevice(device);
44 | handler->setFormat(format);
45 | return handler;
46 | }
47 |
48 | QT_END_NAMESPACE
49 |
50 | #include "main.moc"
51 |
52 | #endif // QT_NO_DATASTREAM
53 |
54 | #endif // QT_NO_IMAGEFORMATPLUGIN
55 |
--------------------------------------------------------------------------------
/src/3rdparty/libtiff.pri:
--------------------------------------------------------------------------------
1 | INCLUDEPATH += $$PWD/libtiff/libtiff
2 | SOURCES += \
3 | $$PWD/libtiff/libtiff/tif_aux.c \
4 | $$PWD/libtiff/libtiff/tif_close.c \
5 | $$PWD/libtiff/libtiff/tif_codec.c \
6 | $$PWD/libtiff/libtiff/tif_color.c \
7 | $$PWD/libtiff/libtiff/tif_compress.c \
8 | $$PWD/libtiff/libtiff/tif_dir.c \
9 | $$PWD/libtiff/libtiff/tif_dirinfo.c \
10 | $$PWD/libtiff/libtiff/tif_dirread.c \
11 | $$PWD/libtiff/libtiff/tif_dirwrite.c \
12 | $$PWD/libtiff/libtiff/tif_dumpmode.c \
13 | $$PWD/libtiff/libtiff/tif_error.c \
14 | $$PWD/libtiff/libtiff/tif_extension.c \
15 | $$PWD/libtiff/libtiff/tif_fax3.c \
16 | $$PWD/libtiff/libtiff/tif_fax3sm.c \
17 | $$PWD/libtiff/libtiff/tif_flush.c \
18 | $$PWD/libtiff/libtiff/tif_getimage.c \
19 | $$PWD/libtiff/libtiff/tif_hash_set.c \
20 | $$PWD/libtiff/libtiff/tif_luv.c \
21 | $$PWD/libtiff/libtiff/tif_lzw.c \
22 | $$PWD/libtiff/libtiff/tif_next.c \
23 | $$PWD/libtiff/libtiff/tif_open.c \
24 | $$PWD/libtiff/libtiff/tif_packbits.c \
25 | $$PWD/libtiff/libtiff/tif_pixarlog.c \
26 | $$PWD/libtiff/libtiff/tif_predict.c \
27 | $$PWD/libtiff/libtiff/tif_print.c \
28 | $$PWD/libtiff/libtiff/tif_read.c \
29 | $$PWD/libtiff/libtiff/tif_strip.c \
30 | $$PWD/libtiff/libtiff/tif_swab.c \
31 | $$PWD/libtiff/libtiff/tif_thunder.c \
32 | $$PWD/libtiff/libtiff/tif_tile.c \
33 | $$PWD/libtiff/libtiff/tif_version.c \
34 | $$PWD/libtiff/libtiff/tif_warning.c \
35 | $$PWD/libtiff/libtiff/tif_write.c \
36 | $$PWD/libtiff/libtiff/tif_zip.c
37 |
38 | win32: SOURCES += $$PWD/libtiff/libtiff/tif_win32.c
39 | else: SOURCES += $$PWD/libtiff/libtiff/tif_unix.c
40 |
41 | include($$PWD/zlib_dependency.pri)
42 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/jp2/main.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // Copyright (C) 2016 Petroules Corporation.
3 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4 |
5 | #include
6 | #include
7 |
8 | #ifndef QT_NO_IMAGEFORMATPLUGIN
9 |
10 | #include "qjp2handler_p.h"
11 |
12 | #include
13 | #include
14 |
15 | QT_BEGIN_NAMESPACE
16 |
17 | class QJp2Plugin : public QImageIOPlugin
18 | {
19 | Q_OBJECT
20 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "jp2.json")
21 |
22 | public:
23 | Capabilities capabilities(QIODevice *device, const QByteArray &format) const override;
24 | QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override;
25 | };
26 |
27 | QImageIOPlugin::Capabilities QJp2Plugin::capabilities(QIODevice *device, const QByteArray &format) const
28 | {
29 | if (format == "jp2" || format == "j2k")
30 | return Capabilities(CanRead | CanWrite);
31 | Capabilities cap;
32 | if (!format.isEmpty())
33 | return cap;
34 | if (!device->isOpen())
35 | return cap;
36 |
37 | if (device->isReadable() && QJp2Handler::canRead(device, 0))
38 | cap |= CanRead;
39 | if (device->isWritable())
40 | cap |= CanWrite;
41 | return cap;
42 | }
43 |
44 | QImageIOHandler *QJp2Plugin::create(QIODevice *device, const QByteArray &format) const
45 | {
46 | QJp2Handler *handler = new QJp2Handler();
47 | handler->setDevice(device);
48 | handler->setFormat(format);
49 | return handler;
50 | }
51 |
52 | QT_END_NAMESPACE
53 |
54 | #include "main.moc"
55 |
56 | #endif // !QT_NO_IMAGEFORMATPLUGIN
57 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/src/mux/animi.h:
--------------------------------------------------------------------------------
1 | // Copyright 2016 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Internal header for animation related functions.
11 | //
12 | // Author: Hui Su (huisu@google.com)
13 |
14 | #ifndef WEBP_MUX_ANIMI_H_
15 | #define WEBP_MUX_ANIMI_H_
16 |
17 | #include "src/webp/mux.h"
18 |
19 | #ifdef __cplusplus
20 | extern "C" {
21 | #endif
22 |
23 | // Picks the optimal rectangle between two pictures, starting with initial
24 | // values of offsets and dimensions that are passed in. The initial
25 | // values will be clipped, if necessary, to make sure the rectangle is
26 | // within the canvas. "use_argb" must be true for both pictures.
27 | // Parameters:
28 | // prev_canvas, curr_canvas - (in) two input pictures to compare.
29 | // is_lossless, quality - (in) encoding settings.
30 | // x_offset, y_offset, width, height - (in/out) rectangle between the two
31 | // input pictures.
32 | // Returns true on success.
33 | int WebPAnimEncoderRefineRect(
34 | const struct WebPPicture* const prev_canvas,
35 | const struct WebPPicture* const curr_canvas,
36 | int is_lossless, float quality, int* const x_offset, int* const y_offset,
37 | int* const width, int* const height);
38 |
39 | #ifdef __cplusplus
40 | } // extern "C"
41 | #endif
42 |
43 | #endif // WEBP_MUX_ANIMI_H_
44 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/macheif/main.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2017 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #ifndef QT_NO_IMAGEFORMATPLUGIN
5 |
6 | #include
7 |
8 | QT_BEGIN_NAMESPACE
9 |
10 | class QMacHeifPlugin : public QImageIOPlugin
11 | {
12 | Q_OBJECT
13 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "macheif.json")
14 |
15 | public:
16 | Capabilities capabilities(QIODevice *device, const QByteArray &format) const override;
17 | QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override;
18 | };
19 |
20 | QImageIOPlugin::Capabilities QMacHeifPlugin::capabilities(QIODevice *device, const QByteArray &format) const
21 | {
22 | static const Capabilities sysCaps = QIIOFHelpers::systemCapabilities(QStringLiteral("public.heic"));
23 |
24 | Capabilities cap;
25 | if (!sysCaps)
26 | return cap;
27 | if (format == "heic" || format == "heif")
28 | return sysCaps;
29 | if (!format.isEmpty())
30 | return cap;
31 | if (!device->isOpen())
32 | return cap;
33 |
34 | if (sysCaps.testFlag(CanRead) && device->isReadable() && QMacHeifHandler::canRead(device))
35 | cap |= CanRead;
36 | if (sysCaps.testFlag(CanWrite) && device->isWritable())
37 | cap |= CanWrite;
38 | return cap;
39 | }
40 |
41 | QImageIOHandler *QMacHeifPlugin::create(QIODevice *device, const QByteArray &format) const
42 | {
43 | QMacHeifHandler *handler = new QMacHeifHandler();
44 | handler->setDevice(device);
45 | handler->setFormat(format);
46 | return handler;
47 | }
48 |
49 | QT_END_NAMESPACE
50 |
51 | #include "main.moc"
52 |
53 | #endif // !QT_NO_IMAGEFORMATPLUGIN
54 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/macheif/qmacheifhandler.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2017 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 | // Qt-Security score:critical reason:data-parser
4 |
5 | #include "qmacheifhandler.h"
6 | #include
7 |
8 | QT_BEGIN_NAMESPACE
9 |
10 | QMacHeifHandler::QMacHeifHandler()
11 | : d(new QIIOFHelper(this))
12 | {
13 | }
14 |
15 | QMacHeifHandler::~QMacHeifHandler()
16 | {
17 | }
18 |
19 | bool QMacHeifHandler::canRead(QIODevice *iod)
20 | {
21 | bool bCanRead = false;
22 | char buf[12];
23 | if (iod && iod->peek(buf, 12) == 12) {
24 | bCanRead = (!qstrncmp(buf + 4, "ftyp", 4) &&
25 | (!qstrncmp(buf + 8, "heic", 4) ||
26 | !qstrncmp(buf + 8, "heix", 4) ||
27 | !qstrncmp(buf + 8, "msf1", 4) ||
28 | !qstrncmp(buf + 8, "mif1", 4)));
29 | }
30 | return bCanRead;
31 | }
32 |
33 | bool QMacHeifHandler::canRead() const
34 | {
35 | if (canRead(device())) {
36 | setFormat("heic");
37 | return true;
38 | }
39 | return false;
40 | }
41 |
42 | bool QMacHeifHandler::read(QImage *image)
43 | {
44 | return d->readImage(image);
45 | }
46 |
47 | bool QMacHeifHandler::write(const QImage &image)
48 | {
49 | return d->writeImage(image, QStringLiteral("public.heic"));
50 | }
51 |
52 | QVariant QMacHeifHandler::option(ImageOption option) const
53 | {
54 | return d->imageProperty(option);
55 | }
56 |
57 | void QMacHeifHandler::setOption(ImageOption option, const QVariant &value)
58 | {
59 | d->setOption(option, value);
60 | }
61 |
62 | bool QMacHeifHandler::supportsOption(ImageOption option) const
63 | {
64 | return option == Quality
65 | || option == Size
66 | || option == ImageTransformation;
67 | }
68 |
69 | QT_END_NAMESPACE
70 |
--------------------------------------------------------------------------------
/REUSE.toml:
--------------------------------------------------------------------------------
1 | version = 1
2 |
3 | [[annotations]]
4 | path = ["tests/auto/**", "tests/shared/images/**"]
5 | precedence = "closest"
6 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
7 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GPL-3.0-only"
8 |
9 | [[annotations]]
10 | path = ["src/plugins/**.json"]
11 | precedence = "closest"
12 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
13 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
14 |
15 | [[annotations]]
16 | path = ["**.pro", ".cmake.conf", "**.yaml", ".tag",
17 | "**.pri", "qt_cmdline.cmake", "**ci_config_linux.json"]
18 | precedence = "closest"
19 | comment = "build system"
20 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
21 | SPDX-License-Identifier = "BSD-3-Clause"
22 |
23 | [[annotations]]
24 | path = ["**/.gitattributes", "**.gitignore", "**.gitreview"]
25 | precedence = "closest"
26 | comment = "infrastructure"
27 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
28 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause"
29 |
30 | [[annotations]]
31 | path = ["**/README*", "**.qdocconf", "config_help.txt"]
32 | comment = "documentation"
33 | precedence = "closest"
34 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
35 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"
36 |
37 | [[annotations]]
38 | path = ["**.toml", "licenseRule.json"]
39 | precedence = "override"
40 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
41 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause"
42 |
43 | [[annotations]]
44 | path = ["**/qt_attribution.json"]
45 | precedence = "override"
46 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
47 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"
48 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/README.md:
--------------------------------------------------------------------------------
1 | # WebP Codec
2 |
3 | ```
4 | __ __ ____ ____ ____
5 | / \\/ \/ _ \/ _ )/ _ \
6 | \ / __/ _ \ __/
7 | \__\__/\____/\_____/__/ ____ ___
8 | / _/ / \ \ / _ \/ _/
9 | / \_/ / / \ \ __/ \__
10 | \____/____/\_____/_____/____/v1.6.0
11 | ```
12 |
13 | WebP codec is a library to encode and decode images in WebP format. This package
14 | contains the library that can be used in other programs to add WebP support, as
15 | well as the command line tools 'cwebp' and 'dwebp' to compress and decompress
16 | images respectively.
17 |
18 | See https://developers.google.com/speed/webp for details on the image format.
19 |
20 | The latest source tree is available at
21 | https://chromium.googlesource.com/webm/libwebp
22 |
23 | It is released under the same license as the WebM project. See
24 | https://www.webmproject.org/license/software/ or the "COPYING" file for details.
25 | An additional intellectual property rights grant can be found in the file
26 | PATENTS.
27 |
28 | ## Building
29 |
30 | See the [building documentation](doc/building.md).
31 |
32 | ## Encoding and Decoding Tools
33 |
34 | The examples/ directory contains tools to encode and decode images and
35 | animations, view information about WebP images, and more. See the
36 | [tools documentation](doc/tools.md).
37 |
38 | ## APIs
39 |
40 | See the [APIs documentation](doc/api.md), and API usage examples in the
41 | `examples/` directory.
42 |
43 | ## Bugs
44 |
45 | Please report all bugs to the [issue tracker](https://issues.webmproject.org).
46 | For security reports, select 'Security report' from the Template dropdown.
47 |
48 | Patches welcome! See [how to contribute](CONTRIBUTING.md).
49 |
50 | ## Discuss
51 |
52 | Email: webp-discuss@webmproject.org
53 |
54 | Web: https://groups.google.com/a/webmproject.org/group/webp-discuss
55 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/shared/qiiofhelpers_p.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #ifndef QIIOFHELPERS_P_H
5 | #define QIIOFHELPERS_P_H
6 |
7 | //
8 | // W A R N I N G
9 | // -------------
10 | //
11 | // This file is not part of the Qt API. It exists for the convenience
12 | // of other Qt classes. This header file may change from version to
13 | // version without notice, or even be removed.
14 | //
15 | // We mean it.
16 | //
17 |
18 | #include
19 | #include
20 | #include
21 | #include
22 |
23 | QT_BEGIN_NAMESPACE
24 |
25 | namespace NS_IIOF_HELPERS {
26 |
27 | /*
28 | Functions to utilize the native ImageIO Framework in OS X and iOS
29 | */
30 |
31 | class QIIOFHelpers
32 | {
33 | public:
34 | static QImageIOPlugin::Capabilities systemCapabilities(const QString &uti);
35 | static bool readImage(QImageIOHandler *q_ptr, QImage *out);
36 | static bool writeImage(QImageIOHandler *q_ptr, const QImage &in, const QString &uti);
37 | };
38 |
39 | class QIIOFHelper
40 | {
41 | public:
42 | QIIOFHelper(QImageIOHandler *q);
43 |
44 | bool readImage(QImage *out);
45 | bool writeImage(const QImage &in, const QString &uti);
46 | QVariant imageProperty(QImageIOHandler::ImageOption option);
47 | void setOption(QImageIOHandler::ImageOption option, const QVariant &value);
48 |
49 | protected:
50 | bool initRead();
51 | bool getIntProperty(CFStringRef property, int *value);
52 |
53 | QImageIOHandler *q_ptr = nullptr;
54 | QList writeOptions;
55 | QCFType cgDataProvider = nullptr;
56 | QCFType cgImageSource = nullptr;
57 | QCFType cfImageDict = nullptr;
58 | };
59 |
60 | }
61 |
62 | QT_END_NAMESPACE
63 |
64 | #endif
65 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/src/utils/color_cache_utils.c:
--------------------------------------------------------------------------------
1 | // Copyright 2012 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Color Cache for WebP Lossless
11 | //
12 | // Author: Jyrki Alakuijala (jyrki@google.com)
13 |
14 | #include
15 | #include
16 | #include
17 |
18 | #include "src/utils/color_cache_utils.h"
19 | #include "src/webp/types.h"
20 | #include "src/utils/utils.h"
21 |
22 | //------------------------------------------------------------------------------
23 | // VP8LColorCache.
24 |
25 | int VP8LColorCacheInit(VP8LColorCache* const color_cache, int hash_bits) {
26 | const int hash_size = 1 << hash_bits;
27 | assert(color_cache != NULL);
28 | assert(hash_bits > 0);
29 | color_cache->colors = (uint32_t*)WebPSafeCalloc(
30 | (uint64_t)hash_size, sizeof(*color_cache->colors));
31 | if (color_cache->colors == NULL) return 0;
32 | color_cache->hash_shift = 32 - hash_bits;
33 | color_cache->hash_bits = hash_bits;
34 | return 1;
35 | }
36 |
37 | void VP8LColorCacheClear(VP8LColorCache* const color_cache) {
38 | if (color_cache != NULL) {
39 | WebPSafeFree(color_cache->colors);
40 | color_cache->colors = NULL;
41 | }
42 | }
43 |
44 | void VP8LColorCacheCopy(const VP8LColorCache* const src,
45 | VP8LColorCache* const dst) {
46 | assert(src != NULL);
47 | assert(dst != NULL);
48 | assert(src->hash_bits == dst->hash_bits);
49 | memcpy(dst->colors, src->colors,
50 | ((size_t)1u << dst->hash_bits) * sizeof(*dst->colors));
51 | }
52 |
--------------------------------------------------------------------------------
/dist/changes-5.6.0:
--------------------------------------------------------------------------------
1 | Qt 5.6 introduces many new features and improvements as well as bugfixes
2 | over the 5.5.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | http://doc.qt.io
6 |
7 | The Qt version 5.6 series is binary compatible with the 5.5.x series.
8 | Applications compiled for 5.5 will continue to run with 5.6.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | http://bugreports.qt.io
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * Important Behavior Changes *
20 | ****************************************************************************
21 |
22 | - For security reasons, MNG and JPEG 2000 handlers will no longer be
23 | built by default, unless the required codec library is found on the
24 | system. I.e., the bundled 3rd party libraries will by default not be
25 | used. In practice, this means that the qmng and qjp2 handlers will
26 | not be present by default.
27 |
28 | The reason is that upstream development of those codes libraries has
29 | stalled, so security issues are not addressed.
30 |
31 | Users who still want these handlers using the bundled libraries can
32 | easily build them from the source projects:
33 | src/plugins/imageformats/jp2/jp2.pro
34 | src/plugins/imageformats/mng/mng.pro
35 |
36 | ****************************************************************************
37 | * General *
38 | ****************************************************************************
39 |
40 | - Bundled libwebp updated to version 0.4.4.
41 | - Bundled libtiff updated to version 4.0.6.
42 |
--------------------------------------------------------------------------------
/dist/changes-5.7.0:
--------------------------------------------------------------------------------
1 | Qt 5.7 introduces many new features and improvements as well as bugfixes
2 | over the 5.6.x series. Also, there is a change in the licensing terms.
3 | For more details, refer to the online documentation included in this
4 | distribution. The documentation is also available online:
5 |
6 | http://doc.qt.io/qt-5/index.html
7 |
8 | The Qt version 5.7 series is binary compatible with the 5.6.x series.
9 | Applications compiled for 5.6 will continue to run with 5.7.
10 |
11 | Some of the changes listed in this file include issue tracking numbers
12 | corresponding to tasks in the Qt Bug Tracker:
13 |
14 | http://bugreports.qt.io
15 |
16 | Each of these identifiers can be entered in the bug tracker to obtain more
17 | information about a particular change.
18 |
19 | ****************************************************************************
20 | * Important License Changes *
21 | ****************************************************************************
22 |
23 | This module is no longer available under LGPLv2.1. The libraries are
24 | now available under the following licenses:
25 | * Commercial License
26 | * GNU General Public License v2.0 (LICENSE.GPL2) and later
27 | * GNU Lesser General Public License v3.0 (LICENSE.LGPL3)
28 |
29 | The tools are now available under the following licenses:
30 | * Commercial License
31 | * GNU General Public License 3.0 (LICENSE.GPL3) with exceptions
32 | described in The Qt Company GPL Exception 1.0 (LICENSE.GPL3-EXCEPT)
33 |
34 | ****************************************************************************
35 | * General *
36 | ****************************************************************************
37 |
38 | - A new JPEG 2000 plugin for OS X added, utilizing native codec framework
39 | - Bundled libwebp updated to version 0.5.0.
40 | - Issue fixed where TIFF alpha channel could be misread
41 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/src/dec/alphai_dec.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Alpha decoder: internal header.
11 | //
12 | // Author: Urvang (urvang@google.com)
13 |
14 | #ifndef WEBP_DEC_ALPHAI_DEC_H_
15 | #define WEBP_DEC_ALPHAI_DEC_H_
16 |
17 | #include "src/dec/vp8_dec.h"
18 | #include "src/webp/types.h"
19 | #include "src/dec/webpi_dec.h"
20 | #include "src/dsp/dsp.h"
21 | #include "src/utils/filters_utils.h"
22 |
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | struct VP8LDecoder; // Defined in dec/vp8li.h.
28 |
29 | typedef struct ALPHDecoder ALPHDecoder;
30 | struct ALPHDecoder {
31 | int width;
32 | int height;
33 | int method;
34 | WEBP_FILTER_TYPE filter;
35 | int pre_processing;
36 | struct VP8LDecoder* vp8l_dec;
37 | VP8Io io;
38 | int use_8b_decode; // Although alpha channel requires only 1 byte per
39 | // pixel, sometimes VP8LDecoder may need to allocate
40 | // 4 bytes per pixel internally during decode.
41 | uint8_t* output;
42 | const uint8_t* prev_line; // last output row (or NULL)
43 | };
44 |
45 | //------------------------------------------------------------------------------
46 | // internal functions. Not public.
47 |
48 | // Deallocate memory associated to dec->alpha_plane decoding
49 | void WebPDeallocateAlphaMemory(VP8Decoder* const dec);
50 |
51 | //------------------------------------------------------------------------------
52 |
53 | #ifdef __cplusplus
54 | } // extern "C"
55 | #endif
56 |
57 | #endif // WEBP_DEC_ALPHAI_DEC_H_
58 |
--------------------------------------------------------------------------------
/dist/changes-5.0.1:
--------------------------------------------------------------------------------
1 | Qt 5.0.1 is a bug-fix release. It maintains both forward and backward
2 | compatibility (source and binary) with Qt 5.0.0.
3 |
4 | For more details, refer to the online documentation included in this
5 | distribution. The documentation is also available online:
6 |
7 | http://qt-project.org/doc/qt-5.0/
8 |
9 | Some of the changes listed in this file include issue tracking numbers
10 | corresponding to tasks in the Qt Bug Tracker:
11 |
12 | http://bugreports.qt-project.org/
13 |
14 | Each of these identifiers can be entered in the bug tracker to obtain more
15 | information about a particular change.
16 |
17 |
18 | ****************************************************************************
19 | * General *
20 | ****************************************************************************
21 |
22 | General Improvements
23 | --------------------
24 |
25 | Third party components
26 | ----------------------
27 |
28 | ****************************************************************************
29 | * Library *
30 | ****************************************************************************
31 |
32 | - no changes for this version
33 |
34 | ****************************************************************************
35 | * Platform Specific Changes *
36 | ****************************************************************************
37 |
38 |
39 | ****************************************************************************
40 | * Compiler Specific Changes *
41 | ****************************************************************************
42 |
43 |
44 | ****************************************************************************
45 | * Plugins *
46 | ****************************************************************************
47 |
48 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/webp/qwebphandler_p.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 |
4 | #ifndef QWEBPHANDLER_P_H
5 | #define QWEBPHANDLER_P_H
6 |
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 |
14 | #include "webp/decode.h"
15 | #include "webp/demux.h"
16 |
17 | QT_BEGIN_NAMESPACE
18 |
19 | class QWebpHandler : public QImageIOHandler
20 | {
21 | public:
22 | QWebpHandler();
23 | ~QWebpHandler();
24 |
25 | public:
26 | bool canRead() const override;
27 | bool read(QImage *image) override;
28 |
29 | static bool canRead(QIODevice *device);
30 |
31 | bool write(const QImage &image) override;
32 | QVariant option(ImageOption option) const override;
33 | void setOption(ImageOption option, const QVariant &value) override;
34 | bool supportsOption(ImageOption option) const override;
35 |
36 | int imageCount() const override;
37 | int currentImageNumber() const override;
38 | QRect currentImageRect() const override;
39 | int loopCount() const override;
40 | int nextImageDelay() const override;
41 |
42 | private:
43 | bool ensureScanned() const;
44 | bool ensureDemuxer();
45 |
46 | private:
47 | enum ScanState {
48 | ScanError = -1,
49 | ScanNotScanned = 0,
50 | ScanSuccess = 1,
51 | };
52 |
53 | int m_quality;
54 | mutable ScanState m_scanState;
55 | WebPBitstreamFeatures m_features;
56 | uint32_t m_formatFlags;
57 | int m_loop;
58 | int m_frameCount;
59 | QColor m_bgColor;
60 | QByteArray m_rawData;
61 | WebPData m_webpData;
62 | WebPDemuxer *m_demuxer;
63 | WebPIterator m_iter;
64 | QColorSpace m_colorSpace;
65 | QImage *m_composited; // For animation frames composition
66 | };
67 |
68 | QT_END_NAMESPACE
69 |
70 | #endif // WEBPHANDLER_H
71 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/src/dec/common_dec.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Definitions and macros common to encoding and decoding
11 | //
12 | // Author: Skal (pascal.massimino@gmail.com)
13 |
14 | #ifndef WEBP_DEC_COMMON_DEC_H_
15 | #define WEBP_DEC_COMMON_DEC_H_
16 |
17 | // intra prediction modes
18 | enum { B_DC_PRED = 0, // 4x4 modes
19 | B_TM_PRED = 1,
20 | B_VE_PRED = 2,
21 | B_HE_PRED = 3,
22 | B_RD_PRED = 4,
23 | B_VR_PRED = 5,
24 | B_LD_PRED = 6,
25 | B_VL_PRED = 7,
26 | B_HD_PRED = 8,
27 | B_HU_PRED = 9,
28 | NUM_BMODES = B_HU_PRED + 1 - B_DC_PRED, // = 10
29 |
30 | // Luma16 or UV modes
31 | DC_PRED = B_DC_PRED, V_PRED = B_VE_PRED,
32 | H_PRED = B_HE_PRED, TM_PRED = B_TM_PRED,
33 | B_PRED = NUM_BMODES, // refined I4x4 mode
34 | NUM_PRED_MODES = 4,
35 |
36 | // special modes
37 | B_DC_PRED_NOTOP = 4,
38 | B_DC_PRED_NOLEFT = 5,
39 | B_DC_PRED_NOTOPLEFT = 6,
40 | NUM_B_DC_MODES = 7 };
41 |
42 | enum { MB_FEATURE_TREE_PROBS = 3,
43 | NUM_MB_SEGMENTS = 4,
44 | NUM_REF_LF_DELTAS = 4,
45 | NUM_MODE_LF_DELTAS = 4, // I4x4, ZERO, *, SPLIT
46 | MAX_NUM_PARTITIONS = 8,
47 | // Probabilities
48 | NUM_TYPES = 4, // 0: i16-AC, 1: i16-DC, 2:chroma-AC, 3:i4-AC
49 | NUM_BANDS = 8,
50 | NUM_CTX = 3,
51 | NUM_PROBAS = 11
52 | };
53 |
54 | // Check that webp_csp_mode is within the bounds of WEBP_CSP_MODE.
55 | int IsValidColorspace(int webp_csp_mode);
56 |
57 | #endif // WEBP_DEC_COMMON_DEC_H_
58 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/src/utils/random_utils.c:
--------------------------------------------------------------------------------
1 | // Copyright 2013 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Pseudo-random utilities
11 | //
12 | // Author: Skal (pascal.massimino@gmail.com)
13 |
14 | #include
15 |
16 | #include "src/webp/types.h"
17 | #include "src/utils/random_utils.h"
18 |
19 | //------------------------------------------------------------------------------
20 |
21 | // 31b-range values
22 | static const uint32_t kRandomTable[VP8_RANDOM_TABLE_SIZE] = {
23 | 0x0de15230, 0x03b31886, 0x775faccb, 0x1c88626a, 0x68385c55, 0x14b3b828,
24 | 0x4a85fef8, 0x49ddb84b, 0x64fcf397, 0x5c550289, 0x4a290000, 0x0d7ec1da,
25 | 0x5940b7ab, 0x5492577d, 0x4e19ca72, 0x38d38c69, 0x0c01ee65, 0x32a1755f,
26 | 0x5437f652, 0x5abb2c32, 0x0faa57b1, 0x73f533e7, 0x685feeda, 0x7563cce2,
27 | 0x6e990e83, 0x4730a7ed, 0x4fc0d9c6, 0x496b153c, 0x4f1403fa, 0x541afb0c,
28 | 0x73990b32, 0x26d7cb1c, 0x6fcc3706, 0x2cbb77d8, 0x75762f2a, 0x6425ccdd,
29 | 0x24b35461, 0x0a7d8715, 0x220414a8, 0x141ebf67, 0x56b41583, 0x73e502e3,
30 | 0x44cab16f, 0x28264d42, 0x73baaefb, 0x0a50ebed, 0x1d6ab6fb, 0x0d3ad40b,
31 | 0x35db3b68, 0x2b081e83, 0x77ce6b95, 0x5181e5f0, 0x78853bbc, 0x009f9494,
32 | 0x27e5ed3c
33 | };
34 |
35 | void VP8InitRandom(VP8Random* const rg, float dithering) {
36 | memcpy(rg->tab, kRandomTable, sizeof(rg->tab));
37 | rg->index1 = 0;
38 | rg->index2 = 31;
39 | rg->amp = (dithering < 0.0) ? 0
40 | : (dithering > 1.0) ? (1 << VP8_RANDOM_DITHER_FIX)
41 | : (uint32_t)((1 << VP8_RANDOM_DITHER_FIX) * dithering);
42 | }
43 |
44 | //------------------------------------------------------------------------------
45 |
--------------------------------------------------------------------------------
/tests/benchmarks/mng/tst_qmng.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3 |
4 | #include
5 | #include
6 |
7 | class tst_qmng: public QObject
8 | {
9 | Q_OBJECT
10 |
11 | private slots:
12 | void readImage_data();
13 | void readImage();
14 | void readCorruptImage_data();
15 | void readCorruptImage();
16 | };
17 |
18 | void tst_qmng::readImage_data()
19 | {
20 | QTest::addColumn("fileName");
21 | QTest::addColumn("size");
22 |
23 | QTest::newRow("animation") << QString("animation.mng") << QSize(100, 100);
24 | QTest::newRow("ball") << QString("ball.mng") << QSize(32, 32);
25 | QTest::newRow("dutch") << QString("dutch.mng") << QSize(352, 264);
26 | QTest::newRow("fire") << QString("fire.mng") << QSize(30, 60);
27 | }
28 |
29 | void tst_qmng::readImage()
30 | {
31 | QFETCH(QString, fileName);
32 | QFETCH(QSize, size);
33 |
34 | QString path = QString(":/mng/") + fileName;
35 | QBENCHMARK {
36 | QImageReader reader(path);
37 | QVERIFY(reader.canRead());
38 | QImage image = reader.read();
39 | QVERIFY(!image.isNull());
40 | QCOMPARE(image.size(), size);
41 | }
42 | }
43 |
44 | void tst_qmng::readCorruptImage_data()
45 | {
46 | QTest::addColumn("fileName");
47 | QTest::addColumn("message");
48 |
49 | QTest::newRow("corrupt")
50 | << QString("corrupt.mng")
51 | << QString("MNG error 901: Application signalled I/O error; chunk IHDR; subcode 0:0");
52 | }
53 |
54 | void tst_qmng::readCorruptImage()
55 | {
56 | QFETCH(QString, fileName);
57 | QFETCH(QString, message);
58 |
59 | QString path = QString(":/mng/") + fileName;
60 | QBENCHMARK {
61 | QImageReader reader(path);
62 | if (!message.isEmpty())
63 | QTest::ignoreMessage(QtWarningMsg, message.toLatin1());
64 | QVERIFY(reader.canRead());
65 | QImage image = reader.read();
66 | QVERIFY(image.isNull());
67 | }
68 | }
69 |
70 | QTEST_MAIN(tst_qmng)
71 | #include "tst_qmng.moc"
72 |
--------------------------------------------------------------------------------
/src/imageformats/doc/qtimageformats.qdocconf:
--------------------------------------------------------------------------------
1 | include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
2 | include($QT_INSTALL_DOCS/config/exampleurl-qtimageformats.qdocconf)
3 |
4 | # Name of the project.
5 | project = QtImageFormats
6 | description = Qt Image Formats Documentation
7 | version = $QT_VERSION
8 |
9 | # Instruct Clang to not look for a module header
10 | moduleheader =
11 |
12 | # Directories in which to search for files to document.
13 | # Paths are relative to the location of this file.
14 | # exampledirs += ../examples
15 | # headerdirs +=
16 | # imagedirs += images
17 | sourcedirs += src
18 |
19 | depends += qtcore qtgui qtdoc
20 |
21 | # The following parameters are for creating a qhp file, the qhelpgenerator
22 | # program can convert the qhp file into a qch file which can be opened in
23 | # Qt Assistant and/or Qt Creator.
24 |
25 | # Defines the name of the project. You cannot use operators (+, =, -) in
26 | # the name. Properties for this project are set using a qhp..property
27 | # format.
28 | qhp.projects = QtImageFormats
29 |
30 | # Sets the name of the output qhp file.
31 | qhp.QtImageFormats.file = qtimageformats.qhp
32 |
33 | # Namespace for the output file. This namespace is used to distinguish between
34 | # different documentation files in Creator/Assistant. The namespace ends with
35 | # a version being a number containing a major, minor and revision element.
36 | # E.g. version 1.0 becomes 100.
37 | qhp.QtImageFormats.namespace = org.qt-project.qtimageformats.$QT_VERSION_TAG
38 |
39 | # Title for the package, will be the main title for the package in
40 | # Assistant/Creator.
41 | qhp.QtImageFormats.indexTitle = Qt Image Formats
42 |
43 | # Only update the name of the project for the next variables.
44 | qhp.QtImageFormats.virtualFolder = qtimageformats
45 |
46 | qhp.QtImageFormats.subprojects = list
47 | qhp.QtImageFormats.subprojects.list.title = Qt Image Formats
48 | qhp.QtImageFormats.subprojects.list.indexTitle = Qt Image Formats
49 | qhp.QtImageFormats.subprojects.list.type = manual
50 |
51 | navigation.landingpage = "Qt Image Formats"
52 |
53 | # Allow zero warnings when testing documentation in CI
54 | warninglimit = 0
55 |
--------------------------------------------------------------------------------
/dist/changes-5.12.0:
--------------------------------------------------------------------------------
1 | Qt 5.12 introduces many new features and improvements as well as bugfixes
2 | over the 5.11.x series. For more details, refer to the online documentation
3 | included in this distribution. The documentation is also available online:
4 |
5 | https://doc.qt.io/qt-5/index.html
6 |
7 | The Qt version 5.12 series is binary compatible with the 5.11.x series.
8 | Applications compiled for 5.11 will continue to run with 5.12.
9 |
10 | Some of the changes listed in this file include issue tracking numbers
11 | corresponding to tasks in the Qt Bug Tracker:
12 |
13 | https://bugreports.qt.io/
14 |
15 | Each of these identifiers can be entered in the bug tracker to obtain more
16 | information about a particular change.
17 |
18 | ****************************************************************************
19 | * TIFF *
20 | ****************************************************************************
21 |
22 | - A number of security-related upstream patches has been applied to the
23 | bundled libtiff
24 | - Added reading support for 16 bits per channel (rgb48/rgba64) files
25 | - [QTBUG-70820] Larger strip size when writing, for improved compression
26 |
27 | ****************************************************************************
28 | * WebP *
29 | ****************************************************************************
30 |
31 | - [QTBUG-48628] Retain non-alpha format on reading and writing.
32 | - Use default compression setting for lossless (quality==100) writing
33 |
34 | ****************************************************************************
35 | * Third-Party Code *
36 | ****************************************************************************
37 |
38 | - The unmaintained bundled libmng has been removed. Building the mng
39 | handler will require libmng to be present as a system or external
40 | library.
41 | - The unmaintained bundled libjasper has been removed. Building the jp2
42 | handler will require libjasper to be present as a system or external
43 | library.
44 |
--------------------------------------------------------------------------------
/tests/auto/mng/tst_qmng.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3 |
4 | #include
5 | #include
6 |
7 | class tst_qmng: public QObject
8 | {
9 | Q_OBJECT
10 |
11 | private slots:
12 | void initTestCase();
13 | void readImage_data();
14 | void readImage();
15 | void readCorruptImage_data();
16 | void readCorruptImage();
17 | };
18 |
19 | void tst_qmng::initTestCase()
20 | {
21 | if (!QImageReader::supportedImageFormats().contains("mng"))
22 | QSKIP("The image format handler is not installed.");
23 | }
24 |
25 | void tst_qmng::readImage_data()
26 | {
27 | QTest::addColumn("fileName");
28 | QTest::addColumn("size");
29 |
30 | QTest::newRow("animation") << QString("animation.mng") << QSize(100, 100);
31 | QTest::newRow("ball") << QString("ball.mng") << QSize(32, 32);
32 | QTest::newRow("dutch") << QString("dutch.mng") << QSize(352, 264);
33 | QTest::newRow("fire") << QString("fire.mng") << QSize(30, 60);
34 | }
35 |
36 | void tst_qmng::readImage()
37 | {
38 | QFETCH(QString, fileName);
39 | QFETCH(QSize, size);
40 |
41 | QString path = QString(":/mng/") + fileName;
42 | QImageReader reader(path);
43 | QVERIFY(reader.canRead());
44 | QImage image = reader.read();
45 | QVERIFY(!image.isNull());
46 | QCOMPARE(image.size(), size);
47 | }
48 |
49 | void tst_qmng::readCorruptImage_data()
50 | {
51 | QTest::addColumn("fileName");
52 | QTest::addColumn("message");
53 |
54 | QTest::newRow("corrupt")
55 | << QString("corrupt.mng")
56 | << QString("MNG error 901: Application signalled I/O error; chunk IHDR; subcode 0:0");
57 | }
58 |
59 | void tst_qmng::readCorruptImage()
60 | {
61 | QFETCH(QString, fileName);
62 | QFETCH(QString, message);
63 |
64 | QString path = QString(":/mng/") + fileName;
65 | QImageReader reader(path);
66 | if (!message.isEmpty())
67 | QTest::ignoreMessage(QtWarningMsg, message.toLatin1());
68 | QVERIFY(reader.canRead());
69 | QImage image = reader.read();
70 | QVERIFY(image.isNull());
71 | }
72 |
73 | QTEST_MAIN(tst_qmng)
74 | #include "tst_qmng.moc"
75 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/macjp2/qmacjp2handler.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 | // Qt-Security score:critical reason:data-parser
4 |
5 | #include "qmacjp2handler.h"
6 | #include "qiiofhelpers_p.h"
7 | #include
8 |
9 | QT_BEGIN_NAMESPACE
10 |
11 | using namespace NS_IIOF_HELPERS;
12 |
13 | class QMacJp2HandlerPrivate
14 | {
15 | Q_DECLARE_PUBLIC(QMacJp2Handler)
16 | Q_DISABLE_COPY(QMacJp2HandlerPrivate)
17 | public:
18 | QMacJp2HandlerPrivate(QMacJp2Handler *q_ptr)
19 | : writeQuality(-1), q_ptr(q_ptr)
20 | {}
21 |
22 | int writeQuality;
23 | QMacJp2Handler *q_ptr;
24 | };
25 |
26 |
27 | QMacJp2Handler::QMacJp2Handler()
28 | : d_ptr(new QMacJp2HandlerPrivate(this))
29 | {
30 | }
31 |
32 | QMacJp2Handler::~QMacJp2Handler()
33 | {
34 | }
35 |
36 | bool QMacJp2Handler::canRead(QIODevice *iod)
37 | {
38 | bool bCanRead = false;
39 | char buf[12];
40 | if (iod && iod->peek(buf, 12) == 12)
41 | bCanRead = !memcmp(buf, "\000\000\000\fjP \r\n\207\n", 12);
42 | return bCanRead;
43 | }
44 |
45 | bool QMacJp2Handler::canRead() const
46 | {
47 | if (canRead(device())) {
48 | setFormat("jp2");
49 | return true;
50 | }
51 | return false;
52 | }
53 |
54 | bool QMacJp2Handler::read(QImage *image)
55 | {
56 | return QIIOFHelpers::readImage(this, image);
57 | }
58 |
59 | bool QMacJp2Handler::write(const QImage &image)
60 | {
61 | return QIIOFHelpers::writeImage(this, image, QStringLiteral("public.jpeg-2000"));
62 | }
63 |
64 | QVariant QMacJp2Handler::option(ImageOption option) const
65 | {
66 | Q_D(const QMacJp2Handler);
67 | if (option == Quality)
68 | return QVariant(d->writeQuality);
69 | return QVariant();
70 | }
71 |
72 | void QMacJp2Handler::setOption(ImageOption option, const QVariant &value)
73 | {
74 | Q_D(QMacJp2Handler);
75 | if (option == Quality) {
76 | bool ok;
77 | const int quality = value.toInt(&ok);
78 | if (ok)
79 | d->writeQuality = quality;
80 | }
81 | }
82 |
83 | bool QMacJp2Handler::supportsOption(ImageOption option) const
84 | {
85 | return (option == Quality);
86 | }
87 |
88 | QT_END_NAMESPACE
89 |
--------------------------------------------------------------------------------
/src/3rdparty/libwebp/src/utils/random_utils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013 Google Inc. All Rights Reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license
4 | // that can be found in the COPYING file in the root of the source
5 | // tree. An additional intellectual property rights grant can be found
6 | // in the file PATENTS. All contributing project authors may
7 | // be found in the AUTHORS file in the root of the source tree.
8 | // -----------------------------------------------------------------------------
9 | //
10 | // Pseudo-random utilities
11 | //
12 | // Author: Skal (pascal.massimino@gmail.com)
13 |
14 | #ifndef WEBP_UTILS_RANDOM_UTILS_H_
15 | #define WEBP_UTILS_RANDOM_UTILS_H_
16 |
17 | #include
18 |
19 | #include "src/webp/types.h"
20 |
21 | #ifdef __cplusplus
22 | extern "C" {
23 | #endif
24 |
25 | #define VP8_RANDOM_DITHER_FIX 8 // fixed-point precision for dithering
26 | #define VP8_RANDOM_TABLE_SIZE 55
27 |
28 | typedef struct {
29 | int index1, index2;
30 | uint32_t tab[VP8_RANDOM_TABLE_SIZE];
31 | int amp;
32 | } VP8Random;
33 |
34 | // Initializes random generator with an amplitude 'dithering' in range [0..1].
35 | void VP8InitRandom(VP8Random* const rg, float dithering);
36 |
37 | // Returns a centered pseudo-random number with 'num_bits' amplitude.
38 | // (uses D.Knuth's Difference-based random generator).
39 | // 'amp' is in VP8_RANDOM_DITHER_FIX fixed-point precision.
40 | static WEBP_INLINE int VP8RandomBits2(VP8Random* const rg, int num_bits,
41 | int amp) {
42 | int diff;
43 | assert(num_bits + VP8_RANDOM_DITHER_FIX <= 31);
44 | diff = rg->tab[rg->index1] - rg->tab[rg->index2];
45 | if (diff < 0) diff += (1u << 31);
46 | rg->tab[rg->index1] = diff;
47 | if (++rg->index1 == VP8_RANDOM_TABLE_SIZE) rg->index1 = 0;
48 | if (++rg->index2 == VP8_RANDOM_TABLE_SIZE) rg->index2 = 0;
49 | // sign-extend, 0-center
50 | diff = (int)((uint32_t)diff << 1) >> (32 - num_bits);
51 | diff = (diff * amp) >> VP8_RANDOM_DITHER_FIX; // restrict range
52 | diff += 1 << (num_bits - 1); // shift back to 0.5-center
53 | return diff;
54 | }
55 |
56 | static WEBP_INLINE int VP8RandomBits(VP8Random* const rg, int num_bits) {
57 | return VP8RandomBits2(rg, num_bits, rg->amp);
58 | }
59 |
60 | #ifdef __cplusplus
61 | } // extern "C"
62 | #endif
63 |
64 | #endif // WEBP_UTILS_RANDOM_UTILS_H_
65 |
--------------------------------------------------------------------------------
/src/plugins/imageformats/tga/qtgahandler.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2016 The Qt Company Ltd.
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3 | // Qt-Security score:critical reason:data-parser
4 |
5 | #include "qtgahandler.h"
6 | #include "qtgafile.h"
7 |
8 | #include
9 | #include
10 | #include
11 |
12 | QT_BEGIN_NAMESPACE
13 |
14 | QTgaHandler::QTgaHandler()
15 | : QImageIOHandler()
16 | , tga(0)
17 | {
18 | }
19 |
20 | QTgaHandler::~QTgaHandler()
21 | {
22 | delete tga;
23 | }
24 |
25 | bool QTgaHandler::canRead() const
26 | {
27 | if (!tga)
28 | tga = new QTgaFile(device());
29 | if (tga->isValid())
30 | {
31 | setFormat("tga");
32 | return true;
33 | }
34 | qWarning("QTgaHandler::canRead(): %s", qPrintable(tga->errorMessage()));
35 | return false;
36 | }
37 |
38 | bool QTgaHandler::canRead(QIODevice *device)
39 | {
40 | if (!device) {
41 | qWarning("QTgaHandler::canRead() called with no device");
42 | return false;
43 | }
44 |
45 | // TGA reader implementation needs a seekable QIODevice, so
46 | // sequential devices are not supported
47 | if (device->isSequential())
48 | return false;
49 | qint64 pos = device->pos();
50 | bool isValid;
51 | {
52 | QTgaFile tga(device);
53 | isValid = tga.isValid();
54 | }
55 | device->seek(pos);
56 | return isValid;
57 | }
58 |
59 | bool QTgaHandler::read(QImage *image)
60 | {
61 | if (!canRead())
62 | return false;
63 | *image = tga->readImage();
64 | return !image->isNull();
65 | }
66 |
67 | QVariant QTgaHandler::option(ImageOption option) const
68 | {
69 | if (option == Size && canRead()) {
70 | return tga->size();
71 | } else if (option == CompressionRatio) {
72 | return tga->compression();
73 | } else if (option == ImageFormat) {
74 | return QImage::Format_ARGB32;
75 | }
76 | return QVariant();
77 | }
78 |
79 | void QTgaHandler::setOption(ImageOption option, const QVariant &value)
80 | {
81 | Q_UNUSED(option);
82 | Q_UNUSED(value);
83 | }
84 |
85 | bool QTgaHandler::supportsOption(ImageOption option) const
86 | {
87 | return option == CompressionRatio
88 | || option == Size
89 | || option == ImageFormat;
90 | }
91 |
92 | QT_END_NAMESPACE
93 |
--------------------------------------------------------------------------------