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=-1.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED autolearn=ham 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 C96FAC10F13 for ; Tue, 16 Apr 2019 11:54:21 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 989D120675 for ; Tue, 16 Apr 2019 11:54:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="gXxHVKKo" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 989D120675 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=collabora.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:Cc:Reply-To :List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: MIME-Version:References:In-Reply-To:Date:To:From:Subject:Message-ID: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=uq1oaeocdZ6M7Yr3po+MuzxS6J5gzdv8Xmg2P0fCFhQ=; b=gXxHVKKorT0dT2T78wwDyuUap aUsS+W0/osW28Lz/JtZqOOTFfKnVV35a1/7MSEuBvyiPPxSc6E3AcjuaauX1KFmLPTzddeLn6ZvrM +sH9MH8Apx+g79YuZ9Sa3aNjL5NnDHSzi8OxhDuCWihC5+TnTX20CN7WeyvYcvL8erMLgTVPscE80 vtPMOb4dbKGKLwY0g+5IgLyP6vTBU0R09bWP1EVhDQm47oqGV3KdTTHQOjKrqPqqJiXy9GFvlDTtB hhMNpMMoxWl17WkBWXFL1BxS7llCUc/vuzbDxSuDgRq91nmqVaq4sOAUUDqDMf0/83e0BRmn0G1xl Yoe6ZuFgw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hGMfJ-0003jz-0R; Tue, 16 Apr 2019 11:54:17 +0000 Received: from bhuna.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e3e3]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hGMfF-0003jP-LH for linux-arm-kernel@lists.infradead.org; Tue, 16 Apr 2019 11:54:15 +0000 Received: from skullcanyon (unknown [IPv6:2002:c0de:c115:0:481e:e17e:2f68:43f8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: nicolas) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 0499A281D52; Tue, 16 Apr 2019 12:54:07 +0100 (BST) Message-ID: Subject: Re: [PATCH RESEND v7 1/2] media: uapi: Add H264 low-level decoder API compound controls. From: Nicolas Dufresne To: Tomasz Figa , Maxime Ripard Date: Tue, 16 Apr 2019 07:54:03 -0400 In-Reply-To: References: <7cd913545cfc80fa9999839c62c4bf7b354a7904.1554380738.git-series.maxime.ripard@bootlin.com> <20190405151552.biesirbs35uivk7d@flea> <05078223a4098c96f6260f77e9ef2a01b966daa6.camel@collabora.com> <20190411155749.crdpidehjxa6edya@flea> Organization: Collabora User-Agent: Evolution 3.32.0 (3.32.0-1.fc30) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190416_045413_963562_FB01574E X-CRM114-Status: GOOD ( 31.04 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Nicolas Dufresne Cc: "list@263.net:IOMMU DRIVERS , Joerg Roedel , " , Thomas Petazzoni , Alexandre Courbot , Jonas Karlman , Jens Kuske , linux-sunxi , Linux Kernel Mailing List , Jernej Skrabec , Paul Kocialkowski , Chen-Yu Tsai , Hans Verkuil , Laurent Pinchart , Sakari Ailus , Guenter Roeck , Ezequiel Garcia , Pawel Osciak , Linux Media Mailing List Content-Type: multipart/mixed; boundary="===============0224604779298695984==" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org --===============0224604779298695984== Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-H6h/eLDKF45bATKuH42m" --=-H6h/eLDKF45bATKuH42m Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le mardi 16 avril 2019 =C3=A0 16:16 +0900, Tomasz Figa a =C3=A9crit : > On Fri, Apr 12, 2019 at 12:57 AM Maxime Ripard > wrote: > > Hi, > >=20 > > On Fri, Apr 05, 2019 at 12:27:48PM -0400, Nicolas Dufresne wrote: > > > Le vendredi 05 avril 2019 =C3=A0 17:15 +0200, Maxime Ripard a =C3=A9c= rit : > > > > Hi Nicolas, > > > >=20 > > > > On Thu, Apr 04, 2019 at 11:41:13AM -0400, Nicolas Dufresne wrote: > > > > > > > > + * - __u16 > > > > > > > > + - ``pic_width_in_mbs_minus1`` > > > > > > > > + - > > > > > > > > + * - __u16 > > > > > > > > + - ``pic_height_in_map_units_minus1`` > > > > > > > > + - > > > > > > >=20 > > > > > > > We recently had some reflection with Alex that this is redund= ant with > > > > > > > the width and height in the OUTPUT format. It may also apply = to some > > > > > > > other fields in these structs. I feel like they should be rem= oved and > > > > > > > passed via corresponding generic V4L2 properties - format, se= lection, > > > > > > > etc. > > > > > > >=20 > > > > > > > The same problem is also present in the MPEG2 controls. In fa= ct, there > > > > > > > was a patch already which used some fields from the controls = to > > > > > > > calculate the destination buffer strides, rather than bytespe= rline in > > > > > > > the format. > > > > > > >=20 > > > > > > > Since we're in staging, it could be done with a follow-up pat= ch, though. > > > > > >=20 > > > > > > Just my two cents. I played with some codecs a while back. IIRC= some > > > > > > specify a "codec" size in addition to the actual picture size, = like > > > > > > when the encoder does padding to fit the requirements of the co= dec > > > > > > (spec). Is this needed anywhere? > > > > >=20 > > > > > With state-less encoders, the headers, which contains the crop > > > > > information is created by userspace and for state less decoder, t= he > > > > > headers that contains this information is parsed by userspace. So= I > > > > > believe that in theory, the accelerator does not strictly need to= be > > > > > aware of the cropped dimensions. > > > > >=20 > > > > > Another thing, is that there is not guarantied matches between e.= g. > > > > > depth of the chrome/luma and the final image buffers. Some hardwa= re may > > > > > have bandwidth limitation or internal converter and could possibl= y > > > > > decode 10bit data into 8bit buffers. > > > > >=20 > > > > > A third reason why I would not try and encode this header informa= tion > > > > > is that there can be multiple PPS/SPS at the same time, and I thi= nk > > > > > it's confusing if the relevant information to differentiate them = is > > > > > removed. > > > >=20 > > > > Sorry if that sounds a bit dumb, but it's not really clear to me if > > > > you're arguing for the removal of the data as Tomasz suggests, or i= f > > > > you want to keep them. > > > >=20 > > > > The first paragrah seems to advocate for the former, but the two > > > > others for the latter. > > >=20 > > > I think the data should stay. As I said, there can be multiple SPS/PP= S, > > > while there is only one format. That being said, how does SPS/PPS > > > activation works ? How do you tell the driver about all the SPS/PPS a= nd > > > which one is being activated ? > >=20 > > The current way of dealing with this is that the _SLICE_PARAMS control > > actually takes an array of SPS's. And same thing for PPS. > >=20 > > There's no difference between activated and deactivated ones > > though. What is the use case for this? >=20 > Uhm, there is only one format, but so there is only one active > SPS/PPS, isn't it? Yes, and the active one can only change on frame boundary. > An alternative would be to just make the OUTPUT format a function of > the currently set controls, so that it would always match the active > PPS/SPS, without the ability for the application to change it. >=20 > I just want to avoid the case when the OUTPUT format can be set > randomly to something different than in the stream and also drivers > reading randomly the format-related information sometimes from the > controls and sometimes from the format state. Understood. >=20 > Best regards, > Tomasz --=-H6h/eLDKF45bATKuH42m Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQSScpfJiL+hb5vvd45xUwItrAaoHAUCXLXCWwAKCRBxUwItrAao HEwGAKC9vzS05UNWnMStFON4Z1xXPRm6oACeJm2bqgyFqXpZCkdiFXN29ux7DW8= =ac8L -----END PGP SIGNATURE----- --=-H6h/eLDKF45bATKuH42m-- --===============0224604779298695984== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel --===============0224604779298695984==--