All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/9] AV1 stateless decoder for RK3588
@ 2022-12-19 15:56 ` Benjamin Gaignard
  0 siblings, 0 replies; 134+ messages in thread
From: Benjamin Gaignard @ 2022-12-19 15:56 UTC (permalink / raw)
  To: ezequiel, p.zabel, mchehab, robh+dt, krzysztof.kozlowski+dt,
	heiko, daniel.almeida, nicolas.dufresne
  Cc: linux-media, linux-rockchip, devicetree, linux-arm-kernel,
	linux-kernel, kernel, Benjamin Gaignard

This series implement AV1 stateless decoder for RK3588 SoC.
The harware support 8 and 10 bits bitstreams up to 7680x4320.
AV1 feature like film grain or scaling are done by the postprocessor.
The driver can produce NV12_4L4 and NV12 pixel formats.
A native 10bits NV12_4L4 format is possible but need more investigation
to be completly documented and enabled.

It is based on Daniel's "[RFC,v3] media: Add AV1 uAPI" [1] patches and
Sebastian's device-tree patches for RK3588.

The full branch can be found here:
https://gitlab.collabora.com/linux/for-upstream/-/commits/rk3588_av1_decoder_v1

Fluster score is: 151/239 while testing AV1-TEST-VECTORS with GStreamer-AV1-V4L2SL-Gst1.0.
The failing tests are:
- 10bits bitstream because 10bits output formats aren't yet implemented.
- the 2 tests with 2 spatial layers: few errors in luma/chroma values
- tests with resolution < hardware limit (64x64)

Benjamin

Benjamin Gaignard (9):
  dt-bindings: media: rockchip-vpu: Add rk3588 vpu compatible
  media: verisilicon: Add AV1 decoder mode and controls
  media: verisilicon: Save bit depth for AV1 decoder
  media: verisilicon: Check AV1 bitstreams bit depth
  media: verisilicon: Compute motion vectors size for AV1 frames
  media: verisilicon: Add AV1 entropy helpers
  media: verisilicon: Add Rockchip AV1 decoder
  media: verisilicon: Add film grain feature to AV1 driver
  media: verisilicon: Enable AV1 decoder on rk3588

 .../bindings/media/rockchip-vpu.yaml          |    1 +
 drivers/media/platform/verisilicon/Makefile   |    3 +
 drivers/media/platform/verisilicon/hantro.h   |    5 +
 .../media/platform/verisilicon/hantro_drv.c   |   54 +
 .../media/platform/verisilicon/hantro_hw.h    |  102 +
 .../platform/verisilicon/hantro_postproc.c    |    3 +
 .../media/platform/verisilicon/hantro_v4l2.c  |    5 +
 .../verisilicon/rockchip_av1_entropymode.c    | 4536 +++++++++++++++++
 .../verisilicon/rockchip_av1_entropymode.h    |  272 +
 .../verisilicon/rockchip_av1_filmgrain.c      |  401 ++
 .../verisilicon/rockchip_av1_filmgrain.h      |   36 +
 .../verisilicon/rockchip_vpu981_hw_av1_dec.c  | 2280 +++++++++
 .../verisilicon/rockchip_vpu981_regs.h        |  477 ++
 .../platform/verisilicon/rockchip_vpu_hw.c    |  116 +
 14 files changed, 8291 insertions(+)
 create mode 100644 drivers/media/platform/verisilicon/rockchip_av1_entropymode.c
 create mode 100644 drivers/media/platform/verisilicon/rockchip_av1_entropymode.h
 create mode 100644 drivers/media/platform/verisilicon/rockchip_av1_filmgrain.c
 create mode 100644 drivers/media/platform/verisilicon/rockchip_av1_filmgrain.h
 create mode 100644 drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c
 create mode 100644 drivers/media/platform/verisilicon/rockchip_vpu981_regs.h

-- 
2.34.1


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 134+ messages in thread

end of thread, other threads:[~2022-12-24  7:29 UTC | newest]

Thread overview: 134+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-19 15:56 [PATCH v1 0/9] AV1 stateless decoder for RK3588 Benjamin Gaignard
2022-12-19 15:56 ` Benjamin Gaignard
2022-12-19 15:56 ` Benjamin Gaignard
2022-12-19 15:56 ` [PATCH v1 1/9] dt-bindings: media: rockchip-vpu: Add rk3588 vpu compatible Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 16:06   ` Krzysztof Kozlowski
2022-12-19 16:06     ` Krzysztof Kozlowski
2022-12-19 16:06     ` Krzysztof Kozlowski
2022-12-19 16:44     ` Benjamin Gaignard
2022-12-19 16:44       ` Benjamin Gaignard
2022-12-19 16:44       ` Benjamin Gaignard
2022-12-20  9:55   ` Krzysztof Kozlowski
2022-12-20  9:55     ` Krzysztof Kozlowski
2022-12-20  9:55     ` Krzysztof Kozlowski
2022-12-19 15:56 ` [PATCH v1 2/9] media: verisilicon: Add AV1 decoder mode and controls Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 18:25   ` kernel test robot
2022-12-19 18:25     ` kernel test robot
2022-12-19 20:26     ` Nicolas Dufresne
2022-12-19 20:26       ` Nicolas Dufresne
2022-12-19 20:26       ` Nicolas Dufresne
2022-12-19 20:28   ` Nicolas Dufresne
2022-12-19 20:28     ` Nicolas Dufresne
2022-12-19 20:28     ` Nicolas Dufresne
2022-12-19 15:56 ` [PATCH v1 3/9] media: verisilicon: Save bit depth for AV1 decoder Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 20:37   ` Nicolas Dufresne
2022-12-19 20:37     ` Nicolas Dufresne
2022-12-19 20:37     ` Nicolas Dufresne
2022-12-19 21:29     ` Ezequiel Garcia
2022-12-19 21:29       ` Ezequiel Garcia
2022-12-19 21:29       ` Ezequiel Garcia
2022-12-20 13:05       ` Benjamin Gaignard
2022-12-20 13:05         ` Benjamin Gaignard
2022-12-20 13:05         ` Benjamin Gaignard
2022-12-19 22:08   ` kernel test robot
2022-12-19 22:08     ` kernel test robot
2022-12-19 15:56 ` [PATCH v1 4/9] media: verisilicon: Check AV1 bitstreams bit depth Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 20:38   ` Nicolas Dufresne
2022-12-19 20:38     ` Nicolas Dufresne
2022-12-19 20:38     ` Nicolas Dufresne
2022-12-20 13:02     ` Benjamin Gaignard
2022-12-20 13:02       ` Benjamin Gaignard
2022-12-20 13:02       ` Benjamin Gaignard
2022-12-21 16:16       ` Nicolas Dufresne
2022-12-21 16:16         ` Nicolas Dufresne
2022-12-21 16:16         ` Nicolas Dufresne
2022-12-19 15:56 ` [PATCH v1 5/9] media: verisilicon: Compute motion vectors size for AV1 frames Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 20:42   ` Nicolas Dufresne
2022-12-19 20:42     ` Nicolas Dufresne
2022-12-19 20:42     ` Nicolas Dufresne
2022-12-20 13:13     ` Benjamin Gaignard
2022-12-20 13:13       ` Benjamin Gaignard
2022-12-20 13:13       ` Benjamin Gaignard
2022-12-19 15:56 ` [PATCH v1 6/9] media: verisilicon: Add AV1 entropy helpers Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 20:51   ` Nicolas Dufresne
2022-12-19 20:51     ` Nicolas Dufresne
2022-12-20 10:19   ` Andrzej Pietrasiewicz
2022-12-20 10:19     ` Andrzej Pietrasiewicz
2022-12-20 12:19     ` Benjamin Gaignard
2022-12-20 12:19       ` Benjamin Gaignard
2022-12-19 15:56 ` [PATCH v1 7/9] media: verisilicon: Add Rockchip AV1 decoder Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 19:16   ` kernel test robot
2022-12-19 19:16     ` kernel test robot
2022-12-19 21:56   ` Nicolas Dufresne
2022-12-19 21:56     ` Nicolas Dufresne
2022-12-20 14:49     ` Benjamin Gaignard
2022-12-20 14:49       ` Benjamin Gaignard
2022-12-21 16:30       ` Nicolas Dufresne
2022-12-21 16:30         ` Nicolas Dufresne
2022-12-21 16:37         ` Benjamin Gaignard
2022-12-21 16:37           ` Benjamin Gaignard
2022-12-23 23:15           ` Daniel Almeida
2022-12-23 23:15             ` Daniel Almeida
2022-12-23 23:15             ` Daniel Almeida
2022-12-23 23:20             ` Daniel Almeida
2022-12-23 23:20               ` Daniel Almeida
2022-12-23 23:20               ` Daniel Almeida
2022-12-19 15:56 ` [PATCH v1 8/9] media: verisilicon: Add film grain feature to AV1 driver Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 20:47   ` kernel test robot
2022-12-19 20:47     ` kernel test robot
2022-12-19 15:56 ` [PATCH v1 9/9] media: verisilicon: Enable AV1 decoder on rk3588 Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 15:56   ` Benjamin Gaignard
2022-12-19 20:22 ` [PATCH v1 0/9] AV1 stateless decoder for RK3588 Nicolas Dufresne
2022-12-19 20:22   ` Nicolas Dufresne
2022-12-19 20:22   ` Nicolas Dufresne
2022-12-19 21:07 ` Ezequiel Garcia
2022-12-19 21:07   ` Ezequiel Garcia
2022-12-19 21:07   ` Ezequiel Garcia
2022-12-19 21:54   ` Michael Grzeschik
2022-12-19 21:54     ` Michael Grzeschik
2022-12-19 21:54     ` Michael Grzeschik
2022-12-20  1:52     ` Ezequiel Garcia
2022-12-20  1:52       ` Ezequiel Garcia
2022-12-20  1:52       ` Ezequiel Garcia
2022-12-20 12:26       ` Benjamin Gaignard
2022-12-20 12:26         ` Benjamin Gaignard
2022-12-20 12:26         ` Benjamin Gaignard
2022-12-20 13:40       ` Michael Grzeschik
2022-12-20 13:40         ` Michael Grzeschik
2022-12-20 13:40         ` Michael Grzeschik
2022-12-20 17:15         ` Nicolas Dufresne
2022-12-20 17:15           ` Nicolas Dufresne
2022-12-20 17:15           ` Nicolas Dufresne
2022-12-20 17:50           ` Ezequiel Garcia
2022-12-20 17:50             ` Ezequiel Garcia
2022-12-20 17:50             ` Ezequiel Garcia
2022-12-21 22:17           ` Michael Grzeschik
2022-12-21 22:17             ` Michael Grzeschik
2022-12-21 22:17             ` Michael Grzeschik
2022-12-20 17:00     ` Nicolas Dufresne
2022-12-20 17:00       ` Nicolas Dufresne
2022-12-20 17:00       ` Nicolas Dufresne
2022-12-21 22:01       ` Michael Grzeschik
2022-12-21 22:01         ` Michael Grzeschik
2022-12-21 22:01         ` Michael Grzeschik
2022-12-22 13:24         ` Ezequiel Garcia
2022-12-22 13:24           ` Ezequiel Garcia
2022-12-22 13:24           ` Ezequiel Garcia
2022-12-21 16:33   ` Nicolas Dufresne
2022-12-21 16:33     ` Nicolas Dufresne
2022-12-21 16:33     ` Nicolas Dufresne

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.