ietf-wg-cellar / matroska-specification

Matroska specification.
http://ietf-wg-cellar.github.io/matroska-specification
Other
121 stars 44 forks source link

Clarification of ProjectionPoseRoll direction #822

Open ls-2037 opened 6 months ago

ls-2037 commented 6 months ago

It's unclear what is meant by the "forward vector" in the ProjectionPoseRoll element documentation (https://www.matroska.org/technical/elements.html#ProjectionPoseRoll). As a result, some players rotate clockwise and some rotate counter-clockwise.

It is stated unambiguously in the specification notes (https://www.matroska.org/technical/notes.html#rotation) that the correct video display rotation direction for a positive ProjectionPoseRoll value is counter-clockwise. I wanted to confirm that that was the case: ProjectionPoseRoll=90 should cause the video to be rotated 90 degrees counter-clockwise during playback.

See also https://github.com/mpv-player/mpv/issues/13830.

robUx4 commented 5 months ago

Yes ProjectionPoseRoll without a pitch/yaw corresponds to a standard counter-clockwise rotation. The text comes from @dericed at bc02d123fa15dd04a9b97d892d2222eab9380b66. I assume forward means an axis going towards you as opposed to backward that would go further from you.

Not sure what a more mathematical unambiguous term could be.

kasper93 commented 5 months ago

@nevcairiel @v0lt Do you agree to implement this change in your projects? I will handle the update for mpv, but I'd like to synchronize with you both to ensure we make these changes around the same time. This coordination will help prevent confusion among users.

EDIT: Since the mpv 0.38 release is around the corner we decided to pull it in before. So there is that for waiting on others...

v0lt commented 5 months ago

Do you agree to implement this change in your projects?

I would like to see 2 MKV reference samples rotated by +90 and -90 degrees. A good sample would be a vertical video shot on a regular smartphone and converted to MKV.

v0lt commented 5 months ago

https://github.com/hubblec4/Matroska-Playback/blob/master/src/Rotate.md

These samples are bad because all files have the same video stream, which looks correct when nothing is rotated.

I'd like to see reference samples that only look right after rotation. A good example is a video shot on a smartphone (when the sky is above and the grass is below).