[PATCH 0/9] media: hantro: Add support for H264 decoding
From: Boris Brezillon
Date: Wed Jun 19 2019 - 08:21:40 EST
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
--
2.20.1