[0/9] media: hantro: Add support for H264 decoding
mbox series

Message ID 20190619121540.29320-1-boris.brezillon@collabora.com
Headers show
Series
  • media: hantro: Add support for H264 decoding
Related show

Message

Boris Brezillon June 19, 2019, 12:15 p.m. UTC
Hello,

This patch series adds support H264 decoding support to the hantro
driver and doing some consilidation cleanup in the driver along the
way.

Some details about the patches forming this patchset:

* The first patch is adding support for the sort_r() variant and has
  been posted separately by Rasmus. I put it back there because Andrew
  told me to repost it with the patch series using this new variant.
  As mentioned in the patch itself, I'd like this patch to be merged
  as soon as possible to avoid the synchronisation burden that might
  appear if we decide to delay it.

* Patch 2 is needed to properly propagate the output buf timestamp to
  the capture buf one, which is required for intra-frame references.

* Patches 3 to 6 are consolidating the code by providing helpers that
  can be used by all hantro backend and simplifying the ctrl
  initialization logic. We also constify the controls array.

* Patches 7 to 8 are adding common H264 decoding bits and patch 9 is
  enabling H264 decoding on rk3288

Now, a few words about the dependencies. Unfortunately there are a lot,
and that'd be great to have some of them merged.

* This series is based on top of Ezequiel's VP8 work [1].
* It depends on [2] which defines/described the H264 decoding mode
  control.
* Depends on [3] since I'm using vb2_get_buffer() to retrieve a
  reference buffer
* The final dep is a fix I sent this morning allowing me to simplify the
  ctrl initialization logic

Regards,

Boris

Boris Brezillon (5):
  media: hantro: Move copy_metadata() before doing a decode operation
  media: hantro: Constify the control array
  media: hantro: Simplify the controls creation logic
  media: hantro: Add hantro_get_{src,dst}_buf() helpers
  media: hantro: Add helpers to prepare/finish a run

Hertz Wong (3):
  media: hantro: Add core bits to support H264 decoding
  media: hantro: Add support for H264 decoding on G1
  media: hantro: Enable H264 decoding on rk3288

Rasmus Villemoes (1):
  lib/sort.c: implement sort() variant taking context argument

 drivers/staging/media/hantro/Makefile         |   2 +
 drivers/staging/media/hantro/hantro.h         |  24 +-
 drivers/staging/media/hantro/hantro_drv.c     |  95 ++-
 .../staging/media/hantro/hantro_g1_h264_dec.c | 295 ++++++++
 .../media/hantro/hantro_g1_mpeg2_dec.c        |  14 +-
 .../staging/media/hantro/hantro_g1_vp8_dec.c  |  17 +-
 .../staging/media/hantro/hantro_h1_jpeg_enc.c |  11 +-
 drivers/staging/media/hantro/hantro_h264.c    | 638 ++++++++++++++++++
 drivers/staging/media/hantro/hantro_hw.h      |  55 ++
 drivers/staging/media/hantro/hantro_v4l2.c    |  15 +-
 drivers/staging/media/hantro/rk3288_vpu_hw.c  |  21 +-
 .../media/hantro/rk3399_vpu_hw_jpeg_enc.c     |  12 +-
 .../media/hantro/rk3399_vpu_hw_mpeg2_dec.c    |  14 +-
 include/linux/sort.h                          |   5 +
 lib/sort.c                                    |  34 +-
 15 files changed, 1175 insertions(+), 77 deletions(-)
 create mode 100644 drivers/staging/media/hantro/hantro_g1_h264_dec.c
 create mode 100644 drivers/staging/media/hantro/hantro_h264.c

Comments

Boris Brezillon June 19, 2019, 12:23 p.m. UTC | #1
On Wed, 19 Jun 2019 14:15:31 +0200
Boris Brezillon <boris.brezillon@collabora.com> wrote:

> Hello,
> 
> This patch series adds support H264 decoding support to the hantro
> driver and doing some consilidation cleanup in the driver along the
> way.
> 
> Some details about the patches forming this patchset:
> 
> * The first patch is adding support for the sort_r() variant and has
>   been posted separately by Rasmus. I put it back there because Andrew
>   told me to repost it with the patch series using this new variant.
>   As mentioned in the patch itself, I'd like this patch to be merged
>   as soon as possible to avoid the synchronisation burden that might
>   appear if we decide to delay it.
> 
> * Patch 2 is needed to properly propagate the output buf timestamp to
>   the capture buf one, which is required for intra-frame references.
> 
> * Patches 3 to 6 are consolidating the code by providing helpers that
>   can be used by all hantro backend and simplifying the ctrl
>   initialization logic. We also constify the controls array.
> 
> * Patches 7 to 8 are adding common H264 decoding bits and patch 9 is
>   enabling H264 decoding on rk3288
> 
> Now, a few words about the dependencies. Unfortunately there are a lot,
> and that'd be great to have some of them merged.
> 
> * This series is based on top of Ezequiel's VP8 work [1].
> * It depends on [2] which defines/described the H264 decoding mode
>   control.
> * Depends on [3] since I'm using vb2_get_buffer() to retrieve a
>   reference buffer
> * The final dep is a fix I sent this morning allowing me to simplify the
>   ctrl initialization logic [4]

And now the links :-).

[1]https://patchwork.kernel.org/project/linux-media/list/?series=131677
[2]https://patchwork.kernel.org/project/linux-media/list/?series=129567
[3]https://patchwork.kernel.org/project/linux-media/list/?series=129895
[4]https://patchwork.kernel.org/patch/11003737/

> 
> Regards,
> 
> Boris
> 
> Boris Brezillon (5):
>   media: hantro: Move copy_metadata() before doing a decode operation
>   media: hantro: Constify the control array
>   media: hantro: Simplify the controls creation logic
>   media: hantro: Add hantro_get_{src,dst}_buf() helpers
>   media: hantro: Add helpers to prepare/finish a run
> 
> Hertz Wong (3):
>   media: hantro: Add core bits to support H264 decoding
>   media: hantro: Add support for H264 decoding on G1
>   media: hantro: Enable H264 decoding on rk3288
> 
> Rasmus Villemoes (1):
>   lib/sort.c: implement sort() variant taking context argument
> 
>  drivers/staging/media/hantro/Makefile         |   2 +
>  drivers/staging/media/hantro/hantro.h         |  24 +-
>  drivers/staging/media/hantro/hantro_drv.c     |  95 ++-
>  .../staging/media/hantro/hantro_g1_h264_dec.c | 295 ++++++++
>  .../media/hantro/hantro_g1_mpeg2_dec.c        |  14 +-
>  .../staging/media/hantro/hantro_g1_vp8_dec.c  |  17 +-
>  .../staging/media/hantro/hantro_h1_jpeg_enc.c |  11 +-
>  drivers/staging/media/hantro/hantro_h264.c    | 638 ++++++++++++++++++
>  drivers/staging/media/hantro/hantro_hw.h      |  55 ++
>  drivers/staging/media/hantro/hantro_v4l2.c    |  15 +-
>  drivers/staging/media/hantro/rk3288_vpu_hw.c  |  21 +-
>  .../media/hantro/rk3399_vpu_hw_jpeg_enc.c     |  12 +-
>  .../media/hantro/rk3399_vpu_hw_mpeg2_dec.c    |  14 +-
>  include/linux/sort.h                          |   5 +
>  lib/sort.c                                    |  34 +-
>  15 files changed, 1175 insertions(+), 77 deletions(-)
>  create mode 100644 drivers/staging/media/hantro/hantro_g1_h264_dec.c
>  create mode 100644 drivers/staging/media/hantro/hantro_h264.c
>