From 36bfee8ae32e702e47b5f64dc52241bd62aafd65 Mon Sep 17 00:00:00 2001 From: Fabian Vogt Date: Fri, 13 Sep 2024 19:16:38 +0200 Subject: [PATCH] raw: Getting the image size does not need unpacking According to the libraw documentation, the sizes are available directly after open_datastream. --- src/imageformats/raw.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/imageformats/raw.cpp b/src/imageformats/raw.cpp index a1f9b62..51ac405 100644 --- a/src/imageformats/raw.cpp +++ b/src/imageformats/raw.cpp @@ -806,12 +806,10 @@ QVariant RAWHandler::option(ImageOption option) const rawProcessor->imgdata.rawparams.shot_select = currentImageNumber(); #endif if (rawProcessor->open_datastream(&stream) == LIBRAW_SUCCESS) { - if (rawProcessor->unpack() == LIBRAW_SUCCESS) { - auto w = libraw_get_iwidth(&rawProcessor->imgdata); - auto h = libraw_get_iheight(&rawProcessor->imgdata); - // flip & 4: taken from LibRaw code - v = (rawProcessor->imgdata.sizes.flip & 4) ? QSize(h, w) : QSize(w, h); - } + auto w = libraw_get_iwidth(&rawProcessor->imgdata); + auto h = libraw_get_iheight(&rawProcessor->imgdata); + // flip & 4: taken from LibRaw code + v = (rawProcessor->imgdata.sizes.flip & 4) ? QSize(h, w) : QSize(w, h); } d->rollbackTransaction(); }