Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1098646pxj; Fri, 4 Jun 2021 06:08:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJypeNHKzrn88GOlWi+cawletRl+eMVsBftRix5rYWr29vksWs5UUb3/5zm1NA7pN+2A3LRR X-Received: by 2002:a17:906:2c1b:: with SMTP id e27mr4086896ejh.5.1622812093358; Fri, 04 Jun 2021 06:08:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622812093; cv=none; d=google.com; s=arc-20160816; b=0zo6kL4xD9ScG2oW52pBWbBJnhba4LfkZ8m9BMjjqjIZHlQ0vg4LPizlB+Ba3eWmXp 3fdfoyr0Dyj+T2MaCPX2cFrP4TwvtNxWE/N/VDdGNXUCstexyfCyAyxjBIOex7xnD6lw W9AyO+wdYMemPJ7L2HbXyw6c8bQ3eHOYvTut0aPXZ8ycjBZ8HVCPVLtjlwCfrOLdYyOD q3QCXyCYFL4XBppiTz9iBug4cjAZM3rABwLd2v20gtXNV5sAiO9c3+ii8yRlHZDKIzQz UpG6zhQiJXMGGcqMG+oFPIJsVkMoAawVeTzfAJYo/XYGZvwZIc3jF6YaBO/3LXaWl/xi OG9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=afIBxVNBpdR0quzMnzodfaK7J6YYldzEbAfQ61/i9B0=; b=0uVS5Kd+Pa5MDgirFBIukTuHIdraJZoGnxWRVoejiDyNUw1fnRGUqq7QazbrC2aPNQ 1Hz2qjtOy/ZpJAbG4HRKavUTzHt2X9m1gJadIFcE5/JCu2wYOmpFxSzm/yuYk/47WZjA YBkUKgDuTA9rl1+tQ/H5DsHHjmBGChWKD9LaBmP6zapFjSdlNmPfPRP/GXSy3mIXav7T gC8hGln4ENoRqY5aV0qB7+ODuZGyvbQTEtKavXqQRCaN7V+LQfgb92tlvUVI+o2H6W+j WJ+GuAz8VRhtxpV6YJ2V1kSfQexJXMyNsnCFz84YcV2t99TyWdx5lcMMMbRIEFeTeWI5 Qn5g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n16si4686959edq.422.2021.06.04.06.07.47; Fri, 04 Jun 2021 06:08:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230234AbhFDNId (ORCPT + 99 others); Fri, 4 Jun 2021 09:08:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230162AbhFDNId (ORCPT ); Fri, 4 Jun 2021 09:08:33 -0400 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 98C02C06174A; Fri, 4 Jun 2021 06:06:46 -0700 (PDT) Received: from localhost.localdomain (unknown [IPv6:2a01:e0a:4cb:a870:389:b21e:a7e4:8cad]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id D471B1F438B6; Fri, 4 Jun 2021 14:06:37 +0100 (BST) From: Benjamin Gaignard To: hverkuil@xs4all.nl, ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, emil.l.velikov@gmail.com, andrzej.p@collabora.com, jc@kynesim.co.uk Cc: kernel@pengutronix.de, linux-imx@nxp.com, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Benjamin Gaignard Subject: [PATCH 0/8] Additional features for Hantro HEVC Date: Fri, 4 Jun 2021 15:06:11 +0200 Message-Id: <20210604130619.491200-1-benjamin.gaignard@collabora.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Basic HEVC support has been added to Hantro driver in this pull request: https://www.spinics.net/lists/linux-media/msg193744.html Thanks to that it is now possible to support more features for this driver. The first patch allow to log the hardware performance per macroblock. The second patch makes the driver use compressed reference frames to reduce memory bandwidth consumption. Patches 3 to 5 allow to decode and produce 10-bits P010 frames. Patch 6 make usage of G2 post processor to scale down the frames. Patches 7 and 8 add the support of HEVC scaling matrix by adding a new control. All these patches enhance the HEVC support for Hantro (G2) hardware. Unluckily they almost all touch the same pieces of code, where buffer size, offset and addresses are set, so they have to be in this order. They depend of the series pushed in this pull request: https://www.spinics.net/lists/linux-media/msg193744.html Benjamin Benjamin Gaignard (8): media: hantro: Trace hevc hw cycles performance register media: hantro: Add support of compressed reference buffers media: hantro: hevc: Allow 10-bits encoded streams media: Add P010 video format media: hantro: hevc: Allow to produce 10-bit frames media: hantro: enumerate scaled output formats media: hevc: Add scaling matrix control media: hantro: Add scaling lists feature .../media/v4l/ext-ctrls-codec.rst | 45 +++++ .../media/v4l/pixfmt-yuv-planar.rst | 8 + .../media/v4l/vidioc-queryctrl.rst | 6 + drivers/media/v4l2-core/v4l2-common.c | 1 + drivers/media/v4l2-core/v4l2-ctrls-core.c | 6 + drivers/media/v4l2-core/v4l2-ctrls-defs.c | 4 + drivers/media/v4l2-core/v4l2-ioctl.c | 1 + drivers/staging/media/hantro/hantro.h | 4 + drivers/staging/media/hantro/hantro_drv.c | 32 +++- .../staging/media/hantro/hantro_g2_hevc_dec.c | 175 ++++++++++++++++-- drivers/staging/media/hantro/hantro_g2_regs.h | 12 ++ drivers/staging/media/hantro/hantro_hevc.c | 60 +++++- drivers/staging/media/hantro/hantro_hw.h | 7 + drivers/staging/media/hantro/hantro_v4l2.c | 10 +- drivers/staging/media/hantro/imx8m_vpu_hw.c | 6 + drivers/staging/media/hantro/trace.h | 40 ++++ include/media/hevc-ctrls.h | 11 ++ include/uapi/linux/videodev2.h | 1 + 18 files changed, 407 insertions(+), 22 deletions(-) create mode 100644 drivers/staging/media/hantro/trace.h -- 2.25.1