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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id E683CC4332F for ; Tue, 7 Nov 2023 22:01:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WEn0FgSzKGqIfES6FSv4FtMKfdmsCBHGrbGp79/79SA=; b=z/RkNQg1c/NwSs Le4Ri7lDS+kIa/mRnf5yQ6I6Pzt0Ycho3Kbcj8jElLdjkLJhIM+6gFz9Qy2uJnwExiIbTbjokKptp ditioJl3XedaKScAviIeE1cpXsEJlXDK7tQyEkxuPl3/kIq87MSs/LqUelu8+wLP7v3U1wYTLqfdG 0afzhUTwxanzJ3dWB0Y4A8xLfKobKag8sC7fXB0e2ohsQ6v0VdOvB5gu88Xe++blaFVUKpNgHSczF Bj/Ia2dDcxvrX/8GJMGHhD4wyzWwLH6p6GEiV/5kktK43oggHW3VuLjWQDgr3QexJr1ojibXtN09i fO9AgvRIn6TOBymmB3Zg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r0U8N-002VOR-24; Tue, 07 Nov 2023 22:01:19 +0000 Received: from madras.collabora.co.uk ([46.235.227.172]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r0U8K-002VN5-1j for linux-rockchip@lists.infradead.org; Tue, 07 Nov 2023 22:01:17 +0000 Received: from [100.84.166.245] (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: nicolas) by madras.collabora.co.uk (Postfix) with ESMTPSA id 9073C66074B5; Tue, 7 Nov 2023 22:01:11 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1699394473; bh=kl2jjVmIoGV4j4wny32gFtvgWSKHKwWLI3Ngr8+kGgE=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=B//ZgroOgxg/nhU4EmN+zhYY3+pIKTam4MPNMg0n87Wd4iQVXG9FyhsDMWcKj75iR PIQIIq1j9o62aRqKWUWbhAzx725msK3iXOghpJrk6nyHSjNwEciklkmq30s7dz+Was drfy0fX7WCjRiEv1LLED1TwbPVEHkj4wvU5NyK1g3kFI+q5JnSE87LMDYhzfjshraC VZ6abiqhAx0oA1Rrz0jMxTDhj52FqckO7wfszj09SEfeVETfqebqf7gE+2lOkgZWCx bpU/QQDtAsWuZX97J8LdWNfZ8cF/fOjI4hNwO4djFeeTDN3ZWRQqbfWCyuWtrI8EMp bHH+KpW/08Q9g== Message-ID: Subject: Re: [PATCH v4 05/11] media: rkvdec: h264: Remove SPS validation at streaming start From: Nicolas Dufresne To: Jonas Karlman , Ezequiel Garcia , Mauro Carvalho Chehab , Hans Verkuil , Greg Kroah-Hartman Cc: Alex Bee , Benjamin Gaignard , Sebastian Fricke , Christopher Obbard , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Date: Tue, 07 Nov 2023 17:01:02 -0500 In-Reply-To: <20231105165521.3592037-6-jonas@kwiboo.se> References: <20231105165521.3592037-1-jonas@kwiboo.se> <20231105165521.3592037-6-jonas@kwiboo.se> User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231107_140116_704123_AD4A0DBF X-CRM114-Status: GOOD ( 19.21 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org TGUgZGltYW5jaGUgMDUgbm92ZW1icmUgMjAyMyDDoCAxNjo1NSArMDAwMCwgSm9uYXMgS2FybG1h biBhIMOpY3JpdMKgOgo+IFNQUyBwYXJhbWV0ZXJzIGlzIHZhbGlkYXRlZCBpbiB0cnlfY3RybCgp IG9wcyBzbyB0aGVyZSBpcyBubyBuZWVkIHRvCgogICAgICAgICAgICAgICAgIGFyZQoKPiByZS12 YWxpZGF0ZSB3aGVuIHN0cmVhbWluZyBzdGFydHMuCj4gCj4gUmVtb3ZlIHRoZSB1bm5lY2Vzc2Fy eSBjYWxsIHRvIHZhbGlkYXRlIHNwcyBhdCBzdHJlYW1pbmcgc3RhcnQuCgpUaGlzIHBhdGNoIGlz IG5vdCB3b3JraW5nIHNpbmNlIHVzZXIgbWF5IGNoYW5nZSB0aGUgZm9ybWF0IGFmdGVyIHRoZQpj b250cm9sIGhhdmUgYmVlbiBzZXQuIFRoZSBwcm9wZXIgZml4IHNob3VsZCBhY3R1YWxseSByZXNl dCB0aGUgU1BTCih3ZWxsIGFsbCBoZWFkZXIgY29udHJvbHMpIHRvIG1hdGNoIHRoZSB0aGUgbmV3 bHkgc2V0IGZvcm1hdC4gVGhlbiB0aGlzCnZhbGlkYXRpb24gd29uJ3QgYmUgbmVlZGVkIGFueW1v cmUuCgpUaGUgc2VxdWVuY2UgdGhhdCBpcyBwcm9ibGVtYXRpYyBhZnRlciB0aGlzIHBhdGNoIGlz OgoKU19GTVQgKE9VVFBVVCwgd2lkdGgsIGhlaWdodCk7ClNfQ1RSTCAoU1BTKSAvLyB2YWxpZApT X0ZNVChPVVRQVVQsIHdpZHRoJywgaGVpZ2h0Jyk7IC8vIFNQUyBpcyBubyBsb25nZXIgdmFsaWQK Ck9uZSBzdWdnZXN0aW9uIEkgbWF5IG1ha2UgaXMgdG8gYWRkIGEgb3BzIHNvIHRoYXQgZWFjaCBj b2RlYwppbXBsZW1lbnRhdGlvbiBjYW4gcmVzZXQgdGhlaXIgaGVhZGVyIGNvbnRyb2xzIHRvIG1h a2UgaXQgdmFsaWQgYWdhaW5zdAp0aGUgbmV3IHJlc29sdXRpb24uIFdpdGggdGhhdCBpbiBwbGFj ZSB5b3UnbGwgYmUgYWJsZSBkcm9wIHRoZSBjaGVjay4KCk5pY29sYXMKCnAucy4geW91IGNhbiBh bHNvIGp1c3QgZHJvcCB0aGlzIHBhdGNoIGZyb20gdGhlIHNlcmllcyBhbmQgcmV2aXNpdCBpdAps YXRlciwgdGhvdWdoIEkgdGhpbmsgaXRzIHdvcnRoIGZpeGluZy4KCj4gCj4gU3VnZ2VzdGVkLWJ5 OiBFemVxdWllbCBHYXJjaWEgPGV6ZXF1aWVsQHZhbmd1YXJkaWFzdXIuY29tLmFyPgo+IFNpZ25l ZC1vZmYtYnk6IEpvbmFzIEthcmxtYW4gPGpvbmFzQGt3aWJvby5zZT4KPiAtLS0KPiB2NDoKPiAt IE5vIGNoYW5nZQo+IAo+IHYzOgo+IC0gTmV3IHBhdGNoCj4gCj4gIGRyaXZlcnMvc3RhZ2luZy9t ZWRpYS9ya3ZkZWMvcmt2ZGVjLWgyNjQuYyB8IDE5ICsrLS0tLS0tLS0tLS0tLS0tLS0KPiAgMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9ya3ZkZWMvcmt2ZGVjLWgyNjQuYyBiL2RyaXZl cnMvc3RhZ2luZy9tZWRpYS9ya3ZkZWMvcmt2ZGVjLWgyNjQuYwo+IGluZGV4IDhiY2U4OTAyYjhk ZC4uODE1ZDUzNTlkZGQ1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9ya3Zk ZWMvcmt2ZGVjLWgyNjQuYwo+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9ya3ZkZWMvcmt2 ZGVjLWgyNjQuYwo+IEBAIC0xMDcwLDE3ICsxMDcwLDYgQEAgc3RhdGljIGludCBya3ZkZWNfaDI2 NF9zdGFydChzdHJ1Y3Qgcmt2ZGVjX2N0eCAqY3R4KQo+ICAJc3RydWN0IHJrdmRlY19kZXYgKnJr dmRlYyA9IGN0eC0+ZGV2Owo+ICAJc3RydWN0IHJrdmRlY19oMjY0X3ByaXZfdGJsICpwcml2X3Ri bDsKPiAgCXN0cnVjdCBya3ZkZWNfaDI2NF9jdHggKmgyNjRfY3R4Owo+IC0Jc3RydWN0IHY0bDJf Y3RybCAqY3RybDsKPiAtCWludCByZXQ7Cj4gLQo+IC0JY3RybCA9IHY0bDJfY3RybF9maW5kKCZj dHgtPmN0cmxfaGRsLAo+IC0JCQkgICAgICBWNEwyX0NJRF9TVEFURUxFU1NfSDI2NF9TUFMpOwo+ IC0JaWYgKCFjdHJsKQo+IC0JCXJldHVybiAtRUlOVkFMOwo+IC0KPiAtCXJldCA9IHJrdmRlY19o MjY0X3ZhbGlkYXRlX3NwcyhjdHgsIGN0cmwtPnBfbmV3LnBfaDI2NF9zcHMpOwo+IC0JaWYgKHJl dCkKPiAtCQlyZXR1cm4gcmV0Owo+ICAKPiAgCWgyNjRfY3R4ID0ga3phbGxvYyhzaXplb2YoKmgy NjRfY3R4KSwgR0ZQX0tFUk5FTCk7Cj4gIAlpZiAoIWgyNjRfY3R4KQo+IEBAIC0xMDg5LDggKzEw NzgsOCBAQCBzdGF0aWMgaW50IHJrdmRlY19oMjY0X3N0YXJ0KHN0cnVjdCBya3ZkZWNfY3R4ICpj dHgpCj4gIAlwcml2X3RibCA9IGRtYV9hbGxvY19jb2hlcmVudChya3ZkZWMtPmRldiwgc2l6ZW9m KCpwcml2X3RibCksCj4gIAkJCQkgICAgICAmaDI2NF9jdHgtPnByaXZfdGJsLmRtYSwgR0ZQX0tF Uk5FTCk7Cj4gIAlpZiAoIXByaXZfdGJsKSB7Cj4gLQkJcmV0ID0gLUVOT01FTTsKPiAtCQlnb3Rv IGVycl9mcmVlX2N0eDsKPiArCQlrZnJlZShoMjY0X2N0eCk7Cj4gKwkJcmV0dXJuIC1FTk9NRU07 Cj4gIAl9Cj4gIAo+ICAJaDI2NF9jdHgtPnByaXZfdGJsLnNpemUgPSBzaXplb2YoKnByaXZfdGJs KTsKPiBAQCAtMTEwMCwxMCArMTA4OSw2IEBAIHN0YXRpYyBpbnQgcmt2ZGVjX2gyNjRfc3RhcnQo c3RydWN0IHJrdmRlY19jdHggKmN0eCkKPiAgCj4gIAljdHgtPnByaXYgPSBoMjY0X2N0eDsKPiAg CXJldHVybiAwOwo+IC0KPiAtZXJyX2ZyZWVfY3R4Ogo+IC0Ja2ZyZWUoaDI2NF9jdHgpOwo+IC0J cmV0dXJuIHJldDsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgcmt2ZGVjX2gyNjRfc3RvcChzdHJ1 Y3Qgcmt2ZGVjX2N0eCAqY3R4KQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtcm9ja2NoaXAK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 31C892F852 for ; Tue, 7 Nov 2023 22:01:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="B//ZgroO" Received: from [100.84.166.245] (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: nicolas) by madras.collabora.co.uk (Postfix) with ESMTPSA id 9073C66074B5; Tue, 7 Nov 2023 22:01:11 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1699394473; bh=kl2jjVmIoGV4j4wny32gFtvgWSKHKwWLI3Ngr8+kGgE=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=B//ZgroOgxg/nhU4EmN+zhYY3+pIKTam4MPNMg0n87Wd4iQVXG9FyhsDMWcKj75iR PIQIIq1j9o62aRqKWUWbhAzx725msK3iXOghpJrk6nyHSjNwEciklkmq30s7dz+Was drfy0fX7WCjRiEv1LLED1TwbPVEHkj4wvU5NyK1g3kFI+q5JnSE87LMDYhzfjshraC VZ6abiqhAx0oA1Rrz0jMxTDhj52FqckO7wfszj09SEfeVETfqebqf7gE+2lOkgZWCx bpU/QQDtAsWuZX97J8LdWNfZ8cF/fOjI4hNwO4djFeeTDN3ZWRQqbfWCyuWtrI8EMp bHH+KpW/08Q9g== Message-ID: Subject: Re: [PATCH v4 05/11] media: rkvdec: h264: Remove SPS validation at streaming start From: Nicolas Dufresne To: Jonas Karlman , Ezequiel Garcia , Mauro Carvalho Chehab , Hans Verkuil , Greg Kroah-Hartman Cc: Alex Bee , Benjamin Gaignard , Sebastian Fricke , Christopher Obbard , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Date: Tue, 07 Nov 2023 17:01:02 -0500 In-Reply-To: <20231105165521.3592037-6-jonas@kwiboo.se> References: <20231105165521.3592037-1-jonas@kwiboo.se> <20231105165521.3592037-6-jonas@kwiboo.se> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) Precedence: bulk X-Mailing-List: linux-staging@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Le dimanche 05 novembre 2023 =C3=A0 16:55 +0000, Jonas Karlman a =C3=A9crit= =C2=A0: > SPS parameters is validated in try_ctrl() ops so there is no need to are > re-validate when streaming starts. >=20 > Remove the unnecessary call to validate sps at streaming start. This patch is not working since user may change the format after the control have been set. The proper fix should actually reset the SPS (well all header controls) to match the the newly set format. Then this validation won't be needed anymore. The sequence that is problematic after this patch is: S_FMT (OUTPUT, width, height); S_CTRL (SPS) // valid S_FMT(OUTPUT, width', height'); // SPS is no longer valid One suggestion I may make is to add a ops so that each codec implementation can reset their header controls to make it valid against the new resolution. With that in place you'll be able drop the check. Nicolas p.s. you can also just drop this patch from the series and revisit it later, though I think its worth fixing. >=20 > Suggested-by: Ezequiel Garcia > Signed-off-by: Jonas Karlman > --- > v4: > - No change >=20 > v3: > - New patch >=20 > drivers/staging/media/rkvdec/rkvdec-h264.c | 19 ++----------------- > 1 file changed, 2 insertions(+), 17 deletions(-) >=20 > diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging= /media/rkvdec/rkvdec-h264.c > index 8bce8902b8dd..815d5359ddd5 100644 > --- a/drivers/staging/media/rkvdec/rkvdec-h264.c > +++ b/drivers/staging/media/rkvdec/rkvdec-h264.c > @@ -1070,17 +1070,6 @@ static int rkvdec_h264_start(struct rkvdec_ctx *ct= x) > struct rkvdec_dev *rkvdec =3D ctx->dev; > struct rkvdec_h264_priv_tbl *priv_tbl; > struct rkvdec_h264_ctx *h264_ctx; > - struct v4l2_ctrl *ctrl; > - int ret; > - > - ctrl =3D v4l2_ctrl_find(&ctx->ctrl_hdl, > - V4L2_CID_STATELESS_H264_SPS); > - if (!ctrl) > - return -EINVAL; > - > - ret =3D rkvdec_h264_validate_sps(ctx, ctrl->p_new.p_h264_sps); > - if (ret) > - return ret; > =20 > h264_ctx =3D kzalloc(sizeof(*h264_ctx), GFP_KERNEL); > if (!h264_ctx) > @@ -1089,8 +1078,8 @@ static int rkvdec_h264_start(struct rkvdec_ctx *ctx= ) > priv_tbl =3D dma_alloc_coherent(rkvdec->dev, sizeof(*priv_tbl), > &h264_ctx->priv_tbl.dma, GFP_KERNEL); > if (!priv_tbl) { > - ret =3D -ENOMEM; > - goto err_free_ctx; > + kfree(h264_ctx); > + return -ENOMEM; > } > =20 > h264_ctx->priv_tbl.size =3D sizeof(*priv_tbl); > @@ -1100,10 +1089,6 @@ static int rkvdec_h264_start(struct rkvdec_ctx *ct= x) > =20 > ctx->priv =3D h264_ctx; > return 0; > - > -err_free_ctx: > - kfree(h264_ctx); > - return ret; > } > =20 > static void rkvdec_h264_stop(struct rkvdec_ctx *ctx)