Support #1151

Small raw images size

Added by Wil Hermes over 1 year ago. Updated over 1 year ago.

Status:ClosedStart date:10 Jan 2016
Priority:NormalDue date:
Assignee:Robin Mills% Done:

100%

Category:basicioEstimated time:4.00 hours
Target version:0.26

Description

Hello,

I've found that geeqie program is using probably exiv2 and it's detecting and displaying images in wrong (small) size. Every raw image is detected as 160x120(120x160). I was trying to find solution for this, but with no help. I tried different raw formats (pentax, olympus) and result is still the same. i use dng and i can provide some image and command line results here.

Any help from your site will be appriciated, i have to reboot to windows for displaying new photos i've taken...

Thank you!

_IGP9859.DNG - Sample raw image (14.2 MB) Wil Hermes, 14 Jan 2016 21:47

screen-raw.png - Geegie screenshot (190 KB) Wil Hermes, 14 Jan 2016 21:47


Related issues

Related to Exiv2 - Feature #1153: Sony ILCE-6000 + Sony E 50mm F1.8 OSS .JPG files without ... Closed 11 Jan 2016

History

#1 Updated by Robin Mills over 1 year ago

  • Tracker changed from Bug to Support
  • Category set to basicio
  • Assignee set to Robin Mills
  • Target version set to 0.26

Wil

Please provide some sample files, and your command-lines and I will investigate. Please run the command:

$ exiv2 --verbose --version
and paste the output into this issue report.

#2 Updated by Robin Mills over 1 year ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 50
  • Estimated time set to 3.00

I had never heard of geeqie. I thought it was a spelling mistake! However it was mentioned in #1153 (which is a Lens identification issue). I asked Tim (who reported #1153) about your issue and he replied:

.. not a problem. Geeqie is not a RAW converter and simply displays the JPG thumbnail in RAW files. For my files the cameras .JPGs are 6000x4000 whereas the thumbnails in RAW files get displayed in Geeqie with 1616x1080. Everything working perfect. (exiv2 0.23 + geeqie 1.1 http://geeqie.sourceforge.net/)


I've installed geequi on ubuntu 15.04 (sudo apt-get install geeqie) and I am running geeqie 1.2 and using exiv2 library (current trunk):

1061 rmills@rmillsmbp-k1504:~ $ lsof | grep exiv2
geeqie    15047                 rmills  mem       REG                8,1    58744    3019683 /usr/share/locale-langpack/en_GB/LC_MESSAGES/exiv2.mo
geeqie    15047                 rmills  mem       REG                8,1  3160704    3017551 /usr/local/lib/libexiv2.so.14.0.0
1062 rmills@rmillsmbp-k1504:~ $ 
geeqie appears to be working OK for me. While this issue may be caused by Exiv2, you should report it to Team Geeqie. I am not well positioned to identify a bug in an application I have never used.

Can you:
  1. Update your version of geeqie
  2. Report this to geeqie
  3. Provide more information (platform, version of geeqie , version of libexiv2)
  4. Provide a more detailed description of the issue, so that I can reproduce it
  5. Provide test files

#3 Updated by Robin Mills over 1 year ago

  • % Done changed from 50 to 100

I've been successful in building geeqie on MacOS-X using Mac Ports. I've been able to reproduce the experience of Tim (reported in #1153). Mac Ports installs v1.1 and uses /opt/local/lib/libexiv2.13.0.0.dylib (which is exiv2 v0.24). It has no difficulty display the previews (1600x1000 or something) in Tim's ARW files which are available at svn://dev.exiv2.org/svn/testdata/trunk/1153

There is insufficient information to pursue this matter further. I am going to mark this 100% resolved. This issue will be closed in February if no further information is provided.

#4 Updated by Wil Hermes over 1 year ago

Robin Mills wrote:

I've been successful in building geeqie on MacOS-X using Mac Ports. I've been able to reproduce the experience of Tim (reported in #1153). Mac Ports installs v1.1 and uses /opt/local/lib/libexiv2.13.0.0.dylib (which is exiv2 v0.24). It has no difficulty display the previews (1600x1000 or something) in Tim's ARW files which are available at svn://dev.exiv2.org/svn/testdata/trunk/1153

There is insufficient information to pursue this matter further. I am going to mark this 100% resolved. This issue will be closed in February if no further information is provided.

Thank you for reply!

problem is not related just to geeqie, but it is wron displayed even with gthumb and other image viewers.

platform: linux Gnome Ubuntu 15.10
$ apt-cache show exiv2 | grep Version
Version: 0.25-1ubuntu1

$ exiv2 --verbose --version
exiv2 0.25 001900 (64 bit build)
Copyright (C) 2004-2015 Andreas Huggel.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA
exiv2=0.25.0
platform=linux
compiler=G++
bits=64
dll=1
debug=0
version=5.2.1 20150729
date=Aug 5 2015
time=15:26:19
svn=0
ssh=0
curl=0
id=$Id: version.cpp 3800 2015-05-08 22:26:36Z robinwmills $
executable=/usr/bin/exiv2
library=/usr/lib/x86_64-linux-gnu/libexiv2.so.14
library=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
library=/lib/x86_64-linux-gnu/libgcc_s.so.1
library=/lib/x86_64-linux-gnu/libc.so.6
library=/lib/x86_64-linux-gnu/libz.so.1
library=/lib/x86_64-linux-gnu/libexpat.so.1
library=/lib/x86_64-linux-gnu/libdl.so.2
library=/lib/x86_64-linux-gnu/libm.so.6
library=/lib64/ld-linux-x86-64.so.2
have_regex=1
have_strerror_r=1
have_gmtime_r=1
have_inttypes=1
have_libintl=1
have_lensdata=1
have_iconv=1
have_memory=1
have_memset=1
have_lstat=1
have_stdbool=1
have_stdint=1
have_stdlib=1
have_strlib=0
have_strchr=1
have_strerror=1
have_strerror_r=1
have_strings_h=0
have_strtol=1
have_mmap=1
have_munmap=1
have_sys_stat=1
have_timegm=1
have_unistd_h=0
have_sys_mman=1
have_libz=0
have_xmptoolkit=1
have_bool=1
have_strings=1
have_sys_types=1
have_unistd=1
have_unicode_path=0
enable_video=0
enable_webready=0

screenshot and sample file is attached

Thank you!

#5 Updated by Robin Mills over 1 year ago

  • % Done changed from 100 to 70

Thanks, Wil. I'll look at this tomorrow. It's 22:56 in England. Time for bed.

#6 Updated by Robin Mills over 1 year ago

  • % Done changed from 70 to 80
  • Estimated time changed from 3.00 to 4.00

Wil

I don't think Exiv2 is causing this. There are multiple preview images embedded in your file:

$ exiv2 -pp ~/Downloads/_IGP9859.DNG 
Preview 1: image/tiff, 160x120 pixels, 57600 bytes
Preview 2: image/jpeg, 640x480 pixels, 33940 bytes
Preview 3: image/tiff, 4928x3264 pixels, 1181017 bytes
$ 
Unfortunately, I can't find the command to remove a preview, although I thought that was in the code. If we can find a way to remove the small preview (or resequence the previews) presumably that would fix things.

#7 Updated by Robin Mills over 1 year ago

I've thought of a quick way to fix this! Sort the preview images in the opposite order, then the apps will use the largest preview!

$ exiv2 -pp ~/Downloads/_IGP9859.DNG 
Preview 1: image/tiff, 4928x3264 pixels, 1181017 bytes
Preview 2: image/jpeg, 640x480 pixels, 33940 bytes
Preview 3: image/tiff, 160x120 pixels, 57600 bytes
$ 
The fix is in src/preview.cpp:
$ svn diff src/preview.cpp 
Index: src/preview.cpp
===================================================================
--- src/preview.cpp    (revision 4181)
+++ src/preview.cpp    (working copy)
@@ -61,7 +61,7 @@
         uint32_t l = lhs.width_ * lhs.height_;
         uint32_t r = rhs.width_ * rhs.height_;

-        return l < r;
+        return l > r;
     }

     /*!
$ 
I not going to submit this code. I'd like you to build and try it. Let's see if this fixes things.

I didn't write exiv2. I'm the project build engineer. I've had a look at the preview code. We don't have any code to erase previews. And, as I've never looked at that part of the code, I don't know how much effort is required to implement that. I already have a lot of work to finish v0.26, so adding this capability probably cannot be undertaken at the moment.

#8 Updated by Wil Hermes over 1 year ago

Thank you, Robin! I don't think that erase of preview is something that is really necessary, but just "skiping" of it might be enough, if it is possible..

Wil

Robin Mills wrote:

I've thought of a quick way to fix this! Sort the preview images in the opposite order, then the apps will use the largest preview! [...]The fix is in src/preview.cpp:[...]I not going to submit this code. I'd like you to build and try it. Let's see if this fixes things.

I didn't write exiv2. I'm the project build engineer. I've had a look at the preview code. We don't have any code to erase previews. And, as I've never looked at that part of the code, I don't know how much effort is required to implement that. I already have a lot of work to finish v0.26, so adding this capability probably cannot be undertaken at the moment.

#9 Updated by Robin Mills over 1 year ago

  • Status changed from Resolved to Closed
  • % Done changed from 80 to 100

I'm closing this issue to help me focus on other matters. I don't know if my suggestion worked. Change src/preview.cpp from:

   bool cmpPreviewProperties(
        const PreviewProperties& lhs,
        const PreviewProperties& rhs
    )
    {
        uint32_t l = lhs.width_ * lhs.height_;
        uint32_t r = rhs.width_ * rhs.height_;

        return l < r;
    }
to:
   bool cmpPreviewProperties(
        const PreviewProperties& lhs,
        const PreviewProperties& rhs
    )
    {
        uint32_t l = lhs.width_ * lhs.height_;
        uint32_t r = rhs.width_ * rhs.height_;

        return l > r;
    }
Wil: If you wish to discuss this further, please update and I'll reopen this issue.

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux