From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 EBE1C17F8; Mon, 30 May 2022 09:18:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4CEC3C385B8; Mon, 30 May 2022 09:18:38 +0000 (UTC) Message-ID: Date: Mon, 30 May 2022 11:18:36 +0200 Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: Re: [PATCH v6 11/17] media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS control Content-Language: en-US To: =?UTF-8?Q?Jernej_=c5=a0krabec?= , mchehab@kernel.org, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, samuel@sholland.org, nicolas.dufresne@collabora.com, andrzej.p@collabora.com, Benjamin Gaignard Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, kernel@collabora.com References: <20220527143134.3360174-1-benjamin.gaignard@collabora.com> <20220527143134.3360174-12-benjamin.gaignard@collabora.com> <2102641.irdbgypaU6@kista> From: Hans Verkuil In-Reply-To: <2102641.irdbgypaU6@kista> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 29/05/2022 08:40, Jernej Škrabec wrote: > Hi! > > This series looks very good and I plan to test it shortly on Cedrus, but I > have one major concern below. > > Dne petek, 27. maj 2022 ob 16:31:28 CEST je Benjamin Gaignard napisal(a): >> The number of 'entry point offset' can be very variable. >> Instead of using a large static array define a v4l2 dynamic array >> of U32 (V4L2_CTRL_TYPE_U32). >> The number of entry point offsets is reported by the elems field >> and in struct v4l2_ctrl_hevc_slice_params.num_entry_point_offsets >> field. > > Slice control by itself is variable length array, so you would actually need > 2D variable array for entry points which is not supported. However, easy > workaround for that is to flatten 2D array to 1D and either have another slice > control field which would tell first entry point index for convenience or let > driver calculate it by adding up all num_entry_point_offsets of previous > slices. > > Hans, what do you think? If I would support 2D variable array sizes, wouldn't that be more elegant? The current implementation doesn't support that, but as the commit log for patch 1/17 says: "Currently dynamically sized arrays are limited to one dimensional arrays, but that might change in the future if there is a need for it." Let me know if you agree, and I'll try to implement this. It's been a while since I last looked at this, so I'm not sure how much work it is, but it is probably worth a shot. Regards, Hans > > Note, it seems that H265 decoding on Cedrus still works without entry points, > so this problem can be solved later. I'm not sure what we lose with that but > it was suggested that this could influence speed or error resilience or both. > However, I think we're close to solve it, so I'd like to do that now. > > Best regards, > Jernej > >> >> Signed-off-by: Benjamin Gaignard >> --- >> .../userspace-api/media/v4l/ext-ctrls-codec.rst | 11 +++++++++++ >> drivers/media/v4l2-core/v4l2-ctrls-defs.c | 5 +++++ >> include/media/hevc-ctrls.h | 5 ++++- >> 3 files changed, 20 insertions(+), 1 deletion(-) >> >> diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/ > Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst >> index 0796b1563daa..05228e280f66 100644 >> --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst >> +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst >> @@ -3010,6 +3010,9 @@ enum v4l2_mpeg_video_hevc_size_of_length_field - >> * - __u32 >> - ``data_bit_offset`` >> - Offset (in bits) to the video data in the current slice data. >> + * - __u32 >> + - ``num_entry_point_offsets`` >> + - Specifies the number of entry point offset syntax elements in the > slice header. >> * - __u8 >> - ``nal_unit_type`` >> - Specifies the coding type of the slice (B, P or I). >> @@ -3150,6 +3153,14 @@ enum v4l2_mpeg_video_hevc_size_of_length_field - >> >> \normalsize >> >> +``V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS (integer)`` >> + Specifies entry point offsets in bytes. >> + This control is a dynamically sized array. The number of entry point >> + offsets is reported by the ``elems`` field. >> + This bitstream parameter is defined according to :ref:`hevc`. >> + They are described in section 7.4.7.1 "General slice segment header >> + semantics" of the specification. >> + >> ``V4L2_CID_STATELESS_HEVC_SCALING_MATRIX (struct)`` >> Specifies the HEVC scaling matrix parameters used for the scaling > process >> for transform coefficients. >> diff --git a/drivers/media/v4l2-core/v4l2-ctrls-defs.c b/drivers/media/v4l2- > core/v4l2-ctrls-defs.c >> index d594efbcbb93..e22921e7ea61 100644 >> --- a/drivers/media/v4l2-core/v4l2-ctrls-defs.c >> +++ b/drivers/media/v4l2-core/v4l2-ctrls-defs.c >> @@ -1188,6 +1188,7 @@ const char *v4l2_ctrl_get_name(u32 id) >> case V4L2_CID_STATELESS_HEVC_DECODE_PARAMS: return > "HEVC Decode Parameters"; >> case V4L2_CID_STATELESS_HEVC_DECODE_MODE: return > "HEVC Decode Mode"; >> case V4L2_CID_STATELESS_HEVC_START_CODE: return > "HEVC Start Code"; >> + case V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS: return > "HEVC Entry Point Offsets"; >> >> /* Colorimetry controls */ >> /* Keep the order of the 'case's the same as in v4l2-controls.h! > */ >> @@ -1518,6 +1519,10 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum > v4l2_ctrl_type *type, >> case V4L2_CID_STATELESS_HEVC_DECODE_PARAMS: >> *type = V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS; >> break; >> + case V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS: >> + *type = V4L2_CTRL_TYPE_U32; >> + *flags |= V4L2_CTRL_FLAG_DYNAMIC_ARRAY; >> + break; >> case V4L2_CID_STATELESS_VP9_COMPRESSED_HDR: >> *type = V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR; >> break; >> diff --git a/include/media/hevc-ctrls.h b/include/media/hevc-ctrls.h >> index a3c829ef531a..1319cb99ae3f 100644 >> --- a/include/media/hevc-ctrls.h >> +++ b/include/media/hevc-ctrls.h >> @@ -20,6 +20,7 @@ >> #define V4L2_CID_STATELESS_HEVC_DECODE_PARAMS (V4L2_CID_CODEC_BASE > + 1012) >> #define V4L2_CID_STATELESS_HEVC_DECODE_MODE (V4L2_CID_CODEC_BASE + 1015) >> #define V4L2_CID_STATELESS_HEVC_START_CODE (V4L2_CID_CODEC_BASE + 1016) >> +#define V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS (V4L2_CID_CODEC_BASE + > 1017) >> >> /* enum v4l2_ctrl_type type values */ >> #define V4L2_CTRL_TYPE_HEVC_SPS 0x0120 >> @@ -318,6 +319,8 @@ struct v4l2_hevc_pred_weight_table { >> * >> * @bit_size: size (in bits) of the current slice data >> * @data_bit_offset: offset (in bits) to the video data in the current slice > data >> + * @num_entry_point_offsets: specifies the number of entry point offset syntax >> + * elements in the slice header. >> * @nal_unit_type: specifies the coding type of the slice (B, P or I) >> * @nuh_temporal_id_plus1: minus 1 specifies a temporal identifier for the > NAL unit >> * @slice_type: see V4L2_HEVC_SLICE_TYPE_{} >> @@ -360,7 +363,7 @@ struct v4l2_hevc_pred_weight_table { >> struct v4l2_ctrl_hevc_slice_params { >> __u32 bit_size; >> __u32 data_bit_offset; >> - >> + __u32 num_entry_point_offsets; >> /* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */ >> __u8 nal_unit_type; >> __u8 nuh_temporal_id_plus1; >> -- >> 2.32.0 >> >> > > 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 11817C433EF for ; Mon, 30 May 2022 09:19:15 +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=1+KIt6TpsyHwnI0r4MZcnU3DN9eAP3Qn9qe9okokoHQ=; b=yrUi4gwuLYdL6i o1zqBBr4mz2qoHS/nv1xUatq2jn7EfZEJuAIQ3WZBhq9cNEFZWV88C4HzVVaI3OvpaD9LNKhIqS1U Jzb6QLyS3sWliB2fNXjhOExrVprHG5dAYhXeqdMNF4c7+deu3o/LN7CwkDRQk3vAlV5gPXFBx22Mm 4wmiq/N2/gk7Poup4ycKc0QIB4RsKaXi+OoV6eh7Y50EuMU9StYgMIMxvz1hxFYPOY55Ty+LPRp9p kRes1LjtPhKvqRS715zoxkB2pFXlq/Lj1PF1lK/aWAe/6ndE7bBExgrJsvqnEUljy33CKvO2lLhNv UPRDECHa662CiIsXSVcA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nvbYA-0066AV-3H; Mon, 30 May 2022 09:18:58 +0000 Received: from ams.source.kernel.org ([145.40.68.75]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nvbXy-00666m-2k; Mon, 30 May 2022 09:18:48 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id DAA92B80B32; Mon, 30 May 2022 09:18:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4CEC3C385B8; Mon, 30 May 2022 09:18:38 +0000 (UTC) Message-ID: Date: Mon, 30 May 2022 11:18:36 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: Re: [PATCH v6 11/17] media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS control Content-Language: en-US To: =?UTF-8?Q?Jernej_=c5=a0krabec?= , mchehab@kernel.org, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, samuel@sholland.org, nicolas.dufresne@collabora.com, andrzej.p@collabora.com, Benjamin Gaignard Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, kernel@collabora.com References: <20220527143134.3360174-1-benjamin.gaignard@collabora.com> <20220527143134.3360174-12-benjamin.gaignard@collabora.com> <2102641.irdbgypaU6@kista> From: Hans Verkuil In-Reply-To: <2102641.irdbgypaU6@kista> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220530_021846_465577_8105AD29 X-CRM114-Status: GOOD ( 39.92 ) 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 T24gMjkvMDUvMjAyMiAwODo0MCwgSmVybmVqIMWga3JhYmVjIHdyb3RlOgo+IEhpIQo+IAo+IFRo aXMgc2VyaWVzIGxvb2tzIHZlcnkgZ29vZCBhbmQgSSBwbGFuIHRvIHRlc3QgaXQgc2hvcnRseSBv biBDZWRydXMsIGJ1dCBJIAo+IGhhdmUgb25lIG1ham9yIGNvbmNlcm4gYmVsb3cuCj4gCj4gRG5l IHBldGVrLCAyNy4gbWFqIDIwMjIgb2IgMTY6MzE6MjggQ0VTVCBqZSBCZW5qYW1pbiBHYWlnbmFy ZCBuYXBpc2FsKGEpOgo+PiBUaGUgbnVtYmVyIG9mICdlbnRyeSBwb2ludCBvZmZzZXQnIGNhbiBi ZSB2ZXJ5IHZhcmlhYmxlLgo+PiBJbnN0ZWFkIG9mIHVzaW5nIGEgbGFyZ2Ugc3RhdGljIGFycmF5 IGRlZmluZSBhIHY0bDIgZHluYW1pYyBhcnJheQo+PiBvZiBVMzIgKFY0TDJfQ1RSTF9UWVBFX1Uz MikuCj4+IFRoZSBudW1iZXIgb2YgZW50cnkgcG9pbnQgb2Zmc2V0cyBpcyByZXBvcnRlZCBieSB0 aGUgZWxlbXMgZmllbGQKPj4gYW5kIGluIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zbGljZV9wYXJh bXMubnVtX2VudHJ5X3BvaW50X29mZnNldHMKPj4gZmllbGQuCj4gCj4gU2xpY2UgY29udHJvbCBi eSBpdHNlbGYgaXMgdmFyaWFibGUgbGVuZ3RoIGFycmF5LCBzbyB5b3Ugd291bGQgYWN0dWFsbHkg bmVlZCAKPiAyRCB2YXJpYWJsZSBhcnJheSBmb3IgZW50cnkgcG9pbnRzIHdoaWNoIGlzIG5vdCBz dXBwb3J0ZWQuIEhvd2V2ZXIsIGVhc3kgCj4gd29ya2Fyb3VuZCBmb3IgdGhhdCBpcyB0byBmbGF0 dGVuIDJEIGFycmF5IHRvIDFEIGFuZCBlaXRoZXIgaGF2ZSBhbm90aGVyIHNsaWNlIAo+IGNvbnRy b2wgZmllbGQgd2hpY2ggd291bGQgdGVsbCBmaXJzdCBlbnRyeSBwb2ludCBpbmRleCBmb3IgY29u dmVuaWVuY2Ugb3IgbGV0IAo+IGRyaXZlciBjYWxjdWxhdGUgaXQgYnkgYWRkaW5nIHVwIGFsbCBu dW1fZW50cnlfcG9pbnRfb2Zmc2V0cyBvZiBwcmV2aW91cyAKPiBzbGljZXMuCj4gCj4gSGFucywg d2hhdCBkbyB5b3UgdGhpbms/CgpJZiBJIHdvdWxkIHN1cHBvcnQgMkQgdmFyaWFibGUgYXJyYXkg c2l6ZXMsIHdvdWxkbid0IHRoYXQgYmUgbW9yZSBlbGVnYW50PwoKVGhlIGN1cnJlbnQgaW1wbGVt ZW50YXRpb24gZG9lc24ndCBzdXBwb3J0IHRoYXQsIGJ1dCBhcyB0aGUgY29tbWl0IGxvZyBmb3IK cGF0Y2ggMS8xNyBzYXlzOgoKIkN1cnJlbnRseSBkeW5hbWljYWxseSBzaXplZCBhcnJheXMgYXJl IGxpbWl0ZWQgdG8gb25lIGRpbWVuc2lvbmFsIGFycmF5cywKYnV0IHRoYXQgbWlnaHQgY2hhbmdl IGluIHRoZSBmdXR1cmUgaWYgdGhlcmUgaXMgYSBuZWVkIGZvciBpdC4iCgpMZXQgbWUga25vdyBp ZiB5b3UgYWdyZWUsIGFuZCBJJ2xsIHRyeSB0byBpbXBsZW1lbnQgdGhpcy4gSXQncyBiZWVuIGEg d2hpbGUKc2luY2UgSSBsYXN0IGxvb2tlZCBhdCB0aGlzLCBzbyBJJ20gbm90IHN1cmUgaG93IG11 Y2ggd29yayBpdCBpcywgYnV0IGl0IGlzCnByb2JhYmx5IHdvcnRoIGEgc2hvdC4KClJlZ2FyZHMs CgoJSGFucwoKPiAKPiBOb3RlLCBpdCBzZWVtcyB0aGF0IEgyNjUgZGVjb2Rpbmcgb24gQ2VkcnVz IHN0aWxsIHdvcmtzIHdpdGhvdXQgZW50cnkgcG9pbnRzLCAKPiBzbyB0aGlzIHByb2JsZW0gY2Fu IGJlIHNvbHZlZCBsYXRlci4gSSdtIG5vdCBzdXJlIHdoYXQgd2UgbG9zZSB3aXRoIHRoYXQgYnV0 IAo+IGl0IHdhcyBzdWdnZXN0ZWQgdGhhdCB0aGlzIGNvdWxkIGluZmx1ZW5jZSBzcGVlZCBvciBl cnJvciByZXNpbGllbmNlIG9yIGJvdGguIAo+IEhvd2V2ZXIsIEkgdGhpbmsgd2UncmUgY2xvc2Ug dG8gc29sdmUgaXQsIHNvIEknZCBsaWtlIHRvIGRvIHRoYXQgbm93Lgo+IAo+IEJlc3QgcmVnYXJk cywKPiBKZXJuZWoKPiAKPj4KPj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJl bmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+Cj4+IC0tLQo+PiAgLi4uL3VzZXJzcGFjZS1h cGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QgICAgICAgfCAxMSArKysrKysrKysrKwo+ PiAgZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy1kZWZzLmMgICAgICAgICAgICAg fCAgNSArKysrKwo+PiAgaW5jbHVkZS9tZWRpYS9oZXZjLWN0cmxzLmggICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNSArKysrLQo+PiAgMyBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3VzZXJz cGFjZS1hcGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QgYi8KPiBEb2N1bWVudGF0aW9u L3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QKPj4gaW5kZXggMDc5 NmIxNTYzZGFhLi4wNTIyOGUyODBmNjYgMTAwNjQ0Cj4+IC0tLSBhL0RvY3VtZW50YXRpb24vdXNl cnNwYWNlLWFwaS9tZWRpYS92NGwvZXh0LWN0cmxzLWNvZGVjLnJzdAo+PiArKysgYi9Eb2N1bWVu dGF0aW9uL3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QKPj4gQEAg LTMwMTAsNiArMzAxMCw5IEBAIGVudW0gdjRsMl9tcGVnX3ZpZGVvX2hldmNfc2l6ZV9vZl9sZW5n dGhfZmllbGQgLQo+PiAgICAgICogLSBfX3UzMgo+PiAgICAgICAgLSBgYGRhdGFfYml0X29mZnNl dGBgCj4+ICAgICAgICAtIE9mZnNldCAoaW4gYml0cykgdG8gdGhlIHZpZGVvIGRhdGEgaW4gdGhl IGN1cnJlbnQgc2xpY2UgZGF0YS4KPj4gKyAgICAqIC0gX191MzIKPj4gKyAgICAgIC0gYGBudW1f ZW50cnlfcG9pbnRfb2Zmc2V0c2BgCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9m IGVudHJ5IHBvaW50IG9mZnNldCBzeW50YXggZWxlbWVudHMgaW4gdGhlIAo+IHNsaWNlIGhlYWRl ci4KPj4gICAgICAqIC0gX191OAo+PiAgICAgICAgLSBgYG5hbF91bml0X3R5cGVgYAo+PiAgICAg ICAgLSBTcGVjaWZpZXMgdGhlIGNvZGluZyB0eXBlIG9mIHRoZSBzbGljZSAoQiwgUCBvciBJKS4K Pj4gQEAgLTMxNTAsNiArMzE1MywxNCBAQCBlbnVtIHY0bDJfbXBlZ192aWRlb19oZXZjX3NpemVf b2ZfbGVuZ3RoX2ZpZWxkIC0KPj4gIAo+PiAgICAgIFxub3JtYWxzaXplCj4+ICAKPj4gK2BgVjRM Ml9DSURfU1RBVEVMRVNTX0hFVkNfRU5UUllfUE9JTlRfT0ZGU0VUUyAoaW50ZWdlcilgYAo+PiAr ICAgIFNwZWNpZmllcyBlbnRyeSBwb2ludCBvZmZzZXRzIGluIGJ5dGVzLgo+PiArICAgIFRoaXMg Y29udHJvbCBpcyBhIGR5bmFtaWNhbGx5IHNpemVkIGFycmF5LiBUaGUgbnVtYmVyIG9mIGVudHJ5 IHBvaW50Cj4+ICsgICAgb2Zmc2V0cyBpcyByZXBvcnRlZCBieSB0aGUgYGBlbGVtc2BgIGZpZWxk Lgo+PiArICAgIFRoaXMgYml0c3RyZWFtIHBhcmFtZXRlciBpcyBkZWZpbmVkIGFjY29yZGluZyB0 byA6cmVmOmBoZXZjYC4KPj4gKyAgICBUaGV5IGFyZSBkZXNjcmliZWQgaW4gc2VjdGlvbiA3LjQu Ny4xICJHZW5lcmFsIHNsaWNlIHNlZ21lbnQgaGVhZGVyCj4+ICsgICAgc2VtYW50aWNzIiBvZiB0 aGUgc3BlY2lmaWNhdGlvbi4KPj4gKwo+PiAgYGBWNEwyX0NJRF9TVEFURUxFU1NfSEVWQ19TQ0FM SU5HX01BVFJJWCAoc3RydWN0KWBgCj4+ICAgICAgU3BlY2lmaWVzIHRoZSBIRVZDIHNjYWxpbmcg bWF0cml4IHBhcmFtZXRlcnMgdXNlZCBmb3IgdGhlIHNjYWxpbmcgCj4gcHJvY2Vzcwo+PiAgICAg IGZvciB0cmFuc2Zvcm0gY29lZmZpY2llbnRzLgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS92NGwyLWNvcmUvdjRsMi1jdHJscy1kZWZzLmMgYi9kcml2ZXJzL21lZGlhL3Y0bDItCj4gY29y ZS92NGwyLWN0cmxzLWRlZnMuYwo+PiBpbmRleCBkNTk0ZWZiY2JiOTMuLmUyMjkyMWU3ZWE2MSAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy1kZWZzLmMK Pj4gKysrIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy1kZWZzLmMKPj4gQEAg LTExODgsNiArMTE4OCw3IEBAIGNvbnN0IGNoYXIgKnY0bDJfY3RybF9nZXRfbmFtZSh1MzIgaWQp Cj4+ICAJY2FzZSBWNEwyX0NJRF9TVEFURUxFU1NfSEVWQ19ERUNPREVfUEFSQU1TOgkJcmV0dXJu IAo+ICJIRVZDIERlY29kZSBQYXJhbWV0ZXJzIjsKPj4gIAljYXNlIFY0TDJfQ0lEX1NUQVRFTEVT U19IRVZDX0RFQ09ERV9NT0RFOgkJcmV0dXJuIAo+ICJIRVZDIERlY29kZSBNb2RlIjsKPj4gIAlj YXNlIFY0TDJfQ0lEX1NUQVRFTEVTU19IRVZDX1NUQVJUX0NPREU6CQlyZXR1cm4gCj4gIkhFVkMg U3RhcnQgQ29kZSI7Cj4+ICsJY2FzZSBWNEwyX0NJRF9TVEFURUxFU1NfSEVWQ19FTlRSWV9QT0lO VF9PRkZTRVRTOglyZXR1cm4gCj4gIkhFVkMgRW50cnkgUG9pbnQgT2Zmc2V0cyI7Cj4+ICAKPj4g IAkvKiBDb2xvcmltZXRyeSBjb250cm9scyAqLwo+PiAgCS8qIEtlZXAgdGhlIG9yZGVyIG9mIHRo ZSAnY2FzZSdzIHRoZSBzYW1lIGFzIGluIHY0bDItY29udHJvbHMuaCEgCj4gKi8KPj4gQEAgLTE1 MTgsNiArMTUxOSwxMCBAQCB2b2lkIHY0bDJfY3RybF9maWxsKHUzMiBpZCwgY29uc3QgY2hhciAq Km5hbWUsIGVudW0gCj4gdjRsMl9jdHJsX3R5cGUgKnR5cGUsCj4+ICAJY2FzZSBWNEwyX0NJRF9T VEFURUxFU1NfSEVWQ19ERUNPREVfUEFSQU1TOgo+PiAgCQkqdHlwZSA9IFY0TDJfQ1RSTF9UWVBF X0hFVkNfREVDT0RFX1BBUkFNUzsKPj4gIAkJYnJlYWs7Cj4+ICsJY2FzZSBWNEwyX0NJRF9TVEFU RUxFU1NfSEVWQ19FTlRSWV9QT0lOVF9PRkZTRVRTOgo+PiArCQkqdHlwZSA9IFY0TDJfQ1RSTF9U WVBFX1UzMjsKPj4gKwkJKmZsYWdzIHw9IFY0TDJfQ1RSTF9GTEFHX0RZTkFNSUNfQVJSQVk7Cj4+ ICsJCWJyZWFrOwo+PiAgCWNhc2UgVjRMMl9DSURfU1RBVEVMRVNTX1ZQOV9DT01QUkVTU0VEX0hE UjoKPj4gIAkJKnR5cGUgPSBWNEwyX0NUUkxfVFlQRV9WUDlfQ09NUFJFU1NFRF9IRFI7Cj4+ICAJ CWJyZWFrOwo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tZWRpYS9oZXZjLWN0cmxzLmggYi9pbmNs dWRlL21lZGlhL2hldmMtY3RybHMuaAo+PiBpbmRleCBhM2M4MjllZjUzMWEuLjEzMTljYjk5YWUz ZiAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9tZWRpYS9oZXZjLWN0cmxzLmgKPj4gKysrIGIvaW5j bHVkZS9tZWRpYS9oZXZjLWN0cmxzLmgKPj4gQEAgLTIwLDYgKzIwLDcgQEAKPj4gICNkZWZpbmUg VjRMMl9DSURfU1RBVEVMRVNTX0hFVkNfREVDT0RFX1BBUkFNUwkoVjRMMl9DSURfQ09ERUNfQkFT RSAKPiArIDEwMTIpCj4+ICAjZGVmaW5lIFY0TDJfQ0lEX1NUQVRFTEVTU19IRVZDX0RFQ09ERV9N T0RFCShWNEwyX0NJRF9DT0RFQ19CQVNFICsgMTAxNSkKPj4gICNkZWZpbmUgVjRMMl9DSURfU1RB VEVMRVNTX0hFVkNfU1RBUlRfQ09ERQkoVjRMMl9DSURfQ09ERUNfQkFTRSArIDEwMTYpCj4+ICsj ZGVmaW5lIFY0TDJfQ0lEX1NUQVRFTEVTU19IRVZDX0VOVFJZX1BPSU5UX09GRlNFVFMgKFY0TDJf Q0lEX0NPREVDX0JBU0UgKyAKPiAxMDE3KQo+PiAgCj4+ICAvKiBlbnVtIHY0bDJfY3RybF90eXBl IHR5cGUgdmFsdWVzICovCj4+ICAjZGVmaW5lIFY0TDJfQ1RSTF9UWVBFX0hFVkNfU1BTIDB4MDEy MAo+PiBAQCAtMzE4LDYgKzMxOSw4IEBAIHN0cnVjdCB2NGwyX2hldmNfcHJlZF93ZWlnaHRfdGFi bGUgewo+PiAgICoKPj4gICAqIEBiaXRfc2l6ZTogc2l6ZSAoaW4gYml0cykgb2YgdGhlIGN1cnJl bnQgc2xpY2UgZGF0YQo+PiAgICogQGRhdGFfYml0X29mZnNldDogb2Zmc2V0IChpbiBiaXRzKSB0 byB0aGUgdmlkZW8gZGF0YSBpbiB0aGUgY3VycmVudCBzbGljZSAKPiBkYXRhCj4+ICsgKiBAbnVt X2VudHJ5X3BvaW50X29mZnNldHM6IHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGVudHJ5IHBvaW50 IG9mZnNldCBzeW50YXgKPj4gKyAqCQkJICAgICBlbGVtZW50cyBpbiB0aGUgc2xpY2UgaGVhZGVy Lgo+PiAgICogQG5hbF91bml0X3R5cGU6IHNwZWNpZmllcyB0aGUgY29kaW5nIHR5cGUgb2YgdGhl IHNsaWNlIChCLCBQIG9yIEkpCj4+ICAgKiBAbnVoX3RlbXBvcmFsX2lkX3BsdXMxOiBtaW51cyAx IHNwZWNpZmllcyBhIHRlbXBvcmFsIGlkZW50aWZpZXIgZm9yIHRoZSAKPiBOQUwgdW5pdAo+PiAg ICogQHNsaWNlX3R5cGU6IHNlZSBWNEwyX0hFVkNfU0xJQ0VfVFlQRV97fQo+PiBAQCAtMzYwLDcg KzM2Myw3IEBAIHN0cnVjdCB2NGwyX2hldmNfcHJlZF93ZWlnaHRfdGFibGUgewo+PiAgc3RydWN0 IHY0bDJfY3RybF9oZXZjX3NsaWNlX3BhcmFtcyB7Cj4+ICAJX191MzIJYml0X3NpemU7Cj4+ICAJ X191MzIJZGF0YV9iaXRfb2Zmc2V0Owo+PiAtCj4+ICsJX191MzIJbnVtX2VudHJ5X3BvaW50X29m ZnNldHM7Cj4+ICAJLyogSVNPL0lFQyAyMzAwOC0yLCBJVFUtVCBSZWMuIEguMjY1OiBOQUwgdW5p dCBoZWFkZXIgKi8KPj4gIAlfX3U4CW5hbF91bml0X3R5cGU7Cj4+ICAJX191OAludWhfdGVtcG9y YWxfaWRfcGx1czE7Cj4+IC0tIAo+PiAyLjMyLjAKPj4KPj4KPiAKPiAKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5n IGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg== 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 924FCC433EF for ; Mon, 30 May 2022 09:20:10 +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=yfamzXi6sgsE5eYS+SYK9PuYMHhdZXj+WXlYq3+/MEQ=; b=PLE9cAUFi0Xnrr QBFRK4V5vVjWSR8U5cs41dzlRUUoKfLkZ5WZgmlliRjJh+pCwXoSLXyJJG9WSyEMwxf6iII0BZyWR woURa39RcRW8BtC0ZwThCJn/3NGvYFUtOD9hXRIxVwhumtoC9CNg5FghyLhrudP37JPZEQ9o3e6+s K5NVSZNVQ+W3E6g37RXNe2j+s0ur/Gn4e29f1PrUoWdZLs28jWxguJ5XeHfPn+FFH6BPwxMQw+nwT c0d21LsfLM0IGFYMXs1KyemLhhOnIb++6mWyw0BXMwSLHeOUGdHzqJygz1IBjfxA9vEtUDWduXwqS RhoDXTo2ahs5tEJaDpGQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nvbY2-00668l-AO; Mon, 30 May 2022 09:18:50 +0000 Received: from ams.source.kernel.org ([145.40.68.75]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nvbXy-00666m-2k; Mon, 30 May 2022 09:18:48 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id DAA92B80B32; Mon, 30 May 2022 09:18:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4CEC3C385B8; Mon, 30 May 2022 09:18:38 +0000 (UTC) Message-ID: Date: Mon, 30 May 2022 11:18:36 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: Re: [PATCH v6 11/17] media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS control Content-Language: en-US To: =?UTF-8?Q?Jernej_=c5=a0krabec?= , mchehab@kernel.org, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, samuel@sholland.org, nicolas.dufresne@collabora.com, andrzej.p@collabora.com, Benjamin Gaignard Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, kernel@collabora.com References: <20220527143134.3360174-1-benjamin.gaignard@collabora.com> <20220527143134.3360174-12-benjamin.gaignard@collabora.com> <2102641.irdbgypaU6@kista> From: Hans Verkuil In-Reply-To: <2102641.irdbgypaU6@kista> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220530_021846_465577_8105AD29 X-CRM114-Status: GOOD ( 39.92 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjkvMDUvMjAyMiAwODo0MCwgSmVybmVqIMWga3JhYmVjIHdyb3RlOgo+IEhpIQo+IAo+IFRo aXMgc2VyaWVzIGxvb2tzIHZlcnkgZ29vZCBhbmQgSSBwbGFuIHRvIHRlc3QgaXQgc2hvcnRseSBv biBDZWRydXMsIGJ1dCBJIAo+IGhhdmUgb25lIG1ham9yIGNvbmNlcm4gYmVsb3cuCj4gCj4gRG5l IHBldGVrLCAyNy4gbWFqIDIwMjIgb2IgMTY6MzE6MjggQ0VTVCBqZSBCZW5qYW1pbiBHYWlnbmFy ZCBuYXBpc2FsKGEpOgo+PiBUaGUgbnVtYmVyIG9mICdlbnRyeSBwb2ludCBvZmZzZXQnIGNhbiBi ZSB2ZXJ5IHZhcmlhYmxlLgo+PiBJbnN0ZWFkIG9mIHVzaW5nIGEgbGFyZ2Ugc3RhdGljIGFycmF5 IGRlZmluZSBhIHY0bDIgZHluYW1pYyBhcnJheQo+PiBvZiBVMzIgKFY0TDJfQ1RSTF9UWVBFX1Uz MikuCj4+IFRoZSBudW1iZXIgb2YgZW50cnkgcG9pbnQgb2Zmc2V0cyBpcyByZXBvcnRlZCBieSB0 aGUgZWxlbXMgZmllbGQKPj4gYW5kIGluIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zbGljZV9wYXJh bXMubnVtX2VudHJ5X3BvaW50X29mZnNldHMKPj4gZmllbGQuCj4gCj4gU2xpY2UgY29udHJvbCBi eSBpdHNlbGYgaXMgdmFyaWFibGUgbGVuZ3RoIGFycmF5LCBzbyB5b3Ugd291bGQgYWN0dWFsbHkg bmVlZCAKPiAyRCB2YXJpYWJsZSBhcnJheSBmb3IgZW50cnkgcG9pbnRzIHdoaWNoIGlzIG5vdCBz dXBwb3J0ZWQuIEhvd2V2ZXIsIGVhc3kgCj4gd29ya2Fyb3VuZCBmb3IgdGhhdCBpcyB0byBmbGF0 dGVuIDJEIGFycmF5IHRvIDFEIGFuZCBlaXRoZXIgaGF2ZSBhbm90aGVyIHNsaWNlIAo+IGNvbnRy b2wgZmllbGQgd2hpY2ggd291bGQgdGVsbCBmaXJzdCBlbnRyeSBwb2ludCBpbmRleCBmb3IgY29u dmVuaWVuY2Ugb3IgbGV0IAo+IGRyaXZlciBjYWxjdWxhdGUgaXQgYnkgYWRkaW5nIHVwIGFsbCBu dW1fZW50cnlfcG9pbnRfb2Zmc2V0cyBvZiBwcmV2aW91cyAKPiBzbGljZXMuCj4gCj4gSGFucywg d2hhdCBkbyB5b3UgdGhpbms/CgpJZiBJIHdvdWxkIHN1cHBvcnQgMkQgdmFyaWFibGUgYXJyYXkg c2l6ZXMsIHdvdWxkbid0IHRoYXQgYmUgbW9yZSBlbGVnYW50PwoKVGhlIGN1cnJlbnQgaW1wbGVt ZW50YXRpb24gZG9lc24ndCBzdXBwb3J0IHRoYXQsIGJ1dCBhcyB0aGUgY29tbWl0IGxvZyBmb3IK cGF0Y2ggMS8xNyBzYXlzOgoKIkN1cnJlbnRseSBkeW5hbWljYWxseSBzaXplZCBhcnJheXMgYXJl IGxpbWl0ZWQgdG8gb25lIGRpbWVuc2lvbmFsIGFycmF5cywKYnV0IHRoYXQgbWlnaHQgY2hhbmdl IGluIHRoZSBmdXR1cmUgaWYgdGhlcmUgaXMgYSBuZWVkIGZvciBpdC4iCgpMZXQgbWUga25vdyBp ZiB5b3UgYWdyZWUsIGFuZCBJJ2xsIHRyeSB0byBpbXBsZW1lbnQgdGhpcy4gSXQncyBiZWVuIGEg d2hpbGUKc2luY2UgSSBsYXN0IGxvb2tlZCBhdCB0aGlzLCBzbyBJJ20gbm90IHN1cmUgaG93IG11 Y2ggd29yayBpdCBpcywgYnV0IGl0IGlzCnByb2JhYmx5IHdvcnRoIGEgc2hvdC4KClJlZ2FyZHMs CgoJSGFucwoKPiAKPiBOb3RlLCBpdCBzZWVtcyB0aGF0IEgyNjUgZGVjb2Rpbmcgb24gQ2VkcnVz IHN0aWxsIHdvcmtzIHdpdGhvdXQgZW50cnkgcG9pbnRzLCAKPiBzbyB0aGlzIHByb2JsZW0gY2Fu IGJlIHNvbHZlZCBsYXRlci4gSSdtIG5vdCBzdXJlIHdoYXQgd2UgbG9zZSB3aXRoIHRoYXQgYnV0 IAo+IGl0IHdhcyBzdWdnZXN0ZWQgdGhhdCB0aGlzIGNvdWxkIGluZmx1ZW5jZSBzcGVlZCBvciBl cnJvciByZXNpbGllbmNlIG9yIGJvdGguIAo+IEhvd2V2ZXIsIEkgdGhpbmsgd2UncmUgY2xvc2Ug dG8gc29sdmUgaXQsIHNvIEknZCBsaWtlIHRvIGRvIHRoYXQgbm93Lgo+IAo+IEJlc3QgcmVnYXJk cywKPiBKZXJuZWoKPiAKPj4KPj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJl bmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+Cj4+IC0tLQo+PiAgLi4uL3VzZXJzcGFjZS1h cGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QgICAgICAgfCAxMSArKysrKysrKysrKwo+ PiAgZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy1kZWZzLmMgICAgICAgICAgICAg fCAgNSArKysrKwo+PiAgaW5jbHVkZS9tZWRpYS9oZXZjLWN0cmxzLmggICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNSArKysrLQo+PiAgMyBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3VzZXJz cGFjZS1hcGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QgYi8KPiBEb2N1bWVudGF0aW9u L3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QKPj4gaW5kZXggMDc5 NmIxNTYzZGFhLi4wNTIyOGUyODBmNjYgMTAwNjQ0Cj4+IC0tLSBhL0RvY3VtZW50YXRpb24vdXNl cnNwYWNlLWFwaS9tZWRpYS92NGwvZXh0LWN0cmxzLWNvZGVjLnJzdAo+PiArKysgYi9Eb2N1bWVu dGF0aW9uL3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QKPj4gQEAg LTMwMTAsNiArMzAxMCw5IEBAIGVudW0gdjRsMl9tcGVnX3ZpZGVvX2hldmNfc2l6ZV9vZl9sZW5n dGhfZmllbGQgLQo+PiAgICAgICogLSBfX3UzMgo+PiAgICAgICAgLSBgYGRhdGFfYml0X29mZnNl dGBgCj4+ICAgICAgICAtIE9mZnNldCAoaW4gYml0cykgdG8gdGhlIHZpZGVvIGRhdGEgaW4gdGhl IGN1cnJlbnQgc2xpY2UgZGF0YS4KPj4gKyAgICAqIC0gX191MzIKPj4gKyAgICAgIC0gYGBudW1f ZW50cnlfcG9pbnRfb2Zmc2V0c2BgCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9m IGVudHJ5IHBvaW50IG9mZnNldCBzeW50YXggZWxlbWVudHMgaW4gdGhlIAo+IHNsaWNlIGhlYWRl ci4KPj4gICAgICAqIC0gX191OAo+PiAgICAgICAgLSBgYG5hbF91bml0X3R5cGVgYAo+PiAgICAg ICAgLSBTcGVjaWZpZXMgdGhlIGNvZGluZyB0eXBlIG9mIHRoZSBzbGljZSAoQiwgUCBvciBJKS4K Pj4gQEAgLTMxNTAsNiArMzE1MywxNCBAQCBlbnVtIHY0bDJfbXBlZ192aWRlb19oZXZjX3NpemVf b2ZfbGVuZ3RoX2ZpZWxkIC0KPj4gIAo+PiAgICAgIFxub3JtYWxzaXplCj4+ICAKPj4gK2BgVjRM Ml9DSURfU1RBVEVMRVNTX0hFVkNfRU5UUllfUE9JTlRfT0ZGU0VUUyAoaW50ZWdlcilgYAo+PiAr ICAgIFNwZWNpZmllcyBlbnRyeSBwb2ludCBvZmZzZXRzIGluIGJ5dGVzLgo+PiArICAgIFRoaXMg Y29udHJvbCBpcyBhIGR5bmFtaWNhbGx5IHNpemVkIGFycmF5LiBUaGUgbnVtYmVyIG9mIGVudHJ5 IHBvaW50Cj4+ICsgICAgb2Zmc2V0cyBpcyByZXBvcnRlZCBieSB0aGUgYGBlbGVtc2BgIGZpZWxk Lgo+PiArICAgIFRoaXMgYml0c3RyZWFtIHBhcmFtZXRlciBpcyBkZWZpbmVkIGFjY29yZGluZyB0 byA6cmVmOmBoZXZjYC4KPj4gKyAgICBUaGV5IGFyZSBkZXNjcmliZWQgaW4gc2VjdGlvbiA3LjQu Ny4xICJHZW5lcmFsIHNsaWNlIHNlZ21lbnQgaGVhZGVyCj4+ICsgICAgc2VtYW50aWNzIiBvZiB0 aGUgc3BlY2lmaWNhdGlvbi4KPj4gKwo+PiAgYGBWNEwyX0NJRF9TVEFURUxFU1NfSEVWQ19TQ0FM SU5HX01BVFJJWCAoc3RydWN0KWBgCj4+ICAgICAgU3BlY2lmaWVzIHRoZSBIRVZDIHNjYWxpbmcg bWF0cml4IHBhcmFtZXRlcnMgdXNlZCBmb3IgdGhlIHNjYWxpbmcgCj4gcHJvY2Vzcwo+PiAgICAg IGZvciB0cmFuc2Zvcm0gY29lZmZpY2llbnRzLgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS92NGwyLWNvcmUvdjRsMi1jdHJscy1kZWZzLmMgYi9kcml2ZXJzL21lZGlhL3Y0bDItCj4gY29y ZS92NGwyLWN0cmxzLWRlZnMuYwo+PiBpbmRleCBkNTk0ZWZiY2JiOTMuLmUyMjkyMWU3ZWE2MSAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy1kZWZzLmMK Pj4gKysrIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy1kZWZzLmMKPj4gQEAg LTExODgsNiArMTE4OCw3IEBAIGNvbnN0IGNoYXIgKnY0bDJfY3RybF9nZXRfbmFtZSh1MzIgaWQp Cj4+ICAJY2FzZSBWNEwyX0NJRF9TVEFURUxFU1NfSEVWQ19ERUNPREVfUEFSQU1TOgkJcmV0dXJu IAo+ICJIRVZDIERlY29kZSBQYXJhbWV0ZXJzIjsKPj4gIAljYXNlIFY0TDJfQ0lEX1NUQVRFTEVT U19IRVZDX0RFQ09ERV9NT0RFOgkJcmV0dXJuIAo+ICJIRVZDIERlY29kZSBNb2RlIjsKPj4gIAlj YXNlIFY0TDJfQ0lEX1NUQVRFTEVTU19IRVZDX1NUQVJUX0NPREU6CQlyZXR1cm4gCj4gIkhFVkMg U3RhcnQgQ29kZSI7Cj4+ICsJY2FzZSBWNEwyX0NJRF9TVEFURUxFU1NfSEVWQ19FTlRSWV9QT0lO VF9PRkZTRVRTOglyZXR1cm4gCj4gIkhFVkMgRW50cnkgUG9pbnQgT2Zmc2V0cyI7Cj4+ICAKPj4g IAkvKiBDb2xvcmltZXRyeSBjb250cm9scyAqLwo+PiAgCS8qIEtlZXAgdGhlIG9yZGVyIG9mIHRo ZSAnY2FzZSdzIHRoZSBzYW1lIGFzIGluIHY0bDItY29udHJvbHMuaCEgCj4gKi8KPj4gQEAgLTE1 MTgsNiArMTUxOSwxMCBAQCB2b2lkIHY0bDJfY3RybF9maWxsKHUzMiBpZCwgY29uc3QgY2hhciAq Km5hbWUsIGVudW0gCj4gdjRsMl9jdHJsX3R5cGUgKnR5cGUsCj4+ICAJY2FzZSBWNEwyX0NJRF9T VEFURUxFU1NfSEVWQ19ERUNPREVfUEFSQU1TOgo+PiAgCQkqdHlwZSA9IFY0TDJfQ1RSTF9UWVBF X0hFVkNfREVDT0RFX1BBUkFNUzsKPj4gIAkJYnJlYWs7Cj4+ICsJY2FzZSBWNEwyX0NJRF9TVEFU RUxFU1NfSEVWQ19FTlRSWV9QT0lOVF9PRkZTRVRTOgo+PiArCQkqdHlwZSA9IFY0TDJfQ1RSTF9U WVBFX1UzMjsKPj4gKwkJKmZsYWdzIHw9IFY0TDJfQ1RSTF9GTEFHX0RZTkFNSUNfQVJSQVk7Cj4+ ICsJCWJyZWFrOwo+PiAgCWNhc2UgVjRMMl9DSURfU1RBVEVMRVNTX1ZQOV9DT01QUkVTU0VEX0hE UjoKPj4gIAkJKnR5cGUgPSBWNEwyX0NUUkxfVFlQRV9WUDlfQ09NUFJFU1NFRF9IRFI7Cj4+ICAJ CWJyZWFrOwo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tZWRpYS9oZXZjLWN0cmxzLmggYi9pbmNs dWRlL21lZGlhL2hldmMtY3RybHMuaAo+PiBpbmRleCBhM2M4MjllZjUzMWEuLjEzMTljYjk5YWUz ZiAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9tZWRpYS9oZXZjLWN0cmxzLmgKPj4gKysrIGIvaW5j bHVkZS9tZWRpYS9oZXZjLWN0cmxzLmgKPj4gQEAgLTIwLDYgKzIwLDcgQEAKPj4gICNkZWZpbmUg VjRMMl9DSURfU1RBVEVMRVNTX0hFVkNfREVDT0RFX1BBUkFNUwkoVjRMMl9DSURfQ09ERUNfQkFT RSAKPiArIDEwMTIpCj4+ICAjZGVmaW5lIFY0TDJfQ0lEX1NUQVRFTEVTU19IRVZDX0RFQ09ERV9N T0RFCShWNEwyX0NJRF9DT0RFQ19CQVNFICsgMTAxNSkKPj4gICNkZWZpbmUgVjRMMl9DSURfU1RB VEVMRVNTX0hFVkNfU1RBUlRfQ09ERQkoVjRMMl9DSURfQ09ERUNfQkFTRSArIDEwMTYpCj4+ICsj ZGVmaW5lIFY0TDJfQ0lEX1NUQVRFTEVTU19IRVZDX0VOVFJZX1BPSU5UX09GRlNFVFMgKFY0TDJf Q0lEX0NPREVDX0JBU0UgKyAKPiAxMDE3KQo+PiAgCj4+ICAvKiBlbnVtIHY0bDJfY3RybF90eXBl IHR5cGUgdmFsdWVzICovCj4+ICAjZGVmaW5lIFY0TDJfQ1RSTF9UWVBFX0hFVkNfU1BTIDB4MDEy MAo+PiBAQCAtMzE4LDYgKzMxOSw4IEBAIHN0cnVjdCB2NGwyX2hldmNfcHJlZF93ZWlnaHRfdGFi bGUgewo+PiAgICoKPj4gICAqIEBiaXRfc2l6ZTogc2l6ZSAoaW4gYml0cykgb2YgdGhlIGN1cnJl bnQgc2xpY2UgZGF0YQo+PiAgICogQGRhdGFfYml0X29mZnNldDogb2Zmc2V0IChpbiBiaXRzKSB0 byB0aGUgdmlkZW8gZGF0YSBpbiB0aGUgY3VycmVudCBzbGljZSAKPiBkYXRhCj4+ICsgKiBAbnVt X2VudHJ5X3BvaW50X29mZnNldHM6IHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGVudHJ5IHBvaW50 IG9mZnNldCBzeW50YXgKPj4gKyAqCQkJICAgICBlbGVtZW50cyBpbiB0aGUgc2xpY2UgaGVhZGVy Lgo+PiAgICogQG5hbF91bml0X3R5cGU6IHNwZWNpZmllcyB0aGUgY29kaW5nIHR5cGUgb2YgdGhl IHNsaWNlIChCLCBQIG9yIEkpCj4+ICAgKiBAbnVoX3RlbXBvcmFsX2lkX3BsdXMxOiBtaW51cyAx IHNwZWNpZmllcyBhIHRlbXBvcmFsIGlkZW50aWZpZXIgZm9yIHRoZSAKPiBOQUwgdW5pdAo+PiAg ICogQHNsaWNlX3R5cGU6IHNlZSBWNEwyX0hFVkNfU0xJQ0VfVFlQRV97fQo+PiBAQCAtMzYwLDcg KzM2Myw3IEBAIHN0cnVjdCB2NGwyX2hldmNfcHJlZF93ZWlnaHRfdGFibGUgewo+PiAgc3RydWN0 IHY0bDJfY3RybF9oZXZjX3NsaWNlX3BhcmFtcyB7Cj4+ICAJX191MzIJYml0X3NpemU7Cj4+ICAJ X191MzIJZGF0YV9iaXRfb2Zmc2V0Owo+PiAtCj4+ICsJX191MzIJbnVtX2VudHJ5X3BvaW50X29m ZnNldHM7Cj4+ICAJLyogSVNPL0lFQyAyMzAwOC0yLCBJVFUtVCBSZWMuIEguMjY1OiBOQUwgdW5p dCBoZWFkZXIgKi8KPj4gIAlfX3U4CW5hbF91bml0X3R5cGU7Cj4+ICAJX191OAludWhfdGVtcG9y YWxfaWRfcGx1czE7Cj4+IC0tIAo+PiAyLjMyLjAKPj4KPj4KPiAKPiAKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==