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:As I commented, it would be nice to do some measurements here
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.
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.Ditto, the test vectors with scaling lists should now pass, any chance
Patches 7 and 8 add the support of HEVC scaling matrix by adding a new
control.
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