Re: [PATCH 0/8] Additional features for Hantro HEVC

Ezequiel Garcia
2021-06-04T16:49:27Z

Hi Benjamin,

Thanks for posting this so quickly.

On Fri, 2021-06-04 at 15:06 +0200, Benjamin Gaignard wrote:
> Basic HEVC support has been added to Hantro driver in this pull request:
> https://www.spinics.net/lists/linux-media/msg193744.html
>
> Thanks to that it is now possible to support more features for this driver.
>
> The first patch allow to log the hardware performance per macroblock.
> The second patch makes the driver use compressed reference frames to
> reduce memory bandwidth consumption.

As I commented, it would be nice to do some measurements here

> Patches 3 to 5 allow to decode and produce 10-bits P010 frames.

I suppose this means that some 10-bit test vectors in Fluster HEVC
test suite are now passing?

> Patch 6 make usage of G2 post processor to scale down the frames.
> Patches 7 and 8 add the support of HEVC scaling matrix by adding a new
> control.
>

Ditto, the test vectors with scaling lists should now pass, any chance
you post the test suite run before and after this series, just for reference?

Thanks again,
Ezequiel

> All these patches enhance the HEVC support for Hantro (G2) hardware.
> Unluckily they almost all touch the same pieces of code, where buffer
> size, offset and addresses are set, so they have to be in this order.
> They depend of the series pushed in this pull request:
> https://www.spinics.net/lists/linux-media/msg193744.html
>
> Benjamin
>
> Benjamin Gaignard (8):
>   media: hantro: Trace hevc hw cycles performance register
>   media: hantro: Add support of compressed reference buffers
>   media: hantro: hevc: Allow 10-bits encoded streams
>   media: Add P010 video format
>   media: hantro: hevc: Allow to produce 10-bit frames
>   media: hantro: enumerate scaled output formats
>   media: hevc: Add scaling matrix control
>   media: hantro: Add scaling lists feature
>
>  .../media/v4l/ext-ctrls-codec.rst             |  45 +++++
>  .../media/v4l/pixfmt-yuv-planar.rst           |   8 +
>  .../media/v4l/vidioc-queryctrl.rst            |   6 +
>  drivers/media/v4l2-core/v4l2-common.c         |   1 +
>  drivers/media/v4l2-core/v4l2-ctrls-core.c     |   6 +
>  drivers/media/v4l2-core/v4l2-ctrls-defs.c     |   4 +
>  drivers/media/v4l2-core/v4l2-ioctl.c          |   1 +
>  drivers/staging/media/hantro/hantro.h         |   4 +
>  drivers/staging/media/hantro/hantro_drv.c     |  32 +++-
>  .../staging/media/hantro/hantro_g2_hevc_dec.c | 175 ++++++++++++++++--
>  drivers/staging/media/hantro/hantro_g2_regs.h |  12 ++
>  drivers/staging/media/hantro/hantro_hevc.c    |  60 +++++-
>  drivers/staging/media/hantro/hantro_hw.h      |   7 +
>  drivers/staging/media/hantro/hantro_v4l2.c    |  10 +-
>  drivers/staging/media/hantro/imx8m_vpu_hw.c   |   6 +
>  drivers/staging/media/hantro/trace.h          |  40 ++++
>  include/media/hevc-ctrls.h                    |  11 ++
>  include/uapi/linux/videodev2.h                |   1 +
>  18 files changed, 407 insertions(+), 22 deletions(-)
>  create mode 100644 drivers/staging/media/hantro/trace.h
>