FAILURE MAP
← Case archive

FA-79033 / Image orientation metadata / Member archive

Video rotation matrix is read with math-axis orientation · case 03

Portrait phone videos play upside down: 90 and 270 degree tracks are exchanged.

Member previewVariant 3 · 3 implementations · 8 checks per implementation

Case contract

Input [matrix, width, height] where matrix is the [a, b, c, d] part of a track display matrix stored as unsigned 32-bit 16.16 fixed-point words (x' = a*x + c*y, y' = b*x + d*y, screen y down). Only signed permutation matrices of unit entries are supported, otherwise "unsupported". A negative determinant means a left-right mirror applied before the rotation; the clockwise rotation is read from the image of the x axis after removing the mirror. Return rotate (0/90/180/270), mirror and the displayed [width, height].

Why this case matters

Camera, phone and scanner images carry an orientation hint separately from the stored pixels; galleries, thumbnailers, editors and upload pipelines must interpret it consistently or photos appear sideways, mirrored or doubly rotated.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
regression: quarter-turn direction table 0{"display": [3689, 967], "mirror": true, "rotate": 90}{"display": [3689, 967], "mirror": true, "rotate": 270}Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