gopro / gpmf-parser

Parser for GPMF™ formatted telemetry data used within GoPro® cameras.
Apache License 2.0
532 stars 112 forks source link

GPMF STMP semantics #189

Open bradh opened 5 months ago

bradh commented 5 months ago

I'm trying to add "as good as reasonably practical" TAI time stamping - eventually per frame, but for now on each (declared) sync sample. I'm using GPS9 to derive millisecond precision time from day number and millis, adjusting for TAI offset, and then for the difference between CORI and GPS9 values for STMP. So absolute accuracy is never greater than 1ms, but the frame-to-frame timing might be.

Both CORI and GPS9 will repeat, and since GPS9 is not frame synchronous, they might not have the same number of entries in each GPMF chunk - the difference in STMP could potentially be positive or negative, depending on when the sampling happened.

Questions:

Should STMP always be for the first item in the array?

Is the CORI timestamp intended to represent "start of frame", "end of frame" or "sometime during the frame"? I'd like to represent start of frame, so potentially I can adjust using the SHUT value, if needed.

dnewman-gpsw commented 5 months ago

STMP is the for arrival time of the first sample in the payload. CORI timestamp is the "start of frame"