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

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

 



On 27/01/2021 10:19, Max Schulze wrote:
> 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." ?

Yes.

> 
> 
> Do you want me to make another patch with mentioned command line option?

Yes please!

Regards,

	Hans

> 
> 
> 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