[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-driver-devel
Subject:    Re: [PATCH v10 0/9] Add HANTRO G2/HEVC decoder support for IMX8MQ
From:       Benjamin Gaignard <benjamin.gaignard () collabora ! com>
Date:       2021-05-25 16:14:14
Message-ID: c4546e0e-730c-3c73-be98-bc5041da352f () collabora ! com
[Download RAW message or body]


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
> > > 
> 
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic