All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ezequiel Garcia <ezequiel@collabora.com>
To: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
	Nicolas Dufresne <nicolas.dufresne@collabora.com>,
	Alexandre Courbot <acourbot@chromium.org>,
	Ezequiel Garcia <ezequiel@collabora.com>,
	kernel@collabora.com
Subject: [PATCH v2 0/8] V4L2 stateless VP8 de-staging
Date: Wed,  3 Mar 2021 17:27:06 -0300	[thread overview]
Message-ID: <20210303202714.212394-1-ezequiel@collabora.com> (raw)

After close scrutiny of the VP8 specification, it seems
the VP8 stateless API is ready.

This series contains a series of clean-ups and improvement:
renaming symbols for consistency, documenting things for clarity,
and then moves the control to proper V4L2 headers.

It must be noted that, unlike parsed H.264, V4L2_PIX_FMT_VP8_FRAME
buffers must contain the VP8 frame header. In others words
a VP8 parsed frame buffer is:

  +--------+-----------------------------------------------------+-----+------------+  
  | tag 3B | extra 7B | header | MB data | DCT size | DCT part 0 | ... | DCT part N |  
  +--------+-----------------------------------------------------+-----+------------+  

Hopefully the pixel format documentation is now clear about that.

Support in Cedrus and Hantro is available upstream, and Mediatek
support is available downstream [1] which uses the API as-is.

This was tested with GStreamer v4l2codec element and Fluster [2]
conformance test, on a Hantro G1 device.

Changelog:

v2: * Rename VP8_FRAME_IS_KEY_FRAME

[1] https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2614338/21/
[2] https://github.com/fluendo/fluster

Ezequiel Garcia (8):
  media: uapi: vp8: Remove "header" from symbol names and macros
  media: uapi: vp8: Rename v4l2_vp8_loopfilter to v4l2_vp8_loop_filter
  media: uapi: vp8: Add proper kernel-doc documentation
  media: uapi: Move parsed VP8 pixel format out of staging
  media: uapi: Move the VP8 stateless control type out of staging
  media: controls: Log VP8 stateless control in .std_log
  media: uapi: Rename V4L2 VP8 specific macro to V4L2_VP8_
  media: uapi: move VP8 stateless controls out of staging

 .../media/v4l/ext-ctrls-codec-stateless.rst   | 318 +++++++++++++++++
 .../media/v4l/ext-ctrls-codec.rst             | 323 ------------------
 .../media/v4l/pixfmt-compressed.rst           |  15 +-
 .../media/v4l/vidioc-g-ext-ctrls.rst          |   4 +
 .../media/v4l/vidioc-queryctrl.rst            |   6 +
 .../media/videodev2.h.rst.exceptions          |   1 +
 drivers/media/v4l2-core/v4l2-ctrls.c          |  39 ++-
 drivers/staging/media/hantro/hantro_drv.c     |   2 +-
 .../staging/media/hantro/hantro_g1_vp8_dec.c  |  55 ++-
 drivers/staging/media/hantro/hantro_hw.h      |   2 +-
 drivers/staging/media/hantro/hantro_vp8.c     |  10 +-
 .../media/hantro/rk3399_vpu_hw_vp8_dec.c      |  55 ++-
 drivers/staging/media/sunxi/cedrus/cedrus.c   |   2 +-
 drivers/staging/media/sunxi/cedrus/cedrus.h   |   2 +-
 .../staging/media/sunxi/cedrus/cedrus_dec.c   |   2 +-
 .../staging/media/sunxi/cedrus/cedrus_vp8.c   | 113 +++---
 include/media/v4l2-ctrls.h                    |   5 +-
 include/media/vp8-ctrls.h                     | 114 -------
 include/uapi/linux/v4l2-controls.h            | 195 +++++++++++
 include/uapi/linux/videodev2.h                |   4 +
 20 files changed, 677 insertions(+), 590 deletions(-)
 delete mode 100644 include/media/vp8-ctrls.h

-- 
2.30.0


             reply	other threads:[~2021-03-04  0:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-03 20:27 Ezequiel Garcia [this message]
2021-03-03 20:27 ` [PATCH v2 1/8] media: uapi: vp8: Remove "header" from symbol names and macros Ezequiel Garcia
2021-03-04  8:48   ` Alexandre Courbot
2021-03-03 20:27 ` [PATCH v2 2/8] media: uapi: vp8: Rename v4l2_vp8_loopfilter to v4l2_vp8_loop_filter Ezequiel Garcia
2021-03-03 20:27 ` [PATCH v2 3/8] media: uapi: vp8: Add proper kernel-doc documentation Ezequiel Garcia
2021-03-03 20:27 ` [PATCH v2 4/8] media: uapi: Move parsed VP8 pixel format out of staging Ezequiel Garcia
2021-03-03 20:27 ` [PATCH v2 5/8] media: uapi: Move the VP8 stateless control type " Ezequiel Garcia
2021-03-03 20:27 ` [PATCH v2 6/8] media: controls: Log VP8 stateless control in .std_log Ezequiel Garcia
2021-03-03 20:27 ` [PATCH v2 7/8] media: vp8: Rename V4L2 VP8 specific macro to V4L2_VP8_ Ezequiel Garcia
2021-03-03 20:27 ` [PATCH v2 8/8] media: uapi: move VP8 stateless controls out of staging Ezequiel Garcia

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=20210303202714.212394-1-ezequiel@collabora.com \
    --to=ezequiel@collabora.com \
    --cc=acourbot@chromium.org \
    --cc=hverkuil@xs4all.nl \
    --cc=kernel@collabora.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --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.