From: Hans Verkuil <hverkuil-cisco@xs4all.nl> To: linux-media@vger.kernel.org Cc: Nicolas Dufresne <nicolas@ndufresne.ca>, Tomasz Figa <tfiga@chromium.org>, Michael Tretter <m.tretter@pengutronix.de> Subject: [PATCHv3 0/5] Stateful Encoding: final bits Date: Tue, 26 May 2020 12:09:27 +0200 Message-ID: <20200526100932.2626420-1-hverkuil-cisco@xs4all.nl> (raw) This series adds the encoder spec and updates the VIDIOC_G/S_PARM documentation. This is a follow-up of the original "Stateful Encoding: final bits" series (1). The patches in that series that add support for V4L2_CID_MPEG_VIDEO_ENC_FRAME_RATE and V4L2_BUF_FLAG_TOO_SMALL have been dropped (the first is not necessary and the second can be skipped for now, see the irc discussion with Nicolas [3]). The encoder spec has been updated since [2] with the following changes: - Document the optional VIDIOC_ENUM_FRAMEINTERVALS ioctl. - Document how to use VIDIOC_S_PARM: 1) calling S_PARM for the OUTPUT queue sets both the raw frame interval (this is a hint only) and the coded frame interval. 2) calling S_PARM for the CAPTURE queue sets the coded frame interval only. This is optional and can be used for off-line encoding. In that case the OUTPUT frame interval can be used by the driver to schedule multiple encoders. Ideally S_PARM for the OUTPUT queue would just provide a hint, but existing encoder drivers all use S_PARM for the OUTPUT queue to define the coded frame interval, and that can't be changed. - Added a note that if a capture buffer is too small it will be returned with V4L2_BUF_FLAG_ERROR and that more work has to be done to properly support this corner case. - Clarify in the 'Encoding' section that there are more reasons why 'a buffer queued to OUTPUT may result in more than one buffer produced on CAPTURE'. Added in v3: - Fix some minor typos. - Make it more explicit that setting S_PARM(OUTPUT) also sets the CAPTURE frame interval. - Added a new V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL flag to indicate that S_PARM(CAPTURE) can be set separately. I think that with these changes this stateful encoder spec is ready to be merged. Regards, Hans [1] https://lore.kernel.org/linux-media/20191119113457.57833-6-hverkuil-cisco@xs4all.nl/T/ [2] https://www.mail-archive.com/linux-media@vger.kernel.org/msg149211.html [3] https://linuxtv.org/irc/irclogger_log/v4l?date=2020-05-19,Tue Hans Verkuil (4): vidioc-g-parm.rst: update the VIDIOC_G/S_PARM documentation dev-decoder.rst: small fixes videodev2.h: add V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL flag dev-encoder.rst: add reference to V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL Tomasz Figa (1): media: docs-rst: Document memory-to-memory video encoder interface .../userspace-api/media/v4l/dev-decoder.rst | 6 +- .../userspace-api/media/v4l/dev-encoder.rst | 729 ++++++++++++++++++ .../userspace-api/media/v4l/dev-mem2mem.rst | 1 + .../userspace-api/media/v4l/pixfmt-v4l2.rst | 5 + .../userspace-api/media/v4l/v4l2.rst | 2 + .../media/v4l/vidioc-encoder-cmd.rst | 51 +- .../media/v4l/vidioc-enum-fmt.rst | 30 +- .../userspace-api/media/v4l/vidioc-g-parm.rst | 51 +- .../media/videodev2.h.rst.exceptions | 1 + include/uapi/linux/videodev2.h | 1 + 10 files changed, 830 insertions(+), 47 deletions(-) create mode 100644 Documentation/userspace-api/media/v4l/dev-encoder.rst -- 2.25.1
next reply other threads:[~2020-05-26 10:09 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-26 10:09 Hans Verkuil [this message] 2020-05-26 10:09 ` [PATCHv3 1/5] media: docs-rst: Document memory-to-memory video encoder interface Hans Verkuil 2020-05-29 9:57 ` Stanimir Varbanov 2020-05-29 10:17 ` Stanimir Varbanov 2020-05-29 12:21 ` Tomasz Figa 2020-06-05 7:19 ` Stanimir Varbanov 2020-06-05 21:24 ` Nicolas Dufresne 2020-06-06 7:58 ` Stanimir Varbanov 2020-06-07 0:27 ` Nicolas Dufresne 2020-06-10 12:28 ` Tomasz Figa 2020-06-10 13:08 ` Nicolas Dufresne 2020-06-10 13:55 ` Tomasz Figa 2020-06-10 13:58 ` Tomasz Figa 2020-06-23 10:36 ` Hans Verkuil 2020-06-23 11:47 ` Tomasz Figa 2020-06-23 10:47 ` Mauro Carvalho Chehab 2020-05-26 10:09 ` [PATCHv3 2/5] vidioc-g-parm.rst: update the VIDIOC_G/S_PARM documentation Hans Verkuil 2020-05-28 7:54 ` Michael Tretter 2020-05-26 10:09 ` [PATCHv3 3/5] dev-decoder.rst: small fixes Hans Verkuil 2020-05-26 10:09 ` [PATCHv3 4/5] videodev2.h: add V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL flag Hans Verkuil 2020-05-26 10:09 ` [PATCHv3 5/5] dev-encoder.rst: add reference to V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL Hans Verkuil 2020-05-28 7:58 ` [PATCHv3 0/5] Stateful Encoding: final bits Michael Tretter 2020-06-02 9:01 ` Tomasz Figa
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=20200526100932.2626420-1-hverkuil-cisco@xs4all.nl \ --to=hverkuil-cisco@xs4all.nl \ --cc=linux-media@vger.kernel.org \ --cc=m.tretter@pengutronix.de \ --cc=nicolas@ndufresne.ca \ --cc=tfiga@chromium.org \ /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
Unnamed repository; edit this file 'description' to name the repository. This inbox may be cloned and mirrored by anyone: git clone --mirror http://archive.lwn.net:8080/linux-media/0 linux-media/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-media linux-media/ http://archive.lwn.net:8080/linux-media \ linux-media@vger.kernel.org lwn-linux-media@archive.lwn.net public-inbox-index linux-media Example config snippet for mirrors. Newsgroup available over NNTP: nntp://archive.lwn.net/lwn.kernel.linux-media AGPL code for this site: git clone https://public-inbox.org/public-inbox.git