Hello Hans,
On 27.01.21 10:02, Hans Verkuil wrote:
Hi Max,
On 26/01/2021 15:24, Max Schulze wrote:
If the Buffer Timestamp Clock is _MONOTONIC, print the delta
to the current clock time. Useful for debugging / insights.
Signed-off-by: Max Schuze <max.schulze@xxxxxxxxx>
---
utils/v4l2-ctl/v4l2-ctl-streaming.cpp | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
index a3580595..d024f925 100644
--- a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
+++ b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
@@ -556,9 +556,15 @@ static void print_concise_buffer(FILE *f,
cv4l_buffer &buf, cv4l_fmt &fmt,
double ts = buf.g_timestamp().tv_sec +
buf.g_timestamp().tv_usec / 1000000.0;
fprintf(f, " ts: %.06f", ts);
if (last_ts <= 0.0)
- fprintf(f, " delta: %.03f ms", (ts - last_ts) * 1000.0);
+ fprintf(f, " delta last: %.03f ms", (ts - last_ts) * 1000.0);
last_ts = ts;
+ if ((buf.g_flags() & V4L2_BUF_FLAG_TIMESTAMP_MASK) ==
V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC) {
+ timespec ts_clock;
+ clock_gettime(CLOCK_MONOTONIC, &ts_clock);
+ fprintf(f, " delta now: %+.03f ms", ((ts_clock.tv_sec +
ts_clock.tv_nsec / 1000000000.0) - ts) * 1000.0);
I have no objection to this, but I think this needs to be enabled
with a new option (e.g. --stream-show-delta-now) to avoid cluttering
the output too much.
Note we already need to be in verbose mode and not skip_ts .
Example output:
cap dqbuf: 0 seq: 0 bytesused: 512000 ts: 137342.420951 delta
last: 137342420.951 ms delta now: +56.301 ms (ts-monotonic, ts-src-soe)
cap dqbuf: 1 seq: 2 bytesused: 512000 ts: 137342.484954 delta
now: +28.171 ms dropped: 1 (ts-monotonic, ts-src-soe)
cap dqbuf: 2 seq: 3 bytesused: 512000 ts: 137342.520953 delta
now: +24.296 ms (ts-monotonic, ts-src-soe)
cap dqbuf: 3 seq: 4 bytesused: 512000 ts: 137342.556925 delta
now: +24.269 ms (ts-monotonic, ts-src-soe)
cap dqbuf: 0 seq: 5 bytesused: 512000 ts: 137342.592909 delta
now: +24.216 ms fps: 29.08 (ts-monotonic, ts-src-soe)
BTW: is this the supposed way to display the "delta last", [...] "show
the timestamp delta between two successive frames." ?
Do you want me to make another patch with mentioned command line option?
Best,
Max