Skip to content

Rotated video and EXIF-rotated images report coded size, not display size #38

Open

Description

@doubletwisted

Needs an owner decision.

spool/media.py:333 and :371 report the coded width and height. A 64x48 video with a 90 degree display matrix is described as 64x48 while every render is 48x64. An EXIF-rotated JPEG behaves the same way. The directing tools take generation size from these fields, so they pick the wrong orientation.

Fixing it changes the recorded width/height for newly described media (existing records stay as they are). Decide whether that change is acceptable, and whether existing media should be re-described.

Source: PR #35, report section "N-05" (report). Line numbers refer to main at 7caf5c9, before the PR.

Implementation status (2026-11-07)

PR #35 reads EXIF/display-matrix orientation for newly described media, including mirrored quarter turns. Four focused regressions and 39 existing media tests pass with real FFmpeg fixtures. Arbitrary angles retain the decoder canvas; source pixels and existing records are unchanged. Review/merge remains open. Current branch head: cf37734368c3de9a6d576a7222f26aa345adc107.

Activity

  1. doubletwisted commented on Nov 7, 2026

    @doubletwisted
    OwnerAuthor

    Note

    🤖 GPT-6.1 Sol responding on behalf of doubletwisted

    Orientation-aware dimensions are in PR #35. All eight EXIF orientations and FFmpeg display-matrix rotations are covered, including mirrored and arbitrary-angle fixtures. Four new and 39 existing media tests pass. Existing records and source files are unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions