mbox series

[GIT,PULL,FOR,v5.17] VP9 codec V4L2 control interface

Message ID f05bda76-2fb0-bdd8-13c3-e52fbdfb7596@xs4all.nl (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL,FOR,v5.17] VP9 codec V4L2 control interface | expand

Pull-request

git://linuxtv.org/hverkuil/media_tree.git tags/br-v5.17c

Message

Hans Verkuil Nov. 17, 2021, 12:09 p.m. UTC
Hi Mauro,

This series adds support for VP9 stateless codecs, implementing this in the hantro
and rkvdec drivers.

After this is applied only support for stateless HEVC codecs remains a staging API.

Many thanks to Andrzej, Ezequiel and others who worked on this and tested the
drivers!

Regards,

	Hans

The following changes since commit 96977c97e2c76f48d5e1f28ff5c6cd6f83a91ced:

  media: atomisp: get rid of #ifdef ISP_VEC_NELEMS (2021-11-16 11:49:43 +0000)

are available in the Git repository at:

  git://linuxtv.org/hverkuil/media_tree.git tags/br-v5.17c

for you to fetch changes up to 9eeba750c194e2ff9e21f2bbfee00181e45b3770:

  media: hantro: Support NV12 on the G2 core (2021-11-17 12:57:36 +0100)

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

----------------------------------------------------------------
Andrzej Pietrasiewicz (8):
      media: uapi: Add VP9 stateless decoder controls
      media: Add VP9 v4l2 library
      media: rkvdec: Add the VP9 backend
      media: hantro: Rename registers
      media: hantro: Prepare for other G2 codecs
      media: hantro: Support VP9 on the G2 core
      media: hantro: Staticize a struct in postprocessor code
      media: hantro: Support NV12 on the G2 core

Ezequiel Garcia (4):
      hantro: postproc: Fix motion vector space size
      hantro: postproc: Introduce struct hantro_postproc_ops
      hantro: Simplify postprocessor
      hantro: Add quirk for NV12/NV12_4L4 capture format

 Documentation/userspace-api/media/v4l/biblio.rst                    |   10 +
 Documentation/userspace-api/media/v4l/ext-ctrls-codec-stateless.rst |  573 ++++++++++++
 Documentation/userspace-api/media/v4l/pixfmt-compressed.rst         |   15 +
 Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst        |    8 +
 Documentation/userspace-api/media/v4l/vidioc-queryctrl.rst          |   12 +
 Documentation/userspace-api/media/videodev2.h.rst.exceptions        |    2 +
 drivers/media/v4l2-core/Kconfig                                     |    4 +
 drivers/media/v4l2-core/Makefile                                    |    1 +
 drivers/media/v4l2-core/v4l2-ctrls-core.c                           |  180 ++++
 drivers/media/v4l2-core/v4l2-ctrls-defs.c                           |    8 +
 drivers/media/v4l2-core/v4l2-ioctl.c                                |    1 +
 drivers/media/v4l2-core/v4l2-vp9.c                                  | 1850 +++++++++++++++++++++++++++++++++++++
 drivers/staging/media/hantro/Kconfig                                |    1 +
 drivers/staging/media/hantro/Makefile                               |    7 +-
 drivers/staging/media/hantro/hantro.h                               |   41 +-
 drivers/staging/media/hantro/hantro_drv.c                           |   23 +-
 drivers/staging/media/hantro/hantro_g2.c                            |   26 +
 drivers/staging/media/hantro/hantro_g2_hevc_dec.c                   |   71 +-
 drivers/staging/media/hantro/hantro_g2_regs.h                       |  132 ++-
 drivers/staging/media/hantro/hantro_g2_vp9_dec.c                    |  980 ++++++++++++++++++++
 drivers/staging/media/hantro/hantro_hw.h                            |  115 ++-
 drivers/staging/media/hantro/hantro_postproc.c                      |   81 +-
 drivers/staging/media/hantro/hantro_v4l2.c                          |   20 +
 drivers/staging/media/hantro/hantro_vp9.c                           |  240 +++++
 drivers/staging/media/hantro/hantro_vp9.h                           |  102 ++
 drivers/staging/media/hantro/imx8m_vpu_hw.c                         |   38 +-
 drivers/staging/media/hantro/rockchip_vpu_hw.c                      |    7 +-
 drivers/staging/media/hantro/sama5d4_vdec_hw.c                      |    3 +-
 drivers/staging/media/rkvdec/Kconfig                                |    1 +
 drivers/staging/media/rkvdec/Makefile                               |    2 +-
 drivers/staging/media/rkvdec/rkvdec-vp9.c                           | 1072 +++++++++++++++++++++
 drivers/staging/media/rkvdec/rkvdec.c                               |   41 +-
 drivers/staging/media/rkvdec/rkvdec.h                               |   12 +-
 include/media/v4l2-ctrls.h                                          |    4 +
 include/media/v4l2-vp9.h                                            |  233 +++++
 include/uapi/linux/v4l2-controls.h                                  |  284 ++++++
 include/uapi/linux/videodev2.h                                      |    6 +
 37 files changed, 6101 insertions(+), 105 deletions(-)
 create mode 100644 drivers/media/v4l2-core/v4l2-vp9.c
 create mode 100644 drivers/staging/media/hantro/hantro_g2.c
 create mode 100644 drivers/staging/media/hantro/hantro_g2_vp9_dec.c
 create mode 100644 drivers/staging/media/hantro/hantro_vp9.c
 create mode 100644 drivers/staging/media/hantro/hantro_vp9.h
 create mode 100644 drivers/staging/media/rkvdec/rkvdec-vp9.c
 create mode 100644 include/media/v4l2-vp9.h

Comments

Jenkins Nov. 17, 2021, 12:49 p.m. UTC | #1
From: builder@linuxtv.org

Pull request: https://patchwork.linuxtv.org/project/linux-media/patch/f05bda76-2fb0-bdd8-13c3-e52fbdfb7596@xs4all.nl/
Build log: https://builder.linuxtv.org/job/patchwork/157622/
Build time: 00:37:17
Link: https://lore.kernel.org/linux-media/f05bda76-2fb0-bdd8-13c3-e52fbdfb7596@xs4all.nl

gpg: Signature made Wed 17 Nov 2021 12:05:02 PM UTC
gpg:                using RSA key AAA7FFBA4D2D77EF4CAEA1421326E0CD23ABDCE5
gpg: Good signature from "Hans Verkuil <hverkuil-cisco@xs4all.nl>" [unknown]
gpg:                 aka "Hans Verkuil <hverkuil@xs4all.nl>" [unknown]
gpg: Note: This key has expired!
Primary key fingerprint: 052C DE7B C215 053B 689F  1BCA BD2D 6148 6614 3B4C
     Subkey fingerprint: AAA7 FFBA 4D2D 77EF 4CAE  A142 1326 E0CD 23AB DCE5

Summary: got 8/12 patches with issues, being 6 at build time, plus one error when buinding PDF document

Error/warnings:

patches/0001-hantro-postproc-Fix-motion-vector-space-size.patch:

    allyesconfig: return code #0:
	../scripts/genksyms/parse.y: warning: 9 shift/reduce conflicts [-Wconflicts-sr]
	../scripts/genksyms/parse.y: warning: 5 reduce/reduce conflicts [-Wconflicts-rr]
	../scripts/genksyms/parse.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples

    allyesconfig: return code #0:
	../drivers/media/cec/core/cec-adap.c: ../drivers/media/cec/core/cec-adap.c:926 cec_transmit_msg_fh() warn: '&data->list' not removed from list
	../drivers/media/rc/meson-ir-tx.c:22: warning: expecting prototype for meson(). Prototype was for DEVICE_NAME() instead
	SMATCH:../drivers/media/usb/siano/smsusb.c ../drivers/media/usb/siano/smsusb.c:53:38: :warning: array of flexible structures
	SPARSE:../drivers/media/usb/siano/smsusb.c ../drivers/media/usb/siano/smsusb.c:53:38: warning: array of flexible structures
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2625 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/usb/pvrusb2/pvrusb2-encoder.c: ../drivers/media/usb/pvrusb2/pvrusb2-encoder.c:288 pvr2_encoder_cmd() warn: inconsistent indenting
	../drivers/media/usb/pvrusb2/pvrusb2-hdw.c: ../drivers/media/usb/pvrusb2/pvrusb2-hdw.c:1730 pvr2_hdw_set_streaming() warn: inconsistent indenting
	../drivers/media/usb/pvrusb2/pvrusb2-hdw.c: ../drivers/media/usb/pvrusb2/pvrusb2-hdw.c:3461 pvr2_hdw_cpufw_set_enabled() warn: inconsistent indenting
	../drivers/media/usb/pvrusb2/pvrusb2-hdw.c: ../drivers/media/usb/pvrusb2/pvrusb2-hdw.c:3501 pvr2_hdw_cpufw_get() warn: inconsistent indenting
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1981 vivid_create_instance() parse error: turning off implications after 60 seconds
	../drivers/media/platform/qcom/venus/helpers.c: ../drivers/media/platform/qcom/venus/helpers.c:658 venus_helper_get_bufreq() error: we previously assumed 'req' could be null (see line 654)
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2889 em28xx_v4l2_init() parse error: turning off implications after 60 seconds

patches/0002-hantro-postproc-Introduce-struct-hantro_postproc_ops.patch:

    allyesconfig: return code #0:
	SPARSE:../drivers/staging/media/hantro/hantro_postproc.c ../drivers/staging/media/hantro/hantro_postproc.c:36:35: warning: symbol 'hantro_g1_postproc_regs' was not declared. Should it be static?

