linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv3 00/12] Stateful/stateless codec core support
@ 2019-08-15 14:44 Hans Verkuil
  2019-08-15 14:44 ` [PATCHv3 01/12] videodev2.h: add V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM Hans Verkuil
                   ` (11 more replies)
  0 siblings, 12 replies; 17+ messages in thread
From: Hans Verkuil @ 2019-08-15 14:44 UTC (permalink / raw)
  To: linux-media; +Cc: Tomasz Figa

This series consolidates various patches/patch series that add
features or document memory-to-memory video codec interfaces.

This includes patches adding V4L2_FMT_FLAG_DYN_RESOLUTION,
new code adding V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM, new code
adding V4L2_DEC_CMD_FLUSH, patches adding V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF
(now with documentation) and patches documenting the stateful
encoder/decoder and stateless decoder.

The stateful encoder documentation is still RFC quality (there are
open TODOs, see https://patchwork.kernel.org/cover/10972783/).

The stateless decoder documentation is the same as the v5 posted
by Alexandre, but with my comments incorporated.

Also added are updated pixelformat descriptions. Please review this!
I didn't update the MPEG4 format since I'm not sure what to put there.

If anyone has access to recent codec standards, then I would really
like to have the right references to 'MPEG Picture' and 'Access Unit'.
It would be good to just refer to the definition of what a Picture
or Access Unit is in the right standards. (I now have access to
most of the standards, will use that to improve the pixfmt description
in the near future).

If there are no more comments, then I want to merge patches 1-7 and
probably 8 as well (even though I think that one needs more work).

Patches 9-11 require that a stateless decoder driver is also
updated to use V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF and V4L2_DEC_CMD_FLUSH.

Changes since v2:

- Fixed typo (CMD_STOP -> CMD_FLUSH)
- Updated text to make CMD_FLUSH required for stateless codecs (will
  need another patch adding helper functions for this DEC_CMD).
- Added "It is also only applies to stateful codecs." to the
  DYN_RESOLUTION description.

Changes since v1:

- Replace bitstream by bytestream as per comment from Nicolas.
- V4L2_FMT_FLAG_HAS_BITSTREAM_PARSER was renamed to
  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM.

Regards,

        Hans

Alexandre Courbot (1):
  media: docs-rst: Document m2m stateless video decoder interface

Hans Verkuil (4):
  videodev2.h: add V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM
  pixfmt-compressed.rst: improve H264/HEVC/MPEG1+2/VP8+9 documentation
  vb2: add V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF
  videodev2.h: add V4L2_DEC_CMD_FLUSH

Maxime Jourdan (5):
  videodev2.h: add V4L2_FMT_FLAG_DYN_RESOLUTION
  media: venus: vdec: flag OUTPUT formats with
    V4L2_FMT_FLAG_DYN_RESOLUTION
  media: s5p_mfc_dec: set flags for OUTPUT coded formats
  media: mtk-vcodec: flag OUTPUT formats with
    V4L2_FMT_FLAG_DYN_RESOLUTION
  media: vicodec: set flags for vdec/stateful OUTPUT coded formats

Tomasz Figa (2):
  media: docs-rst: Document memory-to-memory video decoder interface
  media: docs-rst: Document memory-to-memory video encoder interface

 Documentation/media/uapi/v4l/buffer.rst       |   13 +
 Documentation/media/uapi/v4l/dev-decoder.rst  | 1101 +++++++++++++++++
 Documentation/media/uapi/v4l/dev-encoder.rst  |  608 +++++++++
 Documentation/media/uapi/v4l/dev-mem2mem.rst  |   10 +-
 .../media/uapi/v4l/dev-stateless-decoder.rst  |  424 +++++++
 .../media/uapi/v4l/pixfmt-compressed.rst      |   36 +-
 Documentation/media/uapi/v4l/pixfmt-v4l2.rst  |   10 +
 Documentation/media/uapi/v4l/v4l2.rst         |   12 +-
 .../media/uapi/v4l/vidioc-decoder-cmd.rst     |   52 +-
 .../media/uapi/v4l/vidioc-dqevent.rst         |   11 +-
 .../media/uapi/v4l/vidioc-encoder-cmd.rst     |   51 +-
 .../media/uapi/v4l/vidioc-enum-fmt.rst        |   16 +
 .../media/uapi/v4l/vidioc-reqbufs.rst         |    6 +
 .../media/videodev2.h.rst.exceptions          |    3 +
 .../media/common/videobuf2/videobuf2-v4l2.c   |    8 +-
 .../platform/mtk-vcodec/mtk_vcodec_dec.c      |    4 +
 .../platform/mtk-vcodec/mtk_vcodec_drv.h      |    1 +
 drivers/media/platform/qcom/venus/core.h      |    1 +
 drivers/media/platform/qcom/venus/vdec.c      |   11 +
 .../media/platform/s5p-mfc/s5p_mfc_common.h   |    1 +
 drivers/media/platform/s5p-mfc/s5p_mfc_dec.c  |   18 +
 drivers/media/platform/vicodec/vicodec-core.c |    3 +
 include/media/v4l2-mem2mem.h                  |   42 +
 include/media/videobuf2-core.h                |    3 +
 include/media/videobuf2-v4l2.h                |    5 +
 include/uapi/linux/videodev2.h                |   20 +-
 26 files changed, 2416 insertions(+), 54 deletions(-)
 create mode 100644 Documentation/media/uapi/v4l/dev-decoder.rst
 create mode 100644 Documentation/media/uapi/v4l/dev-encoder.rst
 create mode 100644 Documentation/media/uapi/v4l/dev-stateless-decoder.rst

-- 
2.20.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2022-01-28 10:10 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-15 14:44 [PATCHv3 00/12] Stateful/stateless codec core support Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 01/12] videodev2.h: add V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 02/12] videodev2.h: add V4L2_FMT_FLAG_DYN_RESOLUTION Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 03/12] media: venus: vdec: flag OUTPUT formats with V4L2_FMT_FLAG_DYN_RESOLUTION Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 04/12] media: s5p_mfc_dec: set flags for OUTPUT coded formats Hans Verkuil
2022-01-28 10:10   ` Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 05/12] media: mtk-vcodec: flag OUTPUT formats with V4L2_FMT_FLAG_DYN_RESOLUTION Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 06/12] media: vicodec: set flags for vdec/stateful OUTPUT coded formats Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 07/12] media: docs-rst: Document memory-to-memory video decoder interface Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 08/12] pixfmt-compressed.rst: improve H264/HEVC/MPEG1+2/VP8+9 documentation Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 09/12] vb2: add V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 10/12] videodev2.h: add V4L2_DEC_CMD_FLUSH Hans Verkuil
2019-08-15 14:44 ` [PATCHv3 11/12] media: docs-rst: Document m2m stateless video decoder interface Hans Verkuil
2019-09-26 11:33   ` Hans Verkuil
2019-09-26 15:40     ` Nicolas Dufresne
2019-10-02  6:31       ` Tomasz Figa
2019-08-15 14:44 ` [PATCHv3 12/12] media: docs-rst: Document memory-to-memory video encoder interface Hans Verkuil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).