Faster blurhash decode

This commit is contained in:
Nicolas Werner 2024-01-07 21:52:20 +01:00
parent 96c4d05730
commit 392c07adbe
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9

View file

@ -22,9 +22,14 @@ BlurhashRunnable::run()
return;
}
auto blurhashDecodeSize = m_requestedSize;
if (blurhashDecodeSize.height() > 100 && blurhashDecodeSize.width() > 100) {
blurhashDecodeSize.scale(100, 100, Qt::AspectRatioMode::KeepAspectRatio);
}
auto decoded = blurhash::decode(QUrl::fromPercentEncoding(m_id.toUtf8()).toStdString(),
m_requestedSize.width(),
m_requestedSize.height());
blurhashDecodeSize.width(),
blurhashDecodeSize.height());
if (decoded.image.empty()) {
emit error(QStringLiteral("Failed decode!"));
return;
@ -36,5 +41,7 @@ BlurhashRunnable::run()
(int)decoded.width * 3,
QImage::Format_RGB888);
image = image.scaled(m_requestedSize);
emit done(image.convertToFormat(QImage::Format_RGB32));
}