From: Deborah Brouwer <deborah.brouwer@collabora.com>
To: linux-media@vger.kernel.org
Cc: daniel.almeida@collabora.com, nfraprado@collabora.com,
nicolas.dufresne@collabora.com, hverkuil-cisco@xs4all.nl,
deborahbrouwer3563@gmail.com,
Deborah Brouwer <deborah.brouwer@collabora.com>
Subject: [PATCH v4 0/2] utils: add v4l2-tracer utility
Date: Wed, 30 Nov 2022 10:24:13 -0800 [thread overview]
Message-ID: <cover.1669831184.git.deborah.brouwer@collabora.com> (raw)
Hi all - thank you very much for your reviews.
This is a patch series now to add Hans' patch
for tracing basic controls.
Changes since v3:
- fix clang-tidy warnings
- fix memory leaks in auto-generated code
- strings: check for nullptr before assignment
- remove unnecessary checks for nullptr before free()
- polling: check return value
- dynamic arrays: check memory allocation
- put format-specific info (h264) into a union
- add comment to the top of auto-generated files
- replace array with std::vector for media topology
- move debug/verbose options to helper functions
- fix auto-gen script to include a few extra controls
Changes since v2:
- remove duplication in entries for numbers/strings
- use media topology to find retrace devices
- add specific ioctls to trace
- in help msg change 'data' -> 'video frame data'
- trace mem_array with space after every byte
- add to trace files package version, SHA, date
- retracer also generates a JSON retrace file
- default trace format is "pretty"
- add a "compact" format option
- consolidate options for tracer/retracer
- remove mutex locks as unnecessary
- add more autogenerated functions
- add 'clean' command to remove fd/addresses
Changes since v1:
- auto-generate code from uAPI headers
- generated code adds some ability to trace
VP9/HEVC which compiles but still needs work
- generated code adds full support for MPEG2
- fix multiplanar decoding for vicodec
- change library name to libv4l2tracer
- update README
- expand help to show options
- remove extraneous files from gitignore
Example:
Trace an application decoding VP8:
v4l2-tracer trace gst-launch-1.0 -- filesrc
location=test-25fps.vp8 ! parsebin !
v4l2slvp8dec ! videocodectestsink
Or trace an application decoding FWHT:
v4l2-tracer trace v4l2-ctl -d3 --stream-mmap
--stream-out-mmap --stream-from-hdr
test-25fps.fwht --stream-to out.yuv
A trace file is generated: 71827_trace.json
Retrace the trace file:
v4l2-tracer retrace 71827_trace.json
Specify nodes if using a different driver:
v4l2-tracer -d0 -m0 retrace 71827_trace.json
A retrace file is generated: 71827_trace_retrace.json
Remove irrelevant differences (optional)
e.g. file descriptors and addresses:
v4l2-tracer clean 71827_trace.json
v4l2-tracer clean 71827_trace_retrace.json
Clean files are generated:
clean_71827_trace.json
clean_71827_trace_retrace.json
Use an application to compare the files:
kdiff3 clean_71827_trace.json clean_71827_trace_retrace.json
Deborah Brouwer (1):
utils: add v4l2-tracer utility
Hans Verkuil (1):
v4l2-tracer: add support for most basic controls
README | 8 +
configure.ac | 12 +
utils/Makefile.am | 5 +
utils/v4l2-tracer/.gitignore | 7 +
utils/v4l2-tracer/Makefile.am | 36 +
utils/v4l2-tracer/libv4l2tracer.cpp | 303 +++++
utils/v4l2-tracer/retrace-helper.cpp | 262 +++++
utils/v4l2-tracer/retrace.cpp | 1373 ++++++++++++++++++++++
utils/v4l2-tracer/retrace.h | 43 +
utils/v4l2-tracer/trace-helper.cpp | 500 ++++++++
utils/v4l2-tracer/trace.cpp | 603 ++++++++++
utils/v4l2-tracer/trace.h | 75 ++
utils/v4l2-tracer/v4l2-tracer-common.cpp | 476 ++++++++
utils/v4l2-tracer/v4l2-tracer-common.h | 79 ++
utils/v4l2-tracer/v4l2-tracer-gen.pl | 879 ++++++++++++++
utils/v4l2-tracer/v4l2-tracer.1.in | 111 ++
utils/v4l2-tracer/v4l2-tracer.cpp | 415 +++++++
17 files changed, 5187 insertions(+)
create mode 100644 utils/v4l2-tracer/.gitignore
create mode 100644 utils/v4l2-tracer/Makefile.am
create mode 100644 utils/v4l2-tracer/libv4l2tracer.cpp
create mode 100644 utils/v4l2-tracer/retrace-helper.cpp
create mode 100644 utils/v4l2-tracer/retrace.cpp
create mode 100644 utils/v4l2-tracer/retrace.h
create mode 100644 utils/v4l2-tracer/trace-helper.cpp
create mode 100644 utils/v4l2-tracer/trace.cpp
create mode 100644 utils/v4l2-tracer/trace.h
create mode 100644 utils/v4l2-tracer/v4l2-tracer-common.cpp
create mode 100644 utils/v4l2-tracer/v4l2-tracer-common.h
create mode 100755 utils/v4l2-tracer/v4l2-tracer-gen.pl
create mode 100644 utils/v4l2-tracer/v4l2-tracer.1.in
create mode 100644 utils/v4l2-tracer/v4l2-tracer.cpp
--
2.38.0
next reply other threads:[~2022-11-30 18:24 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-30 18:24 Deborah Brouwer [this message]
2022-11-30 18:24 ` [PATCH v4 1/2] utils: add v4l2-tracer utility Deborah Brouwer
2022-11-30 18:24 ` [PATCH v4 2/2] v4l2-tracer: add support for most basic controls Deborah Brouwer
2022-12-05 14:39 ` [PATCH v4 0/2] utils: add v4l2-tracer utility Collabora
2022-12-05 16:22 ` Daniel Almeida
2022-12-06 10:21 ` Hans Verkuil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1669831184.git.deborah.brouwer@collabora.com \
--to=deborah.brouwer@collabora.com \
--cc=daniel.almeida@collabora.com \
--cc=deborahbrouwer3563@gmail.com \
--cc=hverkuil-cisco@xs4all.nl \
--cc=linux-media@vger.kernel.org \
--cc=nfraprado@collabora.com \
--cc=nicolas.dufresne@collabora.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox