Linux-Media Archive on lore.kernel.org
 help / color / Atom feed
From: Benjamin Gaignard <benjamin.gaignard@collabora.com>
To: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	ezequiel@collabora.com, p.zabel@pengutronix.de,
	mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org,
	s.hauer@pengutronix.de, festevam@gmail.com, lee.jones@linaro.org,
	gregkh@linuxfoundation.org, mripard@kernel.org,
	paul.kocialkowski@bootlin.com, wens@csie.org,
	jernej.skrabec@siol.net, emil.l.velikov@gmail.com
Cc: kernel@pengutronix.de, linux-imx@nxp.com,
	linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org,
	kernel@collabora.com, cphealy@gmail.com
Subject: Re: [PATCH v10 0/9] Add HANTRO G2/HEVC decoder support for IMX8MQ
Date: Tue, 25 May 2021 18:14:14 +0200
Message-ID: <c4546e0e-730c-3c73-be98-bc5041da352f@collabora.com> (raw)
In-Reply-To: <7ce18309-fcb2-b7cd-0b22-5a8efb237f6a@xs4all.nl>


Le 25/05/2021 à 17:39, Hans Verkuil a écrit :
> On 05/05/2021 16:42, Hans Verkuil wrote:
>> Hi Benjamin,
>>
>> On 20/04/2021 14:10, Benjamin Gaignard wrote:
>>> The IMX8MQ got two VPUs but until now only G1 has been enabled.
>>> This series aim to add the second VPU (aka G2) and provide basic
>>> HEVC decoding support.
>>>
>>> To be able to decode HEVC it is needed to add/update some of the
>>> structures in the uapi. In addition of them one HANTRO dedicated
>>> control is required to inform the driver of the number of bits to skip
>>> at the beginning of the slice header.
>>> The hardware require to allocate few auxiliary buffers to store the
>>> references frame or tile size data.
>> This series clashes with this patch:
>>
>> https://patchwork.linuxtv.org/project/linux-media/patch/20210427071554.2222625-1-jernej.skrabec@siol.net/
>>
>> and this patch series:
>>
>> https://patchwork.linuxtv.org/project/linux-media/cover/20210401144336.2495479-1-emil.l.velikov@gmail.com/
>>
>> For both PRs are pending.
>>
>> It's probably better to wait until this is merged before rebasing this series.
> These two have been merged today.
>
> You find them in the master branch of https://git.linuxtv.org/media_stage.git/
>
> In a few days they should be merged as well into our main media tree master, but
> if you don't want to wait for that you can base your work on top of the media_stage
> git repo, that should be perfectly fine.
I have rebased my work on top of media_stage and send v11.
Thanks a lot.

Benjamin

