In Qt 5.0 timeframe, support for downscaled reading was added to the png handler, as a help for devices with very limited memory. Instead of decoding the whole image into memory and then scaling it down (as happens for most image formats if scaled reading is requested), a separate reading function was added that would perform line-by-line decoding and downscaling. Although this provides a transient memory saving during decoding, it has a number of drawbacks: - The scaling routine is simplistic and can create artifacts for images with transparency, ref. the linked bug report - The scaled result from the png handler is in general different from the result of using the common QImage smoothscaling function - The line-by-line scaling function is generally slower than the common smoothscaling function, since the latter is optimized using SSE/NEON extensions - It adds a redundant implementation of image scaling to the code base Hence we drop this functionalty going forward. This effectively reverts 44a9c08eff0647f398863de55e2b62dbd6541e27. [ChangeLog][QtGui][Image I/O] The PNG handler no longer implements progressive downscaling during decoding when scaled image reading is requested. Fixes: QTBUG-121724 Change-Id: I7b524b12c174c64201b98945ee2fa062ed127f87 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit a2a315eaa28edf9c649e13c951fdb1154e3ddf48) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> |
||
|---|---|---|
| .. | ||
| baseline | ||
| images | ||
| .gitignore | ||
| BLACKLIST | ||
| CMakeLists.txt | ||
| android_testdata.qrc | ||
| tst_qimagereader.cpp | ||