Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp553087pxy; Wed, 5 May 2021 08:21:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzF8sgdLcdM2MJvucnFaKPQtERKsxCgkUc7MyY+0joAj0V5mikztelN+zjQaYI75lDgz+78 X-Received: by 2002:aa7:d699:: with SMTP id d25mr19636673edr.107.1620228078690; Wed, 05 May 2021 08:21:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620228078; cv=none; d=google.com; s=arc-20160816; b=d9GvzVp+N9LGzovLWYZNZuC1N8tsg0WVqdUnutMidUT5FllvUuR+i861ifDUUBzlEK fKR0X97NIkswll0Be3tlEwIls98SOP/za0mpFedHuCFWsivSlWPx3xb2oHokTAeLEAXV LBHunTylUv0/GJ8Mvxjon5XJtBbQPJx8Mr0OBC65IEHD5/h9lPqOBRfJmjdZrrfmRVAq H/agAynn+XO1PBUlMR700/mYR4dyo8ingSPm3lW2KXcNmaGGQnQ6Jz7kBqYtSBMrsM6z 6AFNtUEa6hi7etqiP600psdhgLy69t0etJPyrGfTLxZxP5SDDkmNlWutIKAEza6KuCvc LgUA== 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 :user-agent:in-reply-to:references:message-id:date:subject:cc:to :from:dkim-signature; bh=TfAnoiyhV+Z09G0GA+tcCNjs/YV2vvtrOh2X+fFwA7A=; b=v5+iNjTaqD7bWqVKK6FdRYXtIMFsvnXZmqhsC6nvL92k3TlWZcQoJOlq7uU6UXhEm2 bZZdLklex+m+Wctg6T1XmlFyrwsu0by9KTRjYSPg1Tz2SWS6QYiHelzjawJRYZYW7VkN s6/CdxsodGBlPlTzM+s7lZRfatZ2IMxTbUv1if4qxNacw33SdQUAw+CG1oKa+ye5SbRz 6pkLy5q9gwMYg4U6dxzXrHWBHHGGQpjkHij3Xddym4h2qEUr18duEYUJhAxjwve2p9HL 8Ur0I1yZX8PIC1Qg0j4kY/b+pqof97c8PE17pOxs43ODrxkWBH7U5RWb2fyDOve07lgf nJiw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kynesim-co-uk.20150623.gappssmtp.com header.s=20150623 header.b=UyzvQD43; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q18si4834676ejs.509.2021.05.05.08.20.48; Wed, 05 May 2021 08:21:18 -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; dkim=pass header.i=@kynesim-co-uk.20150623.gappssmtp.com header.s=20150623 header.b=UyzvQD43; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233395AbhEEPTG (ORCPT + 99 others); Wed, 5 May 2021 11:19:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231995AbhEEPTF (ORCPT ); Wed, 5 May 2021 11:19:05 -0400 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB9CDC061574 for ; Wed, 5 May 2021 08:18:07 -0700 (PDT) Received: by mail-wm1-x330.google.com with SMTP id 4-20020a05600c26c4b0290146e1feccd8so1364199wmv.1 for ; Wed, 05 May 2021 08:18:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kynesim-co-uk.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:references:in-reply-to :user-agent:mime-version:content-transfer-encoding; bh=TfAnoiyhV+Z09G0GA+tcCNjs/YV2vvtrOh2X+fFwA7A=; b=UyzvQD43RrH8HN0tRXh+S4kPKxLLqTxcAsoAzHIlVsqJGmrIFeDVHf/QgT13vdRJFx 3xOJa6Ucez9q2GObA0jOjUJfFQsrCJ/WapRgcOs08uE/2eTes1FZrAIUMK9Ci9HxSusI rzrj02MCjK/eZtWqF9AH1oQSWGEqgAeq+uhmYd1joS7snD9lXUMBqyqGSbWCeNAXI2UC AI1QWUr5Ks8meduoKRF+pSSniBQjkM1sxIfDUCLe+JQLv514GldGM+lTjzCLGo+BaxRn zblddZUMOk1zGS+qPYmko93lZ85kFypxtb/XvVC+upJa/XFgqOno/L0ggZCBQ4InZWUb 00Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:references :in-reply-to:user-agent:mime-version:content-transfer-encoding; bh=TfAnoiyhV+Z09G0GA+tcCNjs/YV2vvtrOh2X+fFwA7A=; b=OAK2+kL7xoEe0Zqmu+pgT6aPLM+0pM7tUhj3GX4gH0Qh7VaSyZoJTNOWDUHlhjVT8d xe2fb9L4iJHfMWdRYDEWSWskBuQDyBqEd+xs0I0KR9W1BinOE3DlQ3JXkZLOxDms/196 0U5vakFSNMVspzN8s/GUY8o2h18IWycUbtDTDvr7uK5/xumdmF0qtfBXHb+G0xc2h+Mc x9eE4adDREHg29bCtvGqyJMaFT88CUPWJ1ooP8Hxtdz0444mUFehHP2uucxsgFNJsf15 u+nbjZPJ6ALlIM0gY7a7UR4jYZHXeHkWb34XuiKsjtTGQEAczesh9p1BbUBmRv7m717V QbEw== X-Gm-Message-State: AOAM532+V0K5R9XjDacDm7pTo37fKPTghf7tSAVLHj6dt9+C4WkwR5NE p7GLjy6eysWqS9qZHm7fy+LgfQ== X-Received: by 2002:a05:600c:284:: with SMTP id 4mr20003728wmk.88.1620227886676; Wed, 05 May 2021 08:18:06 -0700 (PDT) Received: from CTHALPA.outer.uphall.net (cpc1-cmbg20-2-0-cust759.5-4.cable.virginm.net. [86.21.218.248]) by smtp.gmail.com with ESMTPSA id l21sm6008566wme.10.2021.05.05.08.18.05 (version=TLS1 cipher=ECDHE-ECDSA-AES128-SHA bits=128/128); Wed, 05 May 2021 08:18:06 -0700 (PDT) From: John Cox To: Benjamin Gaignard Cc: ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, lee.jones@linaro.org, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, hverkuil-cisco@xs4all.nl, emil.l.velikov@gmail.com, kernel@pengutronix.de, linux-imx@nxp.com, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, kernel@collabora.com, cphealy@gmail.com, Benjamin Gaignard Subject: Re: [PATCH v10 6/9] media: uapi: Add a control for HANTRO driver Date: Wed, 05 May 2021 16:18:06 +0100 Message-ID: <6bd59glrp4fq3j3ngmbl5p4u7aethvrv34@4ax.com> References: <20210420121046.181889-1-benjamin.gaignard@collabora.com> <20210420121046.181889-7-benjamin.gaignard@collabora.com> In-Reply-To: <20210420121046.181889-7-benjamin.gaignard@collabora.com> User-Agent: ForteAgent/8.00.32.1272 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >The HEVC HANTRO driver needs to know the number of bits to skip at >the beginning of the slice header. >That is a hardware specific requirement so create a dedicated control >for this purpose. > >Signed-off-by: Benjamin Gaignard >--- > .../userspace-api/media/drivers/hantro.rst | 19 +++++++++++++++++++ > .../userspace-api/media/drivers/index.rst | 1 + > include/media/hevc-ctrls.h | 13 +++++++++++++ > 3 files changed, 33 insertions(+) > create mode 100644 Documentation/userspace-api/media/drivers/hantro.rst > >diff --git a/Documentation/userspace-api/media/drivers/hantro.rst = b/Documentation/userspace-api/media/drivers/hantro.rst >new file mode 100644 >index 000000000000..cd9754b4e005 >--- /dev/null >+++ b/Documentation/userspace-api/media/drivers/hantro.rst >@@ -0,0 +1,19 @@ >+.. SPDX-License-Identifier: GPL-2.0 >+ >+Hantro video decoder driver >+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >+ >+The Hantro video decoder driver implements the following = driver-specific controls: >+ >+``V4L2_CID_HANTRO_HEVC_SLICE_HEADER_SKIP (integer)`` >+ Specifies to Hantro HEVC video decoder driver the number of data = (in bits) to >+ skip in the slice segment header. >+ If non-IDR, the bits to be skipped go from syntax element = "pic_output_flag" >+ to before syntax element "slice_temporal_mvp_enabled_flag". >+ If IDR, the skipped bits are just "pic_output_flag" >+ (separate_colour_plane_flag is not supported). What happens if it is a dependant_slice_segement or output_flag_present_flag? Those flags are all dependant on dependant_slice_segement being false. I'm guessing 0 but it maybe should be documented. Likewise if output_flag_present_flag is false pic_output_flag will not be coded, so maybe express it as "after slice_type" rather than "before pic_output_flag"? Regards John Cox >+.. note:: >+ >+ This control is not yet part of the public kernel API and >+ it is expected to change. >diff --git a/Documentation/userspace-api/media/drivers/index.rst = b/Documentation/userspace-api/media/drivers/index.rst >index 1a9038f5f9fa..12e3c512d718 100644 >--- a/Documentation/userspace-api/media/drivers/index.rst >+++ b/Documentation/userspace-api/media/drivers/index.rst >@@ -33,6 +33,7 @@ For more details see the file COPYING in the source = distribution of Linux. >=20 > ccs > cx2341x-uapi >+ hantro > imx-uapi > max2175 > meye-uapi >diff --git a/include/media/hevc-ctrls.h b/include/media/hevc-ctrls.h >index 8e0109eea454..b713eeed1915 100644 >--- a/include/media/hevc-ctrls.h >+++ b/include/media/hevc-ctrls.h >@@ -224,4 +224,17 @@ struct v4l2_ctrl_hevc_decode_params { > __u64 flags; > }; >=20 >+/* MPEG-class control IDs specific to the Hantro driver as defined by = V4L2 */ >+#define V4L2_CID_CODEC_HANTRO_BASE (V4L2_CTRL_CLASS_CODEC | 0x1200) >+/* >+ * V4L2_CID_HANTRO_HEVC_SLICE_HEADER_SKIP - >+ * the number of data (in bits) to skip in the >+ * slice segment header. >+ * If non-IDR, the bits to be skipped go from syntax element = "pic_output_flag" >+ * to before syntax element "slice_temporal_mvp_enabled_flag". >+ * If IDR, the skipped bits are just "pic_output_flag" >+ * (separate_colour_plane_flag is not supported). >+ */ >+#define V4L2_CID_HANTRO_HEVC_SLICE_HEADER_SKIP = (V4L2_CID_CODEC_HANTRO_BASE + 0) >+ > #endif