patches/0003-hantro-Simplify-postprocessor.patch:

    allyesconfig: return code #0:
	SPARSE:../drivers/staging/media/hantro/hantro_postproc.c ../drivers/staging/media/hantro/hantro_postproc.c:36:35: warning: symbol 'hantro_g1_postproc_regs' was not declared. Should it be static?

patches/0005-media-uapi-Add-VP9-stateless-decoder-controls.patch:

    allyesconfig: return code #0:
	SPARSE:../drivers/staging/media/hantro/hantro_postproc.c ../drivers/staging/media/hantro/hantro_postproc.c:36:35: warning: symbol 'hantro_g1_postproc_regs' was not declared. Should it be static?

    allyesconfig: return code #0:
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1981 vivid_create_instance() parse error: turning off implications after 60 seconds
	../drivers/media/usb/pvrusb2/pvrusb2-encoder.c: ../drivers/media/usb/pvrusb2/pvrusb2-encoder.c:288 pvr2_encoder_cmd() warn: inconsistent indenting
	../drivers/media/platform/qcom/venus/helpers.c: ../drivers/media/platform/qcom/venus/helpers.c:658 venus_helper_get_bufreq() error: we previously assumed 'req' could be null (see line 654)
	../drivers/media/usb/pvrusb2/pvrusb2-hdw.c: ../drivers/media/usb/pvrusb2/pvrusb2-hdw.c:1730 pvr2_hdw_set_streaming() warn: inconsistent indenting
	../drivers/media/usb/pvrusb2/pvrusb2-hdw.c: ../drivers/media/usb/pvrusb2/pvrusb2-hdw.c:3461 pvr2_hdw_cpufw_set_enabled() warn: inconsistent indenting
	../drivers/media/usb/pvrusb2/pvrusb2-hdw.c: ../drivers/media/usb/pvrusb2/pvrusb2-hdw.c:3501 pvr2_hdw_cpufw_get() warn: inconsistent indenting
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2900 em28xx_v4l2_init() parse error: turning off implications after 60 seconds

   checkpatch.pl:
	$ cat patches/0005-media-uapi-Add-VP9-stateless-decoder-controls.patch | formail -c | ./scripts/checkpatch.pl --terse --mailback --no-summary --strict
	-:721: WARNING: Avoid logging continuation uses where feasible
	-:724: WARNING: Avoid logging continuation uses where feasible
	-:933: WARNING: line length of 101 exceeds 100 columns
	-:958: ERROR: trailing statements should be on next line

patches/0006-media-Add-VP9-v4l2-library.patch:

   checkpatch.pl:
	$ cat patches/0006-media-Add-VP9-v4l2-library.patch | formail -c | ./scripts/checkpatch.pl --terse --mailback --no-summary --strict
	-:48: WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
	-:1161: CHECK: Macro argument reuse 'd' - possible side-effects?
	-:1162: ERROR: Macros with complex values should be enclosed in parentheses
	-:2050: WARNING: Missing a blank line after declarations

patches/0007-media-rkvdec-Add-the-VP9-backend.patch:

   checkpatch.pl:
	$ cat patches/0007-media-rkvdec-Add-the-VP9-backend.patch | formail -c | ./scripts/checkpatch.pl --terse --mailback --no-summary --strict
	-:12: WARNING: Co-developed-by: should not be used to attribute nominal patch author 'Andrzej Pietrasiewicz <andrzej.p@collabora.com>'
	-:46: WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
	-:279: CHECK: Blank lines aren't necessary before a close brace '}'
	-:884: CHECK: Macro argument reuse 'p1' - possible side-effects?
	-:884: CHECK: Macro argument reuse 'p2' - possible side-effects?

patches/0009-media-hantro-Prepare-for-other-G2-codecs.patch:

    allyesconfig: return code #0:
	SPARSE:../drivers/staging/media/hantro/hantro_postproc.c ../drivers/staging/media/hantro/hantro_postproc.c:36:35: warning: symbol 'hantro_g1_postproc_regs' was not declared. Should it be static?

   checkpatch.pl:
	$ cat patches/0009-media-hantro-Prepare-for-other-G2-codecs.patch | formail -c | ./scripts/checkpatch.pl --terse --mailback --no-summary --strict
	-:70: WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?

patches/0010-media-hantro-Support-VP9-on-the-G2-core.patch:

    allyesconfig: return code #0:
	SPARSE:../drivers/staging/media/hantro/hantro_postproc.c ../drivers/staging/media/hantro/hantro_postproc.c:36:35: warning: symbol 'hantro_g1_postproc_regs' was not declared. Should it be static?

   checkpatch.pl:
	$ cat patches/0010-media-hantro-Support-VP9-on-the-G2-core.patch | formail -c | ./scripts/checkpatch.pl --terse --mailback --no-summary --strict
	-:348: WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
	-:1250: CHECK: Macro argument reuse 'p1' - possible side-effects?
	-:1250: CHECK: Macro argument reuse 'p2' - possible side-effects?


Error #512 when building PDF docs