mbox series

[v4,0/5] Add support for video hardware codec of STMicroelectronics STM32 SoC series

Message ID 20231220152732.2138260-1-hugues.fruchet@foss.st.com (mailing list archive)
Headers show
Series Add support for video hardware codec of STMicroelectronics STM32 SoC series | expand

Message

Hugues FRUCHET Dec. 20, 2023, 3:27 p.m. UTC
This patchset introduces support for VDEC video hardware decoder
and VENC video hardware encoder of STMicroelectronics STM32MP25
SoC series.

This initial support implements H264 decoding, VP8 decoding and
JPEG encoding.

This has been tested on STM32MP257F-EV1 evaluation board.

===========
= history =
===========
version 4:
   - Fix comments from Nicolas about dropping encoder raw steps

version 3:
   - Fix remarks from Krzysztof Kozlowski:
    - drop "items", we keep simple enum in such case
    - drop second example - it is the same as the first
   - Drop unused node labels as suggested by Conor Dooley
   - Revisit min/max resolutions as suggested by Nicolas Dufresne

version 2:
   - Fix remarks from Krzysztof Kozlowski on v1:
    - single video-codec binding for both VDEC/VENC
    - get rid of "-names"
    - use of generic node name "video-codec"

version 1:
  - Initial submission

Hugues Fruchet (5):
  dt-bindings: media: Document STM32MP25 VDEC & VENC video codecs
  media: hantro: add support for STM32MP25 VDEC
  media: hantro: add support for STM32MP25 VENC
  arm64: dts: st: add video decoder support to stm32mp255
  arm64: dts: st: add video encoder support to stm32mp255

 .../media/st,stm32mp25-video-codec.yaml       |  50 ++++++++
 arch/arm64/boot/dts/st/stm32mp251.dtsi        |  12 ++
 arch/arm64/boot/dts/st/stm32mp255.dtsi        |  17 +++
 drivers/media/platform/verisilicon/Kconfig    |  14 ++-
 drivers/media/platform/verisilicon/Makefile   |   4 +
 .../media/platform/verisilicon/hantro_drv.c   |   4 +
 .../media/platform/verisilicon/hantro_hw.h    |   2 +
 .../platform/verisilicon/stm32mp25_vdec_hw.c  |  92 ++++++++++++++
 .../platform/verisilicon/stm32mp25_venc_hw.c  | 115 ++++++++++++++++++
 9 files changed, 307 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/st,stm32mp25-video-codec.yaml
 create mode 100644 drivers/media/platform/verisilicon/stm32mp25_vdec_hw.c
 create mode 100644 drivers/media/platform/verisilicon/stm32mp25_venc_hw.c

Comments

Nicolas Dufresne Dec. 20, 2023, 4:37 p.m. UTC | #1
Le mercredi 20 décembre 2023 à 16:27 +0100, Hugues Fruchet a écrit :
> This patchset introduces support for VDEC video hardware decoder
> and VENC video hardware encoder of STMicroelectronics STM32MP25
> SoC series.
> 
> This initial support implements H264 decoding, VP8 decoding and
> JPEG encoding.
> 
> This has been tested on STM32MP257F-EV1 evaluation board.
> 
> ===========
> = history =
> ===========
> version 4:
>    - Fix comments from Nicolas about dropping encoder raw steps

As discussed in chat, The 4K resolution didn't work correctly, so all the
resolution have been set back to 1080p.

> 
> version 3:
>    - Fix remarks from Krzysztof Kozlowski:
>     - drop "items", we keep simple enum in such case
>     - drop second example - it is the same as the first
>    - Drop unused node labels as suggested by Conor Dooley
>    - Revisit min/max resolutions as suggested by Nicolas Dufresne
> 
> version 2:
>    - Fix remarks from Krzysztof Kozlowski on v1:
>     - single video-codec binding for both VDEC/VENC
>     - get rid of "-names"
>     - use of generic node name "video-codec"
> 
> version 1:
>   - Initial submission
> 
> Hugues Fruchet (5):
>   dt-bindings: media: Document STM32MP25 VDEC & VENC video codecs
>   media: hantro: add support for STM32MP25 VDEC
>   media: hantro: add support for STM32MP25 VENC
>   arm64: dts: st: add video decoder support to stm32mp255
>   arm64: dts: st: add video encoder support to stm32mp255
> 
>  .../media/st,stm32mp25-video-codec.yaml       |  50 ++++++++
>  arch/arm64/boot/dts/st/stm32mp251.dtsi        |  12 ++
>  arch/arm64/boot/dts/st/stm32mp255.dtsi        |  17 +++
>  drivers/media/platform/verisilicon/Kconfig    |  14 ++-
>  drivers/media/platform/verisilicon/Makefile   |   4 +
>  .../media/platform/verisilicon/hantro_drv.c   |   4 +
>  .../media/platform/verisilicon/hantro_hw.h    |   2 +
>  .../platform/verisilicon/stm32mp25_vdec_hw.c  |  92 ++++++++++++++
>  .../platform/verisilicon/stm32mp25_venc_hw.c  | 115 ++++++++++++++++++
>  9 files changed, 307 insertions(+), 3 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/media/st,stm32mp25-video-codec.yaml
>  create mode 100644 drivers/media/platform/verisilicon/stm32mp25_vdec_hw.c
>  create mode 100644 drivers/media/platform/verisilicon/stm32mp25_venc_hw.c
>