>
> Regards,
>
> 	Hans
>
>> And if drivers are going to be moved out of staging, leaving only HEVC support
>> in staging, then I'd wait until that is done as well.
>>
>> Regards,
>>
>> 	Hans
>>
>>> The driver has been tested with fluster test suite stream.
>>> For example with this command: ./fluster.py run -ts JCT-VC-HEVC_V1 -d GStreamer-H.265-V4L2SL-Gst1.0
>>>
>>> version 10:
>>>   - Shorter version of the previous series without ctrl block patches
>>>     and no DT modifications.
>>>     The scope of this series is limited to HEVC support.
>>>
>>> version 9:
>>>   - Corrections in commits messages.
>>>   - Define the dedicated control in hevc-controls.h
>>>   - Add note in documentation.
>>>   - Change max value of the dedicated control.
>>>   - Rebased on media_tree/master branch.
>>>
>>> version 8:
>>>   - Add reviewed-by and ack-by tags
>>>   - Fix the warnings reported by kernel test robot
>>>   - Only patch 9 (adding dedicated control), patch 11 (HEVC support) and
>>>     patch 13 (DT changes) are still missing of review/ack tag.
>>>
>>> version 7:
>>>   - Remove 'q' from syscon phandle name to make usable for iMX8MM too.
>>>     Update the bindings documentation.
>>>   - Add review/ack tags.
>>>   - Rebase on top of media_tree/master
>>>   - Be more accurate when computing the size of the memory needed motion
>>>     vectors.
>>>   - Explain why the all clocks need to set in the both DT node.
>>>
>>> version 6:
>>>   - fix the errors reported by kernel test robot
>>>
>>> version 5:
>>>   - use syscon instead of VPU reset driver.
>>>   - Do not break kernel/DT backward compatibility.
>>>   - Add documentation for dedicated Hantro control.
>>>   - Fix the remarks done by Ezequeil (typo, comments, unused function)
>>>   - Run v4l2-compliance without errors (see below).
>>>   - Do not add field to distinguish version, check postproc reg instead
>>>
>>> version 4:
>>> - Split the changes in hevc controls in 2 commits to make them easier to
>>>    review.
>>> - Change hantro_codec_ops run() prototype to return errors
>>> - Hantro v4l2 dedicated control is now only an integer
>>> - rebase on top of VPU reset changes posted here:
>>>    https://www.spinics.net/lists/arm-kernel/msg878440.html
>>> - Various fix from previous remarks
>>> - Limit the modifications in API to what the driver needs
>>>
>>> version 3:
>>> - Fix typo in Hantro v4l2 dedicated control
>>> - Add documentation for the new structures and fields
>>> - Rebased on top of media_tree for-linus-5.12-rc1 tag
>>>
>>> version 2:
>>> - remove all change related to scaling
>>> - squash commits to a coherent split
>>> - be more verbose about the added fields
>>> - fix the comments done by Ezequiel about dma_alloc_coherent usage
>>> - fix Dan's comments about control copy, reverse the test logic
>>> in tile_buffer_reallocate, rework some goto and return cases.
>>> - be more verbose about why I change the bindings
>>> - remove all sign-off expect mime since it is confusing
>>> - remove useless clocks in VPUs nodes
>>>
>>> Benjamin Gaignard (9):
>>>    media: hevc: Add fields and flags for hevc PPS
>>>    media: hevc: Add decode params control
>>>    media: hantro: change hantro_codec_ops run prototype to return errors
>>>    media: hantro: Define HEVC codec profiles and supported features
>>>    media: hantro: Only use postproc when post processed formats are
>>>      defined
>>>    media: uapi: Add a control for HANTRO driver
>>>    media: hantro: handle V4L2_PIX_FMT_HEVC_SLICE control
>>>    media: hantro: Introduce G2/HEVC decoder
>>>    media: hantro: IMX8M: add variant for G2/HEVC codec
>>>
>>>   .../userspace-api/media/drivers/hantro.rst    |  19 +
>>>   .../userspace-api/media/drivers/index.rst     |   1 +
>>>   .../media/v4l/ext-ctrls-codec.rst             | 108 +++-
>>>   .../media/v4l/vidioc-queryctrl.rst            |   6 +
>>>   drivers/media/v4l2-core/v4l2-ctrls.c          |  28 +-
>>>   drivers/staging/media/hantro/Makefile         |   2 +
>>>   drivers/staging/media/hantro/hantro.h         |  13 +-
>>>   drivers/staging/media/hantro/hantro_drv.c     |  99 ++-
>>>   .../staging/media/hantro/hantro_g1_h264_dec.c |  10 +-
>>>   .../media/hantro/hantro_g1_mpeg2_dec.c        |   4 +-
>>>   .../staging/media/hantro/hantro_g1_vp8_dec.c  |   6 +-
>>>   .../staging/media/hantro/hantro_g2_hevc_dec.c | 587 ++++++++++++++++++
>>>   drivers/staging/media/hantro/hantro_g2_regs.h | 198 ++++++
>>>   .../staging/media/hantro/hantro_h1_jpeg_enc.c |   4 +-
>>>   drivers/staging/media/hantro/hantro_hevc.c    | 327 ++++++++++
>>>   drivers/staging/media/hantro/hantro_hw.h      |  69 +-
>>>   .../staging/media/hantro/hantro_postproc.c    |  14 +
>>>   drivers/staging/media/hantro/hantro_v4l2.c    |   5 +-
>>>   drivers/staging/media/hantro/imx8m_vpu_hw.c   |  74 ++-
>>>   .../media/hantro/rk3399_vpu_hw_jpeg_enc.c     |   4 +-
>>>   .../media/hantro/rk3399_vpu_hw_mpeg2_dec.c    |   4 +-
>>>   .../media/hantro/rk3399_vpu_hw_vp8_dec.c      |   6 +-
>>>   drivers/staging/media/sunxi/cedrus/cedrus.c   |   6 +
>>>   drivers/staging/media/sunxi/cedrus/cedrus.h   |   1 +
>>>   .../staging/media/sunxi/cedrus/cedrus_dec.c   |   2 +
>>>   .../staging/media/sunxi/cedrus/cedrus_h265.c  |  12 +-
>>>   include/media/hevc-ctrls.h                    |  46 +-
>>>   27 files changed, 1586 insertions(+), 69 deletions(-)
>>>   create mode 100644 Documentation/userspace-api/media/drivers/hantro.rst
>>>   create mode 100644 drivers/staging/media/hantro/hantro_g2_hevc_dec.c
>>>   create mode 100644 drivers/staging/media/hantro/hantro_g2_regs.h
>>>   create mode 100644 drivers/staging/media/hantro/hantro_hevc.c
>>>
>

      reply index

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-20 12:10 Benjamin Gaignard
2021-04-20 12:10 ` [PATCH v10 1/9] media: hevc: Add fields and flags for hevc PPS Benjamin Gaignard
2021-04-20 12:10 ` [PATCH v10 2/9] media: hevc: Add decode params control Benjamin Gaignard
2021-04-20 12:10 ` [PATCH v10 3/9] media: hantro: change hantro_codec_ops run prototype to return errors Benjamin Gaignard
2021-04-20 12:10 ` [PATCH v10 4/9] media: hantro: Define HEVC codec profiles and supported features Benjamin Gaignard
2021-04-20 12:10 ` [PATCH v10 5/9] media: hantro: Only use postproc when post processed formats are defined Benjamin Gaignard
2021-04-20 12:10 ` [PATCH v10 6/9] media: uapi: Add a control for HANTRO driver Benjamin Gaignard
2021-04-29 13:43   ` Ezequiel Garcia
2021-05-05 14:55   ` Hans Verkuil
2021-05-05 15:20     ` Benjamin Gaignard
2021-05-06 12:50       ` Hans Verkuil
2021-05-06 13:11         ` John Cox
2021-05-06 14:29           ` Nicolas Dufresne
2021-05-16 23:04         ` Ezequiel Garcia
2021-05-18 17:17           ` Nicolas Dufresne
2021-05-05 21:01     ` Ezequiel Garcia
2021-05-05 15:18   ` John Cox
2021-05-05 15:33     ` Nicolas Dufresne
2021-04-20 12:10 ` [PATCH v10 7/9] media: hantro: handle V4L2_PIX_FMT_HEVC_SLICE control Benjamin Gaignard
2021-04-20 12:10 ` [PATCH v10 8/9] media: hantro: Introduce G2/HEVC decoder Benjamin Gaignard
2021-05-05 14:47   ` Hans Verkuil
2021-04-20 12:10 ` [PATCH v10 9/9] media: hantro: IMX8M: add variant for G2/HEVC codec Benjamin Gaignard
2021-05-05 14:42 ` [PATCH v10 0/9] Add HANTRO G2/HEVC decoder support for IMX8MQ Hans Verkuil
2021-05-25 15:39   ` Hans Verkuil
2021-05-25 16:14     ` Benjamin Gaignard [this message]

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=c4546e0e-730c-3c73-be98-bc5041da352f@collabora.com \
    --to=benjamin.gaignard@collabora.com \
    --cc=cphealy@gmail.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=devicetree@vger.kernel.org \
    --cc=emil.l.velikov@gmail.com \
    --cc=ezequiel@collabora.com \
    --cc=festevam@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=jernej.skrabec@siol.net \
    --cc=kernel@collabora.com \
    --cc=kernel@pengutronix.de \
    --cc=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mchehab@kernel.org \
    --cc=mripard@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=paul.kocialkowski@bootlin.com \
    --cc=robh+dt@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=wens@csie.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

Linux-Media Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/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/ https://lore.kernel.org/linux-media \
		linux-media@vger.kernel.org
	public-inbox-index linux-media

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-media


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git