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 7EC34C4332F for ; Thu, 9 Nov 2023 18:25:43 +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:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=DUfwE7PmL3/dgYBe9WYqN6HkYNoKV5qoz7/cSEthfVY=; b=jnFUEA0XKKmtxO 9UAxzTVoBvGGKjgwDQhzbUsNxUm7Xi1HWGflQ4NPek5lB/upeme0VxeXAEKjVTULVGjbXeriLcs8i 9L7h0earMjuKjY3r8lM5rp32VxwQbwZ8X9bEnxsMggP2ASdHf7BFwbPg/V3daGGKu4ZfDj7qcuHcr u83Q0Gel+mhGemODxjNzBrZzxHek3MhgIK3pM3DQ92Asnc5CJQYVX3K4qtgXbqs7XiJg6tTGh+5W3 8q03whxRiMo4iTohfoUE7y597niKxKYZdZZsw7dFreOt7yr+qurYhyEONILT1HjdJSc1/CakSwRgn 29oHzETTC+yc3gotDEPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r19ib-0071hZ-2I; Thu, 09 Nov 2023 18:25:29 +0000 Received: from smtp.forwardemail.net ([167.172.40.54]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r19iY-0071h6-2u for linux-rockchip@lists.infradead.org; Thu, 09 Nov 2023 18:25:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: Content-Type: In-Reply-To: From: References: Cc: To: Subject: MIME-Version: Date: Message-ID; q=dns/txt; s=fe-e1b5cab7be; t=1699554306; bh=REf0fnXMpg4PsdF4s5vHOGAS2ALbXsSawZYVFeBAIWw=; b=L3yHgEoPHvb+UC0Twvtp1BFX0wjRRyeb8nc1F5cMGHdA0rNNC2yMqn6ZrcMCeaxcxjs6bIqJn 2cElCDXxeMVfIT4OlKBwiOoR2Du9rHm0Qa1sOEaGzwXQgNGYnzFIg+P2HoU0E4X7Mu9zWdtF3ol KH2RWDCvCgF9NT1Teqx3TemnbusP3aDwXJd3hUx4HzjKPHdlcb0I0qUl4F3MDWGnjM6coqmYfo3 eYVKNRPWLMak0YrfosPdPNjmZThcLkTsRcgAYtGbcihZNPpx/qILcbVUT0eegjzu/s5uwUg+43A Z4bUUd0PflfQVZd0WQr0MY2EP6fSMQTMHTdOMgzhLGEA== Message-ID: Date: Thu, 9 Nov 2023 19:25:00 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 11/11] media: rkvdec: h264: Support High 10 and 4:2:2 profiles Content-Language: en-US To: Nicolas Dufresne , 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 References: <20231105165521.3592037-1-jonas@kwiboo.se> <20231105165521.3592037-12-jonas@kwiboo.se> From: Jonas Karlman In-Reply-To: X-Report-Abuse-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Complaints-To: abuse@forwardemail.net X-ForwardEmail-Version: 0.4.40 X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 167.172.40.54 X-ForwardEmail-ID: 654d2401b32fff32884ed570 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231109_102527_249540_7837A708 X-CRM114-Status: GOOD ( 29.14 ) 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 T24gMjAyMy0xMS0wOCAwMzoyMCwgTmljb2xhcyBEdWZyZXNuZSB3cm90ZToKPiBMZSBkaW1hbmNo ZSAwNSBub3ZlbWJyZSAyMDIzIMOgIDE2OjU1ICswMDAwLCBKb25hcyBLYXJsbWFuIGEgw6ljcml0 wqA6Cj4+IEFkZCBzdXBwb3J0IGFuZCBlbmFibGUgZGVjb2Rpbmcgb2YgSDI2NCBIaWdoIDEwIGFu ZCA0OjI6MiBwcm9maWxlcy4KPj4KPj4gRGVjb2RlZCBDQVBUVVJFIGJ1ZmZlciB3aWR0aCBpcyBh bGlnbmVkIHRvIDY0IHBpeGVscyB0byBhY2NvbW1vZGF0ZSBIVwo+PiByZXF1aXJlbWVudCBvZiAx MC1iaXQgZm9ybWF0IGJ1ZmZlcnMsIGZpeGVzIGRlY29kaW5nIG9mOgo+Pgo+PiAtIEhpNDIyRlIx M19TT05ZX0EKPj4gLSBIaTQyMkZSMTRfU09OWV9BCj4+IC0gSGk0MjJGUjE1X1NPTllfQQo+PiAt IEhpNDIyRlI2X1NPTllfQQo+PiAtIEhpNDIyRlI3X1NPTllfQQo+PiAtIEhpNDIyRlI4X1NPTllf QQo+PiAtIEhpNDIyRlI5X1NPTllfQQo+PiAtIEhpNDIyRlJFWFQxOF9TT05ZX0EKPj4KPj4gVGhl IGdldF9pbWFnZV9mbXQoKSBvcHMgaXMgaW1wbGVtZW50ZWQgdG8gc2VsZWN0IGFuIGltYWdlIGZv cm1hdAo+PiByZXF1aXJlZCBmb3IgdGhlIHByb3ZpZGVkIFNQUyBjb250cm9sLgo+Pgo+PiBTaWdu ZWQtb2ZmLWJ5OiBKb25hcyBLYXJsbWFuIDxqb25hc0Brd2lib28uc2U+Cj4+IC0tLQo+PiB2NDoK Pj4gLSBDaGFuZ2UgdG8gdXNlIGdldF9pbWFnZV9mbXQoKSBvcHMKPj4KPj4gdjM6Cj4+IC0gQWRk IGdldF9mbXRfb3BhcXVlIG9wcywgdGhlIGV4cGVjdGVkIHBpeGVsZm9ybWF0IGlzIHVzZWQgYXMg b3BhcXVlCj4+IC0gQWRkIG5ldyB2YWxpZF9mbXQgb3BzIHRoYXQgdmFsaWRhdGUgcGl4ZWxmb3Jt YXQgbWF0Y2hlcyBvcGFxdWUKPj4gLSBVcGRhdGUgSDI2NF9QUk9GSUxFIGNvbnRyb2wgbWF4IHZh bHVlCj4+Cj4+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvcmt2ZGVjL3JrdmRlYy1oMjY0LmMgfCAz NyArKysrKysrKysrKysrKysrLS0tLS0tCj4+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvcmt2ZGVj L3JrdmRlYy5jICAgICAgfCAzMyArKysrKysrKysrKysrKystLS0tCj4+ICBkcml2ZXJzL3N0YWdp bmcvbWVkaWEvcmt2ZGVjL3JrdmRlYy5oICAgICAgfCAgMyArKwo+PiAgMyBmaWxlcyBjaGFuZ2Vk LCA1NyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvc3RhZ2luZy9tZWRpYS9ya3ZkZWMvcmt2ZGVjLWgyNjQuYyBiL2RyaXZlcnMvc3RhZ2lu Zy9tZWRpYS9ya3ZkZWMvcmt2ZGVjLWgyNjQuYwo+PiBpbmRleCA4MTVkNTM1OWRkZDUuLmJhYWM2 ZDAxMmRkZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL3JrdmRlYy9ya3Zk ZWMtaDI2NC5jCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9ya3ZkZWMvcmt2ZGVjLWgy NjQuYwo+PiBAQCAtMTAyNywyNCArMTAyNyw0MiBAQCBzdGF0aWMgaW50IHJrdmRlY19oMjY0X2Fk anVzdF9mbXQoc3RydWN0IHJrdmRlY19jdHggKmN0eCwKPj4gIAlyZXR1cm4gMDsKPj4gIH0KPj4g IAo+PiArc3RhdGljIGVudW0gcmt2ZGVjX2ltYWdlX2ZtdCBya3ZkZWNfaDI2NF9nZXRfaW1hZ2Vf Zm10KHN0cnVjdCBya3ZkZWNfY3R4ICpjdHgsCj4+ICsJCQkJCQkgICAgICAgc3RydWN0IHY0bDJf Y3RybCAqY3RybCkKPj4gK3sKPj4gKwljb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX2gyNjRfc3BzICpz cHMgPSBjdHJsLT5wX25ldy5wX2gyNjRfc3BzOwo+PiArCj4+ICsJaWYgKGN0cmwtPmlkICE9IFY0 TDJfQ0lEX1NUQVRFTEVTU19IMjY0X1NQUykKPj4gKwkJcmV0dXJuIFJLVkRFQ19JTUdfRk1UX0FO WTsKPj4gKwo+PiArCWlmIChzcHMtPmJpdF9kZXB0aF9sdW1hX21pbnVzOCA9PSAwKSB7Cj4+ICsJ CWlmIChzcHMtPmNocm9tYV9mb3JtYXRfaWRjID09IDIpCj4+ICsJCQlyZXR1cm4gUktWREVDX0lN R19GTVRfNDIyXzhCSVQ7Cj4+ICsJCWVsc2UKPj4gKwkJCXJldHVybiBSS1ZERUNfSU1HX0ZNVF80 MjBfOEJJVDsKPj4gKwl9IGVsc2UgaWYgKHNwcy0+Yml0X2RlcHRoX2x1bWFfbWludXM4ID09IDIp IHsKPj4gKwkJaWYgKHNwcy0+Y2hyb21hX2Zvcm1hdF9pZGMgPT0gMikKPj4gKwkJCXJldHVybiBS S1ZERUNfSU1HX0ZNVF80MjJfMTBCSVQ7Cj4+ICsJCWVsc2UKPj4gKwkJCXJldHVybiBSS1ZERUNf SU1HX0ZNVF80MjBfMTBCSVQ7Cj4+ICsJfQo+PiArCj4+ICsJcmV0dXJuIFJLVkRFQ19JTUdfRk1U X0FOWTsKPj4gK30KPj4gKwo+PiAgc3RhdGljIGludCBya3ZkZWNfaDI2NF92YWxpZGF0ZV9zcHMo c3RydWN0IHJrdmRlY19jdHggKmN0eCwKPj4gIAkJCQkgICAgY29uc3Qgc3RydWN0IHY0bDJfY3Ry bF9oMjY0X3NwcyAqc3BzKQo+PiAgewo+PiAgCXVuc2lnbmVkIGludCB3aWR0aCwgaGVpZ2h0Owo+ PiAgCj4+IC0JLyoKPj4gLQkgKiBUT0RPOiBUaGUgaGFyZHdhcmUgc3VwcG9ydHMgMTAtYml0IGFu ZCA0OjI6MiBwcm9maWxlcywKPj4gLQkgKiBidXQgaXQncyBjdXJyZW50bHkgYnJva2VuIGluIHRo ZSBkcml2ZXIuCj4+IC0JICogUmVqZWN0IHRoZW0gZm9yIG5vdywgdW50aWwgaXQncyBmaXhlZC4K Pj4gLQkgKi8KPj4gLQlpZiAoc3BzLT5jaHJvbWFfZm9ybWF0X2lkYyA+IDEpCj4+IC0JCS8qIE9u bHkgNDowOjAgYW5kIDQ6MjowIGFyZSBzdXBwb3J0ZWQgKi8KPj4gKwlpZiAoc3BzLT5jaHJvbWFf Zm9ybWF0X2lkYyA+IDIpCj4+ICsJCS8qIE9ubHkgNDowOjAsIDQ6MjowIGFuZCA0OjI6MiBhcmUg c3VwcG9ydGVkICovCj4+ICAJCXJldHVybiAtRUlOVkFMOwo+PiAgCWlmIChzcHMtPmJpdF9kZXB0 aF9sdW1hX21pbnVzOCAhPSBzcHMtPmJpdF9kZXB0aF9jaHJvbWFfbWludXM4KQo+PiAgCQkvKiBM dW1hIGFuZCBjaHJvbWEgYml0IGRlcHRoIG1pc21hdGNoICovCj4+ICAJCXJldHVybiAtRUlOVkFM Owo+PiAtCWlmIChzcHMtPmJpdF9kZXB0aF9sdW1hX21pbnVzOCAhPSAwKQo+PiAtCQkvKiBPbmx5 IDgtYml0IGlzIHN1cHBvcnRlZCAqLwo+PiArCWlmIChzcHMtPmJpdF9kZXB0aF9sdW1hX21pbnVz OCAhPSAwICYmIHNwcy0+Yml0X2RlcHRoX2x1bWFfbWludXM4ICE9IDIpCj4+ICsJCS8qIE9ubHkg OC1iaXQgYW5kIDEwLWJpdCBpcyBzdXBwb3J0ZWQgKi8KPj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4+ ICAKPj4gIAl3aWR0aCA9IChzcHMtPnBpY193aWR0aF9pbl9tYnNfbWludXMxICsgMSkgKiAxNjsK Pj4gQEAgLTExNzUsNCArMTE5Myw1IEBAIGNvbnN0IHN0cnVjdCBya3ZkZWNfY29kZWRfZm10X29w cyBya3ZkZWNfaDI2NF9mbXRfb3BzID0gewo+PiAgCS5zdG9wID0gcmt2ZGVjX2gyNjRfc3RvcCwK Pj4gIAkucnVuID0gcmt2ZGVjX2gyNjRfcnVuLAo+PiAgCS50cnlfY3RybCA9IHJrdmRlY19oMjY0 X3RyeV9jdHJsLAo+PiArCS5nZXRfaW1hZ2VfZm10ID0gcmt2ZGVjX2gyNjRfZ2V0X2ltYWdlX2Zt dCwKPj4gIH07Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvcmt2ZGVjL3Jr dmRlYy5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL3JrdmRlYy9ya3ZkZWMuYwo+PiBpbmRleCAy MjVhYTFmMGFjNDguLmViNTk2MDVjY2YyOCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9zdGFnaW5n L21lZGlhL3JrdmRlYy9ya3ZkZWMuYwo+PiArKysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvcmt2 ZGVjL3JrdmRlYy5jCj4+IEBAIC03Myw3ICs3Myw3IEBAIHN0YXRpYyB2b2lkIHJrdmRlY19maWxs X2RlY29kZWRfcGl4Zm10KHN0cnVjdCBya3ZkZWNfY3R4ICpjdHgsCj4+ICAJCQkJICAgICAgIHN0 cnVjdCB2NGwyX3BpeF9mb3JtYXRfbXBsYW5lICpwaXhfbXApCj4+ICB7Cj4+ICAJdjRsMl9maWxs X3BpeGZtdF9tcChwaXhfbXAsIHBpeF9tcC0+cGl4ZWxmb3JtYXQsCj4+IC0JCQkgICAgcGl4X21w LT53aWR0aCwgcGl4X21wLT5oZWlnaHQpOwo+PiArCQkJICAgIEFMSUdOKHBpeF9tcC0+d2lkdGgs IDY0KSwgcGl4X21wLT5oZWlnaHQpOwo+IAo+IElmIHlvdSBhbGlnbiByZWdhcmRsZXNzIGlmIGl0 cyA4LzEwYml0ICh3aGljaCBJIGRvbid0IHJlYWxseSBtaW5kLCBpdAo+IGRvZXMgbm90IGNvc3Qg bXVjaCBhbmQgaGVscHMgaWYgeW91IGhhdmUgYSBNYWxpIEdQVSksIHBsZWFzZSBkbyBpbiAKPiBy a3ZkZWNfY29kZWRfZm10c1tdLmZybXNpemUuc3RlcF93aWR0aC4KPiAKPiBPdGhlcndpc2UgeW91 J2xsIGVuZHVwIGNyZWF0aW5nIGEgY29uZmlnIHBlciBiaXQgZGVwdGgsIGFuZCBwcm9iYWJseQo+ IHdvbid0IG5lZWQgYW55IG9mIHRoZSByayBmb3JtYXQgc3R1ZmYsIHNpbmNlIHlvdSBjb3VsZCBq dXN0IHVwZGF0ZSB0aGUKPiBjb25maWcsIGFuZCBlbnVtZXJhdGUgZnJvbSB0aGVyZS4gSSBkb24n dCBtaW5kIHlvdXIgbWV0aG9kIHRob3VnaCwgYnV0Cj4gbGV0cyBub3QgaGFyZGNvZGUgYWxpZ25t ZW50IHdoZXJlIGl0IHNob3VsZG4ndCBiZS4KCkFncmVlLCB3aWxsIGNoYW5nZSB0byB1c2Ugc3Rl cF93aWR0aC9taW5fd2lkdGggPSA2NCBpbiB2NSwgbm90IHN1cmUgd2h5CkkgY2hhbmdlZCBmcm9t IHVzaW5nIHN0ZXBfd2lkdGggaW4gdjIgdG8gYmVnaW4gd2l0aDoKCiIKQ2hhbmdlcyBpbiB2MjoK LSBPbmx5IGFsaWduIGRlY29kZWQgYnVmZmVyIGluc3RlYWQgb2YgdXNpbmcgZnJtc2l6ZSBzdGVw X3dpZHRoCiIKCmh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LW1lZGlhLzIwMjAwNzA2MjE1 NDMwLjIyODU5LTEyLWpvbmFzQGt3aWJvby5zZS8KCj4gCj4+ICAJcGl4X21wLT5wbGFuZV9mbXRb MF0uc2l6ZWltYWdlICs9IDEyOCAqCj4+ICAJCURJVl9ST1VORF9VUChwaXhfbXAtPndpZHRoLCAx NikgKgo+PiAgCQlESVZfUk9VTkRfVVAocGl4X21wLT5oZWlnaHQsIDE2KTsKPj4gQEAgLTE5Myw3 ICsxOTMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJrdmRlY19jdHJsX2Rlc2Mgcmt2ZGVjX2gy NjRfY3RybF9kZXNjc1tdID0gewo+PiAgCXsKPj4gIAkJLmNmZy5pZCA9IFY0TDJfQ0lEX01QRUdf VklERU9fSDI2NF9QUk9GSUxFLAo+PiAgCQkuY2ZnLm1pbiA9IFY0TDJfTVBFR19WSURFT19IMjY0 X1BST0ZJTEVfQkFTRUxJTkUsCj4gCj4gRG8gd2Ugd2FudCB0byBrZWVwIHRoaXMgc21hbGwgbGll ID8gQmFzZWxpbmUgaXMgbm90IHN1cHBvcnRlZCBhcyB3ZQo+IGRvbid0IHN1cHBvcnQgRk1PIGFu ZCBBU08uIFRoYXQgYmVpbmcgc2FpZCwgaW4gZnJhbWV3b3JrIGxpa2UKPiBHU3RyZWFtZXIsIHdl IHRyeSB0byBkZWNvZGUgYW55d2F5LCBjYXVzZSB3ZSBrbm93IHdlIGRvbid0IGhhdmUgYQo+IHNv ZnR3YXJlIGZhbGxiYWNrIGFueXdheS4KCkZvdW5kIGEgbm90ZSB0byBjaGFuZ2UgdGhpcyB0byBI MjY0X1BST0ZJTEVfQ09OU1RSQUlORURfQkFTRUxJTkUgZnJvbQp0aGUgb2xkIHYyIHNlcmllcy4g V2lsbCBpbmNsdWRlIHN1Y2ggY2hhbmdlIGluIHY1LgoKaHR0cHM6Ly9wYXRjaHdvcmsubGludXh0 di5vcmcvcHJvamVjdC9saW51eC1tZWRpYS9wYXRjaC8yMDIwMDcwNjIxNTQzMC4yMjg1OS0xMy1q b25hc0Brd2lib28uc2UvIzExOTQwNgoKPiAKPj4gLQkJLmNmZy5tYXggPSBWNEwyX01QRUdfVklE RU9fSDI2NF9QUk9GSUxFX0hJR0gsCj4+ICsJCS5jZmcubWF4ID0gVjRMMl9NUEVHX1ZJREVPX0gy NjRfUFJPRklMRV9ISUdIXzQyMiwKPiAKPiBTaG91bGQgaW5jbHVkZSBWNEwyX01QRUdfVklERU9f SDI2NF9QUk9GSUxFX0hJR0hfMTBfSU5UUkEgYW5kCj4gVjRMMl9NUEVHX1ZJREVPX0gyNjRfUFJP RklMRV9ISUdIXzQyMl9JTlRSQSB0b28gLi4uLgo+IAo+PiAgCQkuY2ZnLm1lbnVfc2tpcF9tYXNr ID0KPj4gIAkJCUJJVChWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX0VYVEVOREVEKSwKPiAK PiBXaGljaCByZXF1aXJlcyBzdWJzdHJhY3RpbmcKPiBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9G SUxFX0hJR0hfNDQ0X1BSRURJQ1RJVkUgdG9vLgoKV2lsbCB1cGRhdGUgaW4gdjUsIHRoYW5rcy4K ClJlZ2FyZHMsCkpvbmFzCgo+IAo+PiAgCQkuY2ZnLmRlZiA9IFY0TDJfTVBFR19WSURFT19IMjY0 X1BST0ZJTEVfTUFJTiwKPj4gQEAgLTIxMCwxMSArMjEwLDIzIEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgcmt2ZGVjX2N0cmxzIHJrdmRlY19oMjY0X2N0cmxzID0gewo+PiAgCS5udW1fY3RybHMgPSBB UlJBWV9TSVpFKHJrdmRlY19oMjY0X2N0cmxfZGVzY3MpLAo+PiAgfTsKPj4gIAo+PiAtc3RhdGlj IGNvbnN0IHN0cnVjdCBya3ZkZWNfZGVjb2RlZF9mbXRfZGVzYyBya3ZkZWNfaDI2NF92cDlfZGVj b2RlZF9mbXRzW10gPSB7Cj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJrdmRlY19kZWNvZGVkX2Zt dF9kZXNjIHJrdmRlY19oMjY0X2RlY29kZWRfZm10c1tdID0gewo+PiAgCXsKPj4gIAkJLmZvdXJj YyA9IFY0TDJfUElYX0ZNVF9OVjEyLAo+PiAgCQkuaW1hZ2VfZm10ID0gUktWREVDX0lNR19GTVRf NDIwXzhCSVQsCj4+ICAJfSwKPj4gKwl7Cj4+ICsJCS5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfTlYx NSwKPj4gKwkJLmltYWdlX2ZtdCA9IFJLVkRFQ19JTUdfRk1UXzQyMF8xMEJJVCwKPj4gKwl9LAo+ PiArCXsKPj4gKwkJLmZvdXJjYyA9IFY0TDJfUElYX0ZNVF9OVjE2LAo+PiArCQkuaW1hZ2VfZm10 ID0gUktWREVDX0lNR19GTVRfNDIyXzhCSVQsCj4+ICsJfSwKPj4gKwl7Cj4+ICsJCS5mb3VyY2Mg PSBWNEwyX1BJWF9GTVRfTlYyMCwKPj4gKwkJLmltYWdlX2ZtdCA9IFJLVkRFQ19JTUdfRk1UXzQy Ml8xMEJJVCwKPj4gKwl9LAo+PiAgfTsKPj4gIAo+PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBya3Zk ZWNfY3RybF9kZXNjIHJrdmRlY192cDlfY3RybF9kZXNjc1tdID0gewo+PiBAQCAtMjM3LDYgKzI0 OSwxMyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJrdmRlY19jdHJscyBya3ZkZWNfdnA5X2N0cmxz ID0gewo+PiAgCS5udW1fY3RybHMgPSBBUlJBWV9TSVpFKHJrdmRlY192cDlfY3RybF9kZXNjcyks Cj4+ICB9Owo+PiAgCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJrdmRlY19kZWNvZGVkX2ZtdF9k ZXNjIHJrdmRlY192cDlfZGVjb2RlZF9mbXRzW10gPSB7Cj4+ICsJewo+PiArCQkuZm91cmNjID0g VjRMMl9QSVhfRk1UX05WMTIsCj4+ICsJCS5pbWFnZV9mbXQgPSBSS1ZERUNfSU1HX0ZNVF80MjBf OEJJVCwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBya3ZkZWNf Y29kZWRfZm10X2Rlc2Mgcmt2ZGVjX2NvZGVkX2ZtdHNbXSA9IHsKPj4gIAl7Cj4+ICAJCS5mb3Vy Y2MgPSBWNEwyX1BJWF9GTVRfSDI2NF9TTElDRSwKPj4gQEAgLTI1MCw4ICsyNjksOCBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHJrdmRlY19jb2RlZF9mbXRfZGVzYyBya3ZkZWNfY29kZWRfZm10c1td ID0gewo+PiAgCQl9LAo+PiAgCQkuY3RybHMgPSAmcmt2ZGVjX2gyNjRfY3RybHMsCj4+ICAJCS5v cHMgPSAmcmt2ZGVjX2gyNjRfZm10X29wcywKPj4gLQkJLm51bV9kZWNvZGVkX2ZtdHMgPSBBUlJB WV9TSVpFKHJrdmRlY19oMjY0X3ZwOV9kZWNvZGVkX2ZtdHMpLAo+PiAtCQkuZGVjb2RlZF9mbXRz ID0gcmt2ZGVjX2gyNjRfdnA5X2RlY29kZWRfZm10cywKPj4gKwkJLm51bV9kZWNvZGVkX2ZtdHMg PSBBUlJBWV9TSVpFKHJrdmRlY19oMjY0X2RlY29kZWRfZm10cyksCj4+ICsJCS5kZWNvZGVkX2Zt dHMgPSBya3ZkZWNfaDI2NF9kZWNvZGVkX2ZtdHMsCj4+ICAJCS5zdWJzeXN0ZW1fZmxhZ3MgPSBW QjJfVjRMMl9GTF9TVVBQT1JUU19NMk1fSE9MRF9DQVBUVVJFX0JVRiwKPj4gIAl9LAo+PiAgCXsK Pj4gQEAgLTI2Niw4ICsyODUsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJrdmRlY19jb2RlZF9m bXRfZGVzYyBya3ZkZWNfY29kZWRfZm10c1tdID0gewo+PiAgCQl9LAo+PiAgCQkuY3RybHMgPSAm cmt2ZGVjX3ZwOV9jdHJscywKPj4gIAkJLm9wcyA9ICZya3ZkZWNfdnA5X2ZtdF9vcHMsCj4+IC0J CS5udW1fZGVjb2RlZF9mbXRzID0gQVJSQVlfU0laRShya3ZkZWNfaDI2NF92cDlfZGVjb2RlZF9m bXRzKSwKPj4gLQkJLmRlY29kZWRfZm10cyA9IHJrdmRlY19oMjY0X3ZwOV9kZWNvZGVkX2ZtdHMs Cj4+ICsJCS5udW1fZGVjb2RlZF9mbXRzID0gQVJSQVlfU0laRShya3ZkZWNfdnA5X2RlY29kZWRf Zm10cyksCj4+ICsJCS5kZWNvZGVkX2ZtdHMgPSBya3ZkZWNfdnA5X2RlY29kZWRfZm10cywKPj4g IAl9Cj4+ICB9Owo+PiAgCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvcmt2 ZGVjL3JrdmRlYy5oIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL3JrdmRlYy9ya3ZkZWMuaAo+PiBp bmRleCBlNDY2YTI3NTNjY2YuLjlhOWY0ZmNlZDdhMSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9z dGFnaW5nL21lZGlhL3JrdmRlYy9ya3ZkZWMuaAo+PiArKysgYi9kcml2ZXJzL3N0YWdpbmcvbWVk aWEvcmt2ZGVjL3JrdmRlYy5oCj4+IEBAIC04MCw2ICs4MCw5IEBAIHN0cnVjdCBya3ZkZWNfY29k ZWRfZm10X29wcyB7Cj4+ICBlbnVtIHJrdmRlY19pbWFnZV9mbXQgewo+PiAgCVJLVkRFQ19JTUdf Rk1UX0FOWSA9IDAsCj4+ICAJUktWREVDX0lNR19GTVRfNDIwXzhCSVQsCj4+ICsJUktWREVDX0lN R19GTVRfNDIwXzEwQklULAo+PiArCVJLVkRFQ19JTUdfRk1UXzQyMl84QklULAo+PiArCVJLVkRF Q19JTUdfRk1UXzQyMl8xMEJJVCwKPj4gIH07Cj4+ICAKPj4gIHN0cnVjdCBya3ZkZWNfZGVjb2Rl ZF9mbXRfZGVzYyB7Cj4gCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1yb2NrY2hpcAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.forwardemail.net (smtp.forwardemail.net [167.172.40.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EFA1323A8 for ; Thu, 9 Nov 2023 18:25:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=kwiboo.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.kwiboo.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se header.b="L3yHgEoP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=Content-Transfer-Encoding: Content-Type: In-Reply-To: From: References: Cc: To: Subject: MIME-Version: Date: Message-ID; q=dns/txt; s=fe-e1b5cab7be; t=1699554306; bh=REf0fnXMpg4PsdF4s5vHOGAS2ALbXsSawZYVFeBAIWw=; b=L3yHgEoPHvb+UC0Twvtp1BFX0wjRRyeb8nc1F5cMGHdA0rNNC2yMqn6ZrcMCeaxcxjs6bIqJn 2cElCDXxeMVfIT4OlKBwiOoR2Du9rHm0Qa1sOEaGzwXQgNGYnzFIg+P2HoU0E4X7Mu9zWdtF3ol KH2RWDCvCgF9NT1Teqx3TemnbusP3aDwXJd3hUx4HzjKPHdlcb0I0qUl4F3MDWGnjM6coqmYfo3 eYVKNRPWLMak0YrfosPdPNjmZThcLkTsRcgAYtGbcihZNPpx/qILcbVUT0eegjzu/s5uwUg+43A Z4bUUd0PflfQVZd0WQr0MY2EP6fSMQTMHTdOMgzhLGEA== Message-ID: Date: Thu, 9 Nov 2023 19:25:00 +0100 Precedence: bulk X-Mailing-List: linux-staging@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 11/11] media: rkvdec: h264: Support High 10 and 4:2:2 profiles Content-Language: en-US To: Nicolas Dufresne , 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 References: <20231105165521.3592037-1-jonas@kwiboo.se> <20231105165521.3592037-12-jonas@kwiboo.se> From: Jonas Karlman In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Report-Abuse-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Complaints-To: abuse@forwardemail.net X-ForwardEmail-Version: 0.4.40 X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net, 167.172.40.54 X-ForwardEmail-ID: 654d2401b32fff32884ed570 On 2023-11-08 03:20, Nicolas Dufresne wrote: > Le dimanche 05 novembre 2023 à 16:55 +0000, Jonas Karlman a écrit : >> Add support and enable decoding of H264 High 10 and 4:2:2 profiles. >> >> Decoded CAPTURE buffer width is aligned to 64 pixels to accommodate HW >> requirement of 10-bit format buffers, fixes decoding of: >> >> - Hi422FR13_SONY_A >> - Hi422FR14_SONY_A >> - Hi422FR15_SONY_A >> - Hi422FR6_SONY_A >> - Hi422FR7_SONY_A >> - Hi422FR8_SONY_A >> - Hi422FR9_SONY_A >> - Hi422FREXT18_SONY_A >> >> The get_image_fmt() ops is implemented to select an image format >> required for the provided SPS control. >> >> Signed-off-by: Jonas Karlman >> --- >> v4: >> - Change to use get_image_fmt() ops >> >> v3: >> - Add get_fmt_opaque ops, the expected pixelformat is used as opaque >> - Add new valid_fmt ops that validate pixelformat matches opaque >> - Update H264_PROFILE control max value >> >> drivers/staging/media/rkvdec/rkvdec-h264.c | 37 ++++++++++++++++------ >> drivers/staging/media/rkvdec/rkvdec.c | 33 +++++++++++++++---- >> drivers/staging/media/rkvdec/rkvdec.h | 3 ++ >> 3 files changed, 57 insertions(+), 16 deletions(-) >> >> diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c >> index 815d5359ddd5..baac6d012ddd 100644 >> --- a/drivers/staging/media/rkvdec/rkvdec-h264.c >> +++ b/drivers/staging/media/rkvdec/rkvdec-h264.c >> @@ -1027,24 +1027,42 @@ static int rkvdec_h264_adjust_fmt(struct rkvdec_ctx *ctx, >> return 0; >> } >> >> +static enum rkvdec_image_fmt rkvdec_h264_get_image_fmt(struct rkvdec_ctx *ctx, >> + struct v4l2_ctrl *ctrl) >> +{ >> + const struct v4l2_ctrl_h264_sps *sps = ctrl->p_new.p_h264_sps; >> + >> + if (ctrl->id != V4L2_CID_STATELESS_H264_SPS) >> + return RKVDEC_IMG_FMT_ANY; >> + >> + if (sps->bit_depth_luma_minus8 == 0) { >> + if (sps->chroma_format_idc == 2) >> + return RKVDEC_IMG_FMT_422_8BIT; >> + else >> + return RKVDEC_IMG_FMT_420_8BIT; >> + } else if (sps->bit_depth_luma_minus8 == 2) { >> + if (sps->chroma_format_idc == 2) >> + return RKVDEC_IMG_FMT_422_10BIT; >> + else >> + return RKVDEC_IMG_FMT_420_10BIT; >> + } >> + >> + return RKVDEC_IMG_FMT_ANY; >> +} >> + >> static int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx, >> const struct v4l2_ctrl_h264_sps *sps) >> { >> unsigned int width, height; >> >> - /* >> - * TODO: The hardware supports 10-bit and 4:2:2 profiles, >> - * but it's currently broken in the driver. >> - * Reject them for now, until it's fixed. >> - */ >> - if (sps->chroma_format_idc > 1) >> - /* Only 4:0:0 and 4:2:0 are supported */ >> + if (sps->chroma_format_idc > 2) >> + /* Only 4:0:0, 4:2:0 and 4:2:2 are supported */ >> return -EINVAL; >> if (sps->bit_depth_luma_minus8 != sps->bit_depth_chroma_minus8) >> /* Luma and chroma bit depth mismatch */ >> return -EINVAL; >> - if (sps->bit_depth_luma_minus8 != 0) >> - /* Only 8-bit is supported */ >> + if (sps->bit_depth_luma_minus8 != 0 && sps->bit_depth_luma_minus8 != 2) >> + /* Only 8-bit and 10-bit is supported */ >> return -EINVAL; >> >> width = (sps->pic_width_in_mbs_minus1 + 1) * 16; >> @@ -1175,4 +1193,5 @@ const struct rkvdec_coded_fmt_ops rkvdec_h264_fmt_ops = { >> .stop = rkvdec_h264_stop, >> .run = rkvdec_h264_run, >> .try_ctrl = rkvdec_h264_try_ctrl, >> + .get_image_fmt = rkvdec_h264_get_image_fmt, >> }; >> diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c >> index 225aa1f0ac48..eb59605ccf28 100644 >> --- a/drivers/staging/media/rkvdec/rkvdec.c >> +++ b/drivers/staging/media/rkvdec/rkvdec.c >> @@ -73,7 +73,7 @@ static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx, >> struct v4l2_pix_format_mplane *pix_mp) >> { >> v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat, >> - pix_mp->width, pix_mp->height); >> + ALIGN(pix_mp->width, 64), pix_mp->height); > > If you align regardless if its 8/10bit (which I don't really mind, it > does not cost much and helps if you have a Mali GPU), please do in > rkvdec_coded_fmts[].frmsize.step_width. > > Otherwise you'll endup creating a config per bit depth, and probably > won't need any of the rk format stuff, since you could just update the > config, and enumerate from there. I don't mind your method though, but > lets not hardcode alignment where it shouldn't be. Agree, will change to use step_width/min_width = 64 in v5, not sure why I changed from using step_width in v2 to begin with: " Changes in v2: - Only align decoded buffer instead of using frmsize step_width " https://lore.kernel.org/linux-media/20200706215430.22859-12-jonas@kwiboo.se/ > >> pix_mp->plane_fmt[0].sizeimage += 128 * >> DIV_ROUND_UP(pix_mp->width, 16) * >> DIV_ROUND_UP(pix_mp->height, 16); >> @@ -193,7 +193,7 @@ static const struct rkvdec_ctrl_desc rkvdec_h264_ctrl_descs[] = { >> { >> .cfg.id = V4L2_CID_MPEG_VIDEO_H264_PROFILE, >> .cfg.min = V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE, > > Do we want to keep this small lie ? Baseline is not supported as we > don't support FMO and ASO. That being said, in framework like > GStreamer, we try to decode anyway, cause we know we don't have a > software fallback anyway. Found a note to change this to H264_PROFILE_CONSTRAINED_BASELINE from the old v2 series. Will include such change in v5. https://patchwork.linuxtv.org/project/linux-media/patch/20200706215430.22859-13-jonas@kwiboo.se/#119406 > >> - .cfg.max = V4L2_MPEG_VIDEO_H264_PROFILE_HIGH, >> + .cfg.max = V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422, > > Should include V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA and > V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA too .... > >> .cfg.menu_skip_mask = >> BIT(V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED), > > Which requires substracting > V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE too. Will update in v5, thanks. Regards, Jonas > >> .cfg.def = V4L2_MPEG_VIDEO_H264_PROFILE_MAIN, >> @@ -210,11 +210,23 @@ static const struct rkvdec_ctrls rkvdec_h264_ctrls = { >> .num_ctrls = ARRAY_SIZE(rkvdec_h264_ctrl_descs), >> }; >> >> -static const struct rkvdec_decoded_fmt_desc rkvdec_h264_vp9_decoded_fmts[] = { >> +static const struct rkvdec_decoded_fmt_desc rkvdec_h264_decoded_fmts[] = { >> { >> .fourcc = V4L2_PIX_FMT_NV12, >> .image_fmt = RKVDEC_IMG_FMT_420_8BIT, >> }, >> + { >> + .fourcc = V4L2_PIX_FMT_NV15, >> + .image_fmt = RKVDEC_IMG_FMT_420_10BIT, >> + }, >> + { >> + .fourcc = V4L2_PIX_FMT_NV16, >> + .image_fmt = RKVDEC_IMG_FMT_422_8BIT, >> + }, >> + { >> + .fourcc = V4L2_PIX_FMT_NV20, >> + .image_fmt = RKVDEC_IMG_FMT_422_10BIT, >> + }, >> }; >> >> static const struct rkvdec_ctrl_desc rkvdec_vp9_ctrl_descs[] = { >> @@ -237,6 +249,13 @@ static const struct rkvdec_ctrls rkvdec_vp9_ctrls = { >> .num_ctrls = ARRAY_SIZE(rkvdec_vp9_ctrl_descs), >> }; >> >> +static const struct rkvdec_decoded_fmt_desc rkvdec_vp9_decoded_fmts[] = { >> + { >> + .fourcc = V4L2_PIX_FMT_NV12, >> + .image_fmt = RKVDEC_IMG_FMT_420_8BIT, >> + }, >> +}; >> + >> static const struct rkvdec_coded_fmt_desc rkvdec_coded_fmts[] = { >> { >> .fourcc = V4L2_PIX_FMT_H264_SLICE, >> @@ -250,8 +269,8 @@ static const struct rkvdec_coded_fmt_desc rkvdec_coded_fmts[] = { >> }, >> .ctrls = &rkvdec_h264_ctrls, >> .ops = &rkvdec_h264_fmt_ops, >> - .num_decoded_fmts = ARRAY_SIZE(rkvdec_h264_vp9_decoded_fmts), >> - .decoded_fmts = rkvdec_h264_vp9_decoded_fmts, >> + .num_decoded_fmts = ARRAY_SIZE(rkvdec_h264_decoded_fmts), >> + .decoded_fmts = rkvdec_h264_decoded_fmts, >> .subsystem_flags = VB2_V4L2_FL_SUPPORTS_M2M_HOLD_CAPTURE_BUF, >> }, >> { >> @@ -266,8 +285,8 @@ static const struct rkvdec_coded_fmt_desc rkvdec_coded_fmts[] = { >> }, >> .ctrls = &rkvdec_vp9_ctrls, >> .ops = &rkvdec_vp9_fmt_ops, >> - .num_decoded_fmts = ARRAY_SIZE(rkvdec_h264_vp9_decoded_fmts), >> - .decoded_fmts = rkvdec_h264_vp9_decoded_fmts, >> + .num_decoded_fmts = ARRAY_SIZE(rkvdec_vp9_decoded_fmts), >> + .decoded_fmts = rkvdec_vp9_decoded_fmts, >> } >> }; >> >> diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h >> index e466a2753ccf..9a9f4fced7a1 100644 >> --- a/drivers/staging/media/rkvdec/rkvdec.h >> +++ b/drivers/staging/media/rkvdec/rkvdec.h >> @@ -80,6 +80,9 @@ struct rkvdec_coded_fmt_ops { >> enum rkvdec_image_fmt { >> RKVDEC_IMG_FMT_ANY = 0, >> RKVDEC_IMG_FMT_420_8BIT, >> + RKVDEC_IMG_FMT_420_10BIT, >> + RKVDEC_IMG_FMT_422_8BIT, >> + RKVDEC_IMG_FMT_422_10BIT, >> }; >> >> struct rkvdec_decoded_fmt_desc { >