Repository navigation
Decide the CAMM GPS epoch by the creation time, then the make - #846
Merged
Merged
Conversation
This was referenced Oct 19, 2026
exact "labpano" make, and writes Unix time back out whatever the make. The CAMM track mapillary_tools writes copies the make and the mvhd creation time of its source, so reading back our own output of a Labpano video converted Unix time again: 2024 read back as 2034. - Decide the epoch by the mvhd creation time when it is conclusive. GPS time reads as one GPS epoch before it, Unix time reads close to it, and the two readings are ten years apart. ExifTool decides the same way. The make decides only when the creation time is missing or meaningless. This replaces the warning mapillary#828 added for the same signature. - Decide on the median timestamp of the track, so that one stray sample cannot flip the epoch of the whole track. - Match the make as a substring, so that variants like "Labpano Technology Co.,Ltd" are not read ten years off. - Use both type 5 and type 6 points when a CAMM track has both. Fixing the type routing in mapillary#828 split them, and the extractor then dropped the type 5 points. The GPX sync already reads the video's clock from the first point that carries a timestamp, so a track starting with a type 5 point still syncs.
caglarpir
force-pushed
the
camm-epoch-by-creation-time
branch
from
October 20, 2026 09:16
77fd47c to
31619b9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Split out of #842. Follow-up to #828.
Problems on main
mvhdcreation time of its source, and the reader converts every track whose make is exactlylabpanofrom GPS time. mapillary_tools does not read its uploads back in normal use, so this shows in dry runs and when such a file is processed again.Labpano Technology Co.,Ltdis not converted. Because theelstnow widens to 64 bits instead of overflowing, such a file comes out ten years off silently.mini_gpsandgps, and the native extractor then usesgps or mini_gps, which drops the type 5 points when a track has both.Changes
mvhdcreation time decides the epoch when it is conclusive: GPS time reads as one GPS epoch before it, Unix time reads close to it, and the two readings are ten years apart. ExifTool decides the same way, by comparing againstCreateDate. The make decides only when the creation time is missing or meaningless. This replaces the warning Fix GPS epoch vs Unix epoch mix-up when geotagging CAMM videos #828 added for the same signature.Writes are unchanged: Unix time for every make.
Verification
ruff check,ruff format --check,usort diffandmypyare clean.Known limitation
For a Labpano source without an
mvhdcreation time, only the make is left to decide, so our output of it still reads back ten years late. All 14 Labpano captures above have a creation time.