[GIT PULL FOR v5.5] Add slicing support + spec for stateless decoders

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series adds support for H.264 slicing to the cedrus driver. This is done by
adding a new buffer flag V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF that stateless decoders
have to set when queueing the output buffer to indicate that this output buffer
contains a compressed slice and so the capture buffer the slice is decoded into
should not be marked as DONE since more slices are expected.

Also add a new decoder command V4L2_DEC_CMD_FLUSH to handle the corner case where
there are no more slices to decode, but there is still a capture buffer pending.

Add support for all this to the m2m framework and add support for slicing to the
cedrus driver. Many thanks to Jernej for working on the cedrus slicing support and
testing these patches!

Since slicing was the final missing piece, it is now time to add the stateless
decoder spec as well to the V4L2 Specification.

Many thanks to Alexandre and Tomasz and the many others who contributed to this.

Regards,

	Hans

The following changes since commit 3ff3a712a9eabb3d7bf52c263dd1ece054345df4:

  media: ti-vpe: vpe: don't rely on colorspace member for conversion (2019-10-10 13:54:22 -0300)

are available in the Git repository at:

  git://linuxtv.org/hverkuil/media_tree.git tags/br-v5.5j

for you to fetch changes up to b6f4140fcee87196dca7edf512de352a1d50fa62:

  media: docs-rst: Document m2m stateless video decoder interface (2019-10-16 12:56:31 +0200)

----------------------------------------------------------------
Tag branch

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

Hans Verkuil (4):
      vb2: add V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF
      v4l2-mem2mem: support held capture buffers
      videodev2.h: add V4L2_DEC_CMD_FLUSH
      v4l2-mem2mem: add new_frame detection

Jernej Skrabec (2):
      media: v4l2-mem2mem: add stateless_(try_)decoder_cmd ioctl helpers
      media: cedrus: h264: Support multiple slices per frame

 Documentation/media/uapi/v4l/buffer.rst                |  13 ++
 Documentation/media/uapi/v4l/dev-mem2mem.rst           |   1 +
 Documentation/media/uapi/v4l/dev-stateless-decoder.rst | 424 +++++++++++++++++++++++++++++++++++++++++++++
 Documentation/media/uapi/v4l/vidioc-decoder-cmd.rst    |  10 +-
 Documentation/media/uapi/v4l/vidioc-reqbufs.rst        |   6 +
 Documentation/media/videodev2.h.rst.exceptions         |   1 +
 drivers/media/common/videobuf2/videobuf2-v4l2.c        |  12 +-
 drivers/media/v4l2-core/v4l2-mem2mem.c                 | 190 ++++++++++++++++----
 drivers/staging/media/sunxi/cedrus/cedrus_h264.c       |  12 +-
 drivers/staging/media/sunxi/cedrus/cedrus_hw.c         |  16 +-
 drivers/staging/media/sunxi/cedrus/cedrus_video.c      |  14 ++
 include/media/v4l2-mem2mem.h                           |  44 ++++-
 include/media/videobuf2-core.h                         |   3 +
 include/media/videobuf2-v4l2.h                         |   5 +
 include/uapi/linux/videodev2.h                         |  14 +-
 15 files changed, 707 insertions(+), 58 deletions(-)
 create mode 100644 Documentation/media/uapi/v4l/dev-stateless-decoder.rst



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux