From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sakari Ailus <sakari.ailus@iki.fi>
Cc: linux-media@vger.kernel.org
Subject: Re: [yavta PATCH 6/9] Timestamp source for output buffers
Date: Wed, 02 Apr 2014 00:20:18 +0200 [thread overview]
Message-ID: <24499912.nkDMIsTe95@avalon> (raw)
In-Reply-To: <1393690690-5004-7-git-send-email-sakari.ailus@iki.fi>
Hi Sakari,
Thank you for the patch.
On Saturday 01 March 2014 18:18:07 Sakari Ailus wrote:
> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
> ---
> yavta.c | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/yavta.c b/yavta.c
> index a9b192a..71c1477 100644
> --- a/yavta.c
> +++ b/yavta.c
> @@ -73,6 +73,7 @@ struct device
> unsigned int height;
> unsigned int bytesperline;
> unsigned int imagesize;
> + uint32_t buffer_output_flags;
>
> void *pattern;
> unsigned int patternsize;
> @@ -611,6 +612,7 @@ static int video_queue_buffer(struct device *dev, int
> index, enum buffer_fill_mo buf.m.userptr = (unsigned
> long)dev->buffers[index].mem;
>
> if (dev->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) {
> + buf.flags = dev->buffer_output_flags;
> buf.bytesused = dev->patternsize;
> memcpy(dev->buffers[buf.index].mem, dev->pattern, dev->patternsize);
> } else {
> @@ -1255,6 +1257,7 @@ static void usage(const char *argv0)
> printf(" --no-query Don't query capabilities on open\n");
> printf(" --offset User pointer buffer offset from page
> start\n");
> printf(" --requeue-last Requeue the last buffers before
> streamoff\n");
> + printf(" --timestamp-source Set timestamp source on output
> buffers [eof, soe]\n");
> printf(" --skip n Skip the first n frames\n");
> printf(" --sleep-forever Sleep forever after configuring the
> device\n"); printf(" --stride value Line stride in bytes\n");
> @@ -1269,6 +1272,7 @@ static void usage(const char *argv0)
> #define OPT_REQUEUE_LAST 262
> #define OPT_STRIDE 263
> #define OPT_FD 264
> +#define OPT_TSTAMP_SRC 265
>
> static struct option opts[] = {
> {"capture", 2, 0, 'c'},
> @@ -1298,7 +1302,8 @@ static struct option opts[] = {
> {"sleep-forever", 0, 0, OPT_SLEEP_FOREVER},
> {"stride", 1, 0, OPT_STRIDE},
> {"time-per-frame", 1, 0, 't'},
> - {"userptr", 0, 0, 'u'},
> + {"timestamp-source", 1, 0, OPT_TSTAMP_SRC},
> + {"userptr", 1, 0, 'u'},
This seems to be an unrelated change.
> {0, 0, 0, 0}
> };
>
> @@ -1487,6 +1492,17 @@ int main(int argc, char *argv[])
> case OPT_STRIDE:
> stride = atoi(optarg);
> break;
> + case OPT_TSTAMP_SRC:
> + if (!strcmp(optarg, "eof")) {
> + dev.buffer_output_flags |= V4L2_BUF_FLAG_TSTAMP_SRC_EOF;
As the buffer_output_flags isn't used for anything else, would it make sense
to just name it timestamp_source ?
> + } else if (!strcmp(optarg, "soe")) {
> + dev.buffer_output_flags |= V4L2_BUF_FLAG_TSTAMP_SRC_SOE;
> + } else {
> + printf("Invalid timestamp source %s\n", optarg);
> + return 1;
> + }
> + printf("Using %s timestamp source\n", optarg);
Do we really need this printf ?
> + break;
> case OPT_USERPTR_OFFSET:
> userptr_offset = atoi(optarg);
> break;
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2014-04-01 22:18 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-01 16:18 [yavta PATCH 0/9] Timestamp source and mem-to-mem device support Sakari Ailus
2014-03-01 16:18 ` [yavta PATCH 1/9] Update headers from upstream kernel, including timestamp source patches Sakari Ailus
2014-03-01 16:18 ` [yavta PATCH 2/9] Print timestamp source (start-of-exposure or end-of-frame) Sakari Ailus
2014-03-01 16:18 ` [yavta PATCH 3/9] Allow supporting mem2mem devices by adding forced OUTPUT device type Sakari Ailus
2014-04-01 22:05 ` Laurent Pinchart
2014-04-10 18:19 ` Sakari Ailus
2014-03-01 16:18 ` [yavta PATCH 4/9] Zero dev in main() Sakari Ailus
2014-03-01 16:18 ` [yavta PATCH 5/9] Allow passing file descriptors to yavta Sakari Ailus
2014-04-01 22:16 ` Laurent Pinchart
2014-04-10 18:48 ` Sakari Ailus
2014-04-10 22:17 ` Laurent Pinchart
2014-04-10 22:30 ` Sakari Ailus
2014-03-01 16:18 ` [yavta PATCH 6/9] Timestamp source for output buffers Sakari Ailus
2014-04-01 22:20 ` Laurent Pinchart [this message]
2014-04-10 18:53 ` Sakari Ailus
2014-03-01 16:18 ` [yavta PATCH 7/9] Print timestamp type and source for dequeued buffers Sakari Ailus
2014-04-02 0:26 ` Laurent Pinchart
2014-04-10 18:58 ` Sakari Ailus
2014-04-10 22:28 ` Laurent Pinchart
2014-04-10 22:36 ` Sakari Ailus
2014-04-11 13:11 ` Laurent Pinchart
2014-03-01 16:18 ` [yavta PATCH 8/9] Support copy timestamps Sakari Ailus
2014-03-01 16:18 ` [yavta PATCH 9/9] Set timestamp for output buffers if the timestamp type is copy Sakari Ailus
2014-04-02 0:24 ` [yavta PATCH 0/9] Timestamp source and mem-to-mem device support Laurent Pinchart
2014-04-02 21:24 ` Sakari Ailus
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=24499912.nkDMIsTe95@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=sakari.ailus@iki.fi \
/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