Re: [PATCH] v4l2-ctl: print delta to current clock in verbose mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux