ISP capture path timestamps


When extracting the captured frame timestamp in an argus app using getSensorTimestamp() the returned value does not show nanoseconds information (nanoseconds always come as zeroes), values look like:


In contrast, timestamps of the system clock (monotonic raw), and timestamps of frames captured with v4l2 bring nanosecond information. For instance, the system clock timestamps captured in the same argus app as above look like:


My questions are:

  1. Is the ISP using a different clock to timestamp the frames that go through the ISP path, in contrast to v4l2’s RTCPU (Memory controller path)?

  2. Why does the timestamp extracted with getSensorTimestamp() does not have nanosecond information?

  3. Where does this timestamp come from (ISP path)? It does not look to belong to the RTCPU nor the system clock.


hello jcaballero,

these two pipeline have different mechanism to capture the timestamp, please also refer to below.

  • v4l2
  • record the timestamp by system clock (monotonic raw), which the unit is nano-seconds already.
  • ISP
  • it's taking the system timestamp, which the unit is micro-seconds, then multiply it by 1000 to represent as nano-second.

    please note that, the getSensorTimestamp() function call return the software shutter event time.
    please also access [TegraX2 Technical Reference Manual] and check [Figure 187: VI4 Top-Level Block Diagram], this shutter event time is reported by VI notify, which is based-on RTCPU.

    suggest you may check similar discussion thread, Topic 1056995 as see-also.

    Understood, thank you.