avif: read performance improvements

This commit is contained in:
Daniel Novomeský
2022-06-20 18:50:03 +02:00
parent 2aec1d3926
commit cf375a207f
2 changed files with 113 additions and 61 deletions

View File

@ -13,6 +13,7 @@
#include <QImage>
#include <QImageIOPlugin>
#include <QPointF>
#include <QSize>
#include <QVariant>
#include <avif/avif.h>
#include <qimageiohandler.h>
@ -45,6 +46,7 @@ public:
private:
static QPointF CompatibleChromacity(qreal chrX, qreal chrY);
bool ensureParsed() const;
bool ensureOpened() const;
bool ensureDecoder();
bool decode_one_frame();
@ -52,6 +54,7 @@ private:
ParseAvifError = -1,
ParseAvifNotParsed = 0,
ParseAvifSuccess = 1,
ParseAvifMetadata = 2,
};
ParseAvifState m_parseState;
@ -59,6 +62,7 @@ private:
uint32_t m_container_width;
uint32_t m_container_height;
QSize m_estimated_dimensions;
QByteArray m_rawData;
avifROData m_rawAvifData;