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,
Deborah Brouwer <deborah.brouwer@collabora.com>
Subject: [RFC 0/2] v4l2 stateless tracer/retracer utilities
Date: Fri, 19 Aug 2022 17:50:17 -0700 [thread overview]
Message-ID: <cover.1660955263.git.deborah.brouwer@collabora.com> (raw)
This project helps to test v4l2 stateless decoder drivers by tracing,
recording and replaying (i.e. "retracing") userspace's interaction with
a stateless decoder driver.
The tracer utility attaches to a userspace application and generates a
json file with relevant system calls, parameters and encoded data.
The retracer utility reads the json-file and makes the same system calls
to a v4l2 stateless driver. Since the retracer is independent from the
original userspace application that was traced, testing can be decoupled
from extraneous factors in the userspace environment. The json-file can
also be edited to inject errors and test a driver's error-handling
abilities.
NOTE:
This project is work in progress and currently only traces VP8, but
H264 and FWHT will follow shortly.
EXAMPLE:
./tracer gst-launch-1.0 -- filesrc location=<some_vp8_file> ! parsebin !
v4l2slvp8dec ! videocodectestsink
./retracer 10284_trace.json
FURTHER INFO AND TEST FILES:
https://gitlab.collabora.com/dbrouwer/v4l2-stateless-tracer-utility/-/tree/main/
Deborah Brouwer (2):
utils: add stateless tracer utility
utils: add stateless retracer utility
configure.ac | 6 +
utils/Makefile.am | 5 +
utils/common/v4l2-info.cpp | 7 +-
utils/common/v4l2-info.h | 8 +
utils/tracer/.gitignore | 9 +
utils/tracer/Makefile.am | 23 +
utils/tracer/libtracer.cpp | 217 ++++++
utils/tracer/libtracer.h | 92 +++
utils/tracer/retrace-helper.cpp | 141 ++++
utils/tracer/retrace-helper.h | 18 +
utils/tracer/retrace-vp8.cpp | 288 ++++++++
utils/tracer/retrace-vp8.h | 11 +
utils/tracer/retracer.cpp | 1090 +++++++++++++++++++++++++++++++
utils/tracer/retracer.h | 24 +
utils/tracer/trace-helper.cpp | 218 +++++++
utils/tracer/trace-info.cpp | 358 ++++++++++
utils/tracer/trace-info.h | 72 ++
utils/tracer/trace-vp8.cpp | 183 ++++++
utils/tracer/trace.cpp | 520 +++++++++++++++
utils/tracer/tracer.cpp | 91 +++
20 files changed, 3375 insertions(+), 6 deletions(-)
create mode 100644 utils/tracer/.gitignore
create mode 100644 utils/tracer/Makefile.am
create mode 100644 utils/tracer/libtracer.cpp
create mode 100644 utils/tracer/libtracer.h
create mode 100755 utils/tracer/retrace-helper.cpp
create mode 100644 utils/tracer/retrace-helper.h
create mode 100755 utils/tracer/retrace-vp8.cpp
create mode 100644 utils/tracer/retrace-vp8.h
create mode 100755 utils/tracer/retracer.cpp
create mode 100644 utils/tracer/retracer.h
create mode 100644 utils/tracer/trace-helper.cpp
create mode 100644 utils/tracer/trace-info.cpp
create mode 100644 utils/tracer/trace-info.h
create mode 100644 utils/tracer/trace-vp8.cpp
create mode 100644 utils/tracer/trace.cpp
create mode 100644 utils/tracer/tracer.cpp
--
2.37.1
next reply other threads:[~2022-08-20 0:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-20 0:50 Deborah Brouwer [this message]
2022-08-20 0:50 ` [RFC 1/2] utils: add stateless tracer utility Deborah Brouwer
2022-08-26 19:18 ` Nicolas Dufresne
2022-08-20 0:50 ` [RFC 2/2] utils: add stateless retracer utility Deborah Brouwer
2022-08-26 19:05 ` [RFC 0/2] v4l2 stateless tracer/retracer utilities Nicolas Dufresne
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.1660955263.git.deborah.brouwer@collabora.com \
--to=deborah.brouwer@collabora.com \
--cc=daniel.almeida@collabora.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.