Page MenuHomePhabricator

MediaWiki uses XMP data in addition to IFD0:Orientation to determine orientation
Closed, ResolvedPublic

Description

Author: saibotrash

Description:
( Similar to Bug #31487 )

[[:commons:File:David_Andrew_Jenkins_and_XAPP.jpg]] had (according to ExifTool) XMP-tiff:Orientation set to 8. XMP is IPTC Core (Adobe XMP)

Bug: Apparently Mediawiki uses not only IFD0:Orientation (contrary to https://bugzilla.wikimedia.org/show_bug.cgi?id=31504#c8 )

Btw: The image viewer gThumb which also rotates images based on EXIF info didn't rotate the image (correct).

own testcase... http://commons.wikimedia.org/wiki/File:AXMPtiffbeach.jpg with no EXIF data but the XMP-tiff:Orientation tag copyied over from [[:commons:File:David_Andrew_Jenkins_and_XAPP.jpg]]
Expected: the image shows up in its physical orientation (that is 90° CW).
Observed: 180°CW as MW applies apparently rotation based on the Orientation tag.

Reason: Either Mediawiki uses not only IFD0:Orientation (contrary to https://bugzilla.wikimedia.org/show_bug.cgi?id=31504#c8 ) or Exiftool and https://addons.mozilla.org/de/firefox/addon/exif-viewer/ do something really wrong here since they say that the image has no EXIF.

Problem: As we now use exiftool to read the IFD0-Orientation tag to be able to rotate images according to user expectations this breaks Rotatebot in Commons.


Version: 1.18.x
Severity: normal

Details

Reference
bz31637

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 21 2014, 11:53 PM
bzimport set Reference to bz31637.
bzimport added a subscriber: Unknown Object (MLST).

MediaWiki will use Orientation information from XMP as well (Specifically, the orientation tag in the http://ns.adobe.com/tiff/1.0/ namespace. The http://ns.adobe.com/tiff/1.0/ namespace in XMP is for encoding exif information in XMP form). If there is a conflict between the XMP tiff:Orientation and the Exif Orientation tag in ifd0, the tag in IFD0 takes priority.

I'm unsure if the current behaviour is correct or should be changed.

saibotrash wrote:

Thanks. But: Hmpf! .. that gets really complicated... That EXIF-based rotation deployment is throughout a failure. Not even the devs know what really happens - apparently. :-(

Should we adjust Rotatebot now to also take XMP into account or will this be removed in MediaWiki?

Should we adjust Rotatebot now to also take XMP into account or will this be
removed in MediaWiki?

Well in theory, if you're rotating something, you should adjust all the rotation tags for complete correctness. Adjusting the XMP will never hurt anything

As for if using XMP's tiff:Orientation should be removed from MediaWiki - Good question. I don't know what the correct thing to do here is?

saibotrash wrote:

half off topic -
(In reply to comment #3)
Bawolf: "Well in theory, if you're rotating something, you should adjust all the rotation tags for complete correctness."
(as written in IRC) There is just a minor problem: How should I know and understand any metadata format which could be used? I guess there are many more. I could strip all except jpeg data. But this would make users very unhappy.

I've disabled extracting tiff:Orientation in r99632

Gilles triaged this task as Unbreak Now! priority.Dec 4 2014, 10:10 AM
Gilles moved this task from Untriaged to Done on the Multimedia board.
Gilles lowered the priority of this task from Unbreak Now! to Needs Triage.Dec 4 2014, 11:22 AM