From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B651BC31E49 for ; Wed, 19 Jun 2019 12:16:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9A01121530 for ; Wed, 19 Jun 2019 12:16:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731686AbfFSMPr (ORCPT ); Wed, 19 Jun 2019 08:15:47 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:40444 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727076AbfFSMPr (ORCPT ); Wed, 19 Jun 2019 08:15:47 -0400 Received: from localhost.localdomain (unknown [IPv6:2a01:e0a:2c:6930:5cf4:84a1:2763:fe0d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: bbrezillon) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 7767C26069F; Wed, 19 Jun 2019 13:15:44 +0100 (BST) From: Boris Brezillon To: Mauro Carvalho Chehab , Hans Verkuil , Laurent Pinchart , Sakari Ailus , linux-media@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Tomasz Figa , Nicolas Dufresne , kernel@collabora.com, Paul Kocialkowski , Ezequiel Garcia , Jonas Karlman , linux-rockchip@lists.infradead.org, Heiko Stuebner , Andrew Morton , Rasmus Villemoes , Philipp Zabel , Boris Brezillon Subject: [PATCH 0/9] media: hantro: Add support for H264 decoding Date: Wed, 19 Jun 2019 14:15:31 +0200 Message-Id: <20190619121540.29320-1-boris.brezillon@collabora.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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