Bug 150534 - xzgv --exif-orient doesn't work
Summary: xzgv --exif-orient doesn't work
Status: VERIFIED FIXED
Alias: None
Product: openSUSE 11.3
Classification: openSUSE
Component: X11 Applications (show other bugs)
Version: Final
Hardware: Other Other
: P3 - Medium : Normal (vote)
Target Milestone: Final
Assignee: Joerg Reuter
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-13 18:05 UTC by Harald Koenig
Modified: 2011-05-03 12:16 UTC (History)
0 users

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
test image (1.93 MB, image/jpeg)
2006-02-14 15:44 UTC, Harald Koenig
Details
patch to read exif data (again) (2.45 KB, patch)
2011-01-15 11:32 UTC, Harald Koenig
Details | Diff
use libexif to read EXIF orientation for JPEG and TIFF (3.04 KB, patch)
2011-04-18 15:47 UTC, Joerg Reuter
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Harald Koenig 2006-02-13 18:05:30 UTC
xzgv option "--exif-orient" doesn't work anymore for pictures of my CANON IXUS 400.  


SUSE 10.0 xzgv-0.8-117 shows the same problem already, while SUSE 9.3 xzgv-0.8-115 works fine with "--exif-orient" (always used the same image file)
Comment 1 Michael Gross 2006-02-14 14:10:21 UTC
Can you attach a test-picture for testing purposes?
Comment 2 Harald Koenig 2006-02-14 15:44:54 UTC
Created attachment 68395 [details]
test image

xzgv --exif-orient img_9152.jpg

doesn't show in portrait mode
Comment 3 Michael Gross 2006-02-14 16:12:00 UTC
Reassigning to the maintainer
Comment 4 Joerg Reuter 2006-02-14 17:50:48 UTC
Ah, thanks. This was introduced by the adjustments necessary to compile with GCC4: I missed to add two typecasts. Without them xzgv does not handle JPEG messages by itself (as it does not recognize them) but hands them over to libImageMagick, which apparently does not know about EXIF. I've submitted the patch but I cannot guarantee whether it was in time for 10.1...
Comment 5 Harald Koenig 2010-09-17 14:00:37 UTC
it's back again :-(( 

--exif-orient doesn't work anymore in 11.3!

it worked fine in both 11.1 and 11.2!
Comment 6 Joerg Reuter 2010-10-26 16:20:07 UTC
Sorry for the late answer. It's because xzgv-0.9.1 uses glib/gdk to load and view the images, and those routines do not evaluate exif data. This has to be fixed upstream, I'm afraid. As the project is pretty dead, I don't think this is gonna happen, though.
Comment 7 Harald Koenig 2011-01-15 11:32:21 UTC
Created attachment 408518 [details]
patch to read exif data (again)

code directly from readjpeg.c from xzgv-0.8
Comment 8 Harald Koenig 2011-01-15 11:34:34 UTC
(In reply to comment #6)
> Sorry for the late answer. It's because xzgv-0.9.1 uses glib/gdk to load and
> view the images, and those routines do not evaluate exif data. This has to be
> fixed upstream, I'm afraid. As the project is pretty dead, I don't think this
> is gonna happen, though.

so I have to do it myself :-(  
voila:

the attached patch "works for me" -- I just copied the code from old xzgv-0.8 from file readjpeg.c ...

so maybe there is a chance to get xzgv back into factory?!  (as I just noticed that factory doesn't ship xzgv anymore:-(
Comment 9 Harald Koenig 2011-01-15 12:01:16 UTC
please apply the fix for exif-orient and add xzgv to factory and 11.4++ -- pleeeease!!! ;-)
Comment 10 Joerg Reuter 2011-04-18 15:47:35 UTC
Created attachment 425443 [details]
use libexif to read EXIF orientation for JPEG and TIFF

Okay, okay... I finally got around to make it go again. I have to admit I'm not very fond of reintroducing low level image operations. It is hard to maintain and is a horror to our security guys... A better approach is to use libexif, in my opinion. I haven't fully tested all orientations (just standard landscape and portrait), though.

Harald, does this work for you? Test packages are at
http://download.opensuse.org/repositories/home:/jreuter:/branches:/home:/jreuter:/Factory/ for now.
Comment 11 Harald Koenig 2011-04-18 16:36:21 UTC
(In reply to comment #10)
> Created an attachment (id=425443) [details]
> use libexif to read EXIF orientation for JPEG and TIFF
> 
> Okay, okay... I finally got around to make it go again. I have to admit I'm not
> very fond of reintroducing low level image operations. It is hard to maintain
> and is a horror to our security guys... A better approach is to use libexif, in
> my opinion. I haven't fully tested all orientations (just standard landscape
> and portrait), though.

agreed, that's a much better solution!

> Harald, does this work for you? Test packages are at
> http://download.opensuse.org/repositories/home:/jreuter:/branches:/home:/jreuter:/Factory/
> for now.

ACK! seems to work fine for me [tm].  

here is some statistics about the "tested" images, all showed up with correct orientation:

exif * | grep -i orien |sort | uniq -c
    122 Orientation         |Left-bottom
     24 Orientation         |Right-top
    266 Orientation         |Top-left


thanks!
Comment 12 Bernhard Wiedemann 2011-05-03 12:00:10 UTC
This is an autogenerated message for OBS integration:
This bug (150534) was mentioned in
https://build.opensuse.org/request/show/69375 Factory / xzgv
Comment 13 Joerg Reuter 2011-05-03 12:16:32 UTC
Accepted in Factory (as mentioned in previous comment).