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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8CF8C433FE for ; Thu, 20 Oct 2022 09:56:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229970AbiJTJ4B (ORCPT ); Thu, 20 Oct 2022 05:56:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36670 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229695AbiJTJz5 (ORCPT ); Thu, 20 Oct 2022 05:55:57 -0400 Received: from twspam01.aspeedtech.com (twspam01.aspeedtech.com [211.20.114.71]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD90E15B104; Thu, 20 Oct 2022 02:55:53 -0700 (PDT) Received: from mail.aspeedtech.com ([192.168.0.24]) by twspam01.aspeedtech.com with ESMTP id 29K9W5Jd085421; Thu, 20 Oct 2022 17:32:05 +0800 (GMT-8) (envelope-from jammy_huang@aspeedtech.com) Received: from [192.168.2.115] (192.168.2.115) by TWMBX02.aspeed.com (192.168.0.24) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 20 Oct 2022 17:54:32 +0800 Message-ID: Date: Thu, 20 Oct 2022 17:54:33 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.13.1 Subject: Re: [PATCH v9 1/4] media: v4l: Add definition for the Aspeed JPEG format Content-Language: en-US To: Sakari Ailus CC: , , , , , , , , , , , , , , References: <20220921025112.13150-1-jammy_huang@aspeedtech.com> <20220921025112.13150-2-jammy_huang@aspeedtech.com> From: Jammy Huang In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [192.168.2.115] X-ClientProxiedBy: TWMBX02.aspeed.com (192.168.0.24) To TWMBX02.aspeed.com (192.168.0.24) X-DNSRBL: X-MAIL: twspam01.aspeedtech.com 29K9W5Jd085421 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Sakari, Thanks for your review. On 2022/9/23 下午 08:56, Sakari Ailus wrote: > Hi Jammy, > > Thanks for the update. > > On Wed, Sep 21, 2022 at 10:51:09AM +0800, Jammy Huang wrote: >> This introduces support for the Aspeed JPEG format, where the new frame >> can refer to previous frame to reduce the amount of compressed data. >> The concept is similar to I/P frame of video compression. It will >> compare the new frame with previous one to decide which macroblock's >> data is changed, and only the changed macroblocks will be compressed. >> >> This Aspeed JPEG format is used by the video engine on Aspeed platforms, >> which is generally adapted for remote KVM. >> >> Signed-off-by: Jammy Huang >> --- >> .../userspace-api/media/v4l/pixfmt-reserved.rst | 17 +++++++++++++++++ >> drivers/media/v4l2-core/v4l2-ioctl.c | 1 + >> include/uapi/linux/videodev2.h | 1 + >> 3 files changed, 19 insertions(+) >> >> diff --git a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst >> index 0ff68cd8cf62..f62bc76d606f 100644 >> --- a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst >> +++ b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst >> @@ -258,6 +258,23 @@ please make a proposal on the linux-media mailing list. >> and it is used by various multimedia hardware blocks like GPU, display >> controllers, ISP and video accelerators. >> It contains four planes for progressive video. >> + * .. _V4L2-PIX-FMT-AJPG: >> + >> + - ``V4L2_PIX_FMT_AJPG`` >> + - 'AJPG' >> + - ASPEED JPEG format used by the aspeed-video driver on Aspeed platforms, >> + which is generally adapted for remote KVM. >> + On each frame compression, I will compare the new frame with previous >> + one to decide which macroblock's data is changed, and only the changed >> + macroblocks will be compressed. >> + >> + The implementation is based on AST2600 A3 datasheet, revision 0.9, which >> + is not publicly available. Or you can reference Video stream data format >> + – ASPEED mode compression of SDK_User_Guide which available on >> + AspeedTech-BMC/openbmc/releases. >> + >> + Decoder's implementation can be found here, >> + `https://github.com/AspeedTech-BMC/aspeed_codec/ `__ > This is better than the previous versions. > > Can you still run > > $ scripts/checkpatch.pl --strict --max-line-length=80 > > ? I will correct the length to meet the rule. > > On the decoder --- which values is the user supposed to use for mode_420, > selector and advance_selector parameters? I think this needs to be > documented. I will update following information to aspeed_codec's github, and provide recommended values. "The following parameters should be provided by the encoded stream to let decoder know how to work, because Aspeed codec does not include the information needed for decoding in the header. Users can adjust the three parameters, mode420, selector, and advance_selector, to achieve the desired quality level while at the same time reduce the storage size." >> .. raw:: latex >> >> \normalsize >> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c >> index a1a1b51ac599..c72bc3410bee 100644 >> --- a/drivers/media/v4l2-core/v4l2-ioctl.c >> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c >> @@ -1497,6 +1497,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) >> case V4L2_PIX_FMT_MT21C: descr = "Mediatek Compressed Format"; break; >> case V4L2_PIX_FMT_QC08C: descr = "QCOM Compressed 8-bit Format"; break; >> case V4L2_PIX_FMT_QC10C: descr = "QCOM Compressed 10-bit Format"; break; >> + case V4L2_PIX_FMT_AJPG: descr = "Aspeed JPEG"; break; >> default: >> if (fmt->description[0]) >> return; >> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h >> index 86cae23cc446..870a7e5ef8ca 100644 >> --- a/include/uapi/linux/videodev2.h >> +++ b/include/uapi/linux/videodev2.h >> @@ -775,6 +775,7 @@ struct v4l2_pix_format { >> #define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* BTTV 8-bit dithered RGB */ >> #define V4L2_PIX_FMT_QC08C v4l2_fourcc('Q', '0', '8', 'C') /* Qualcomm 8-bit compressed */ >> #define V4L2_PIX_FMT_QC10C v4l2_fourcc('Q', '1', '0', 'C') /* Qualcomm 10-bit compressed */ >> +#define V4L2_PIX_FMT_AJPG v4l2_fourcc('A', 'J', 'P', 'G') /* Aspeed JPEG */ >> >> /* 10bit raw packed, 32 bytes for every 25 pixels, last LSB 6 bits unused */ >> #define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer */ -- Best Regards Jammy 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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (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 BD779C433FE for ; Thu, 20 Oct 2022 09:56:28 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4MtNKQ6PRzz3ds1 for ; Thu, 20 Oct 2022 20:56:26 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=aspeedtech.com (client-ip=211.20.114.71; helo=twspam01.aspeedtech.com; envelope-from=jammy_huang@aspeedtech.com; receiver=) Received: from twspam01.aspeedtech.com (twspam01.aspeedtech.com [211.20.114.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4MtNJj0K7lz3c46; Thu, 20 Oct 2022 20:55:47 +1100 (AEDT) Received: from mail.aspeedtech.com ([192.168.0.24]) by twspam01.aspeedtech.com with ESMTP id 29K9W5Jd085421; Thu, 20 Oct 2022 17:32:05 +0800 (GMT-8) (envelope-from jammy_huang@aspeedtech.com) Received: from [192.168.2.115] (192.168.2.115) by TWMBX02.aspeed.com (192.168.0.24) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 20 Oct 2022 17:54:32 +0800 Message-ID: Date: Thu, 20 Oct 2022 17:54:33 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.13.1 Subject: Re: [PATCH v9 1/4] media: v4l: Add definition for the Aspeed JPEG format Content-Language: en-US To: Sakari Ailus References: <20220921025112.13150-1-jammy_huang@aspeedtech.com> <20220921025112.13150-2-jammy_huang@aspeedtech.com> From: Jammy Huang In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [192.168.2.115] X-ClientProxiedBy: TWMBX02.aspeed.com (192.168.0.24) To TWMBX02.aspeed.com (192.168.0.24) X-DNSRBL: X-MAIL: twspam01.aspeedtech.com 29K9W5Jd085421 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ezequiel@vanguardiasur.com.ar, nicolas.dufresne@collabora.com, laurent.pinchart@ideasonboard.com, linux-aspeed@lists.ozlabs.org, andrew@aj.id.au, openbmc@lists.ozlabs.org, eajames@linux.ibm.com, linux-kernel@vger.kernel.org, stanimir.varbanov@linaro.org, joel@jms.id.au, ribalda@chromium.org, hverkuil-cisco@xs4all.nl, mchehab@kernel.org, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Errors-To: openbmc-bounces+openbmc=archiver.kernel.org@lists.ozlabs.org Sender: "openbmc" Hi Sakari, Thanks for your review. On 2022/9/23 下午 08:56, Sakari Ailus wrote: > Hi Jammy, > > Thanks for the update. > > On Wed, Sep 21, 2022 at 10:51:09AM +0800, Jammy Huang wrote: >> This introduces support for the Aspeed JPEG format, where the new frame >> can refer to previous frame to reduce the amount of compressed data. >> The concept is similar to I/P frame of video compression. It will >> compare the new frame with previous one to decide which macroblock's >> data is changed, and only the changed macroblocks will be compressed. >> >> This Aspeed JPEG format is used by the video engine on Aspeed platforms, >> which is generally adapted for remote KVM. >> >> Signed-off-by: Jammy Huang >> --- >> .../userspace-api/media/v4l/pixfmt-reserved.rst | 17 +++++++++++++++++ >> drivers/media/v4l2-core/v4l2-ioctl.c | 1 + >> include/uapi/linux/videodev2.h | 1 + >> 3 files changed, 19 insertions(+) >> >> diff --git a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst >> index 0ff68cd8cf62..f62bc76d606f 100644 >> --- a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst >> +++ b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst >> @@ -258,6 +258,23 @@ please make a proposal on the linux-media mailing list. >> and it is used by various multimedia hardware blocks like GPU, display >> controllers, ISP and video accelerators. >> It contains four planes for progressive video. >> + * .. _V4L2-PIX-FMT-AJPG: >> + >> + - ``V4L2_PIX_FMT_AJPG`` >> + - 'AJPG' >> + - ASPEED JPEG format used by the aspeed-video driver on Aspeed platforms, >> + which is generally adapted for remote KVM. >> + On each frame compression, I will compare the new frame with previous >> + one to decide which macroblock's data is changed, and only the changed >> + macroblocks will be compressed. >> + >> + The implementation is based on AST2600 A3 datasheet, revision 0.9, which >> + is not publicly available. Or you can reference Video stream data format >> + – ASPEED mode compression of SDK_User_Guide which available on >> + AspeedTech-BMC/openbmc/releases. >> + >> + Decoder's implementation can be found here, >> + `https://github.com/AspeedTech-BMC/aspeed_codec/ `__ > This is better than the previous versions. > > Can you still run > > $ scripts/checkpatch.pl --strict --max-line-length=80 > > ? I will correct the length to meet the rule. > > On the decoder --- which values is the user supposed to use for mode_420, > selector and advance_selector parameters? I think this needs to be > documented. I will update following information to aspeed_codec's github, and provide recommended values. "The following parameters should be provided by the encoded stream to let decoder know how to work, because Aspeed codec does not include the information needed for decoding in the header. Users can adjust the three parameters, mode420, selector, and advance_selector, to achieve the desired quality level while at the same time reduce the storage size." >> .. raw:: latex >> >> \normalsize >> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c >> index a1a1b51ac599..c72bc3410bee 100644 >> --- a/drivers/media/v4l2-core/v4l2-ioctl.c >> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c >> @@ -1497,6 +1497,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) >> case V4L2_PIX_FMT_MT21C: descr = "Mediatek Compressed Format"; break; >> case V4L2_PIX_FMT_QC08C: descr = "QCOM Compressed 8-bit Format"; break; >> case V4L2_PIX_FMT_QC10C: descr = "QCOM Compressed 10-bit Format"; break; >> + case V4L2_PIX_FMT_AJPG: descr = "Aspeed JPEG"; break; >> default: >> if (fmt->description[0]) >> return; >> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h >> index 86cae23cc446..870a7e5ef8ca 100644 >> --- a/include/uapi/linux/videodev2.h >> +++ b/include/uapi/linux/videodev2.h >> @@ -775,6 +775,7 @@ struct v4l2_pix_format { >> #define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* BTTV 8-bit dithered RGB */ >> #define V4L2_PIX_FMT_QC08C v4l2_fourcc('Q', '0', '8', 'C') /* Qualcomm 8-bit compressed */ >> #define V4L2_PIX_FMT_QC10C v4l2_fourcc('Q', '1', '0', 'C') /* Qualcomm 10-bit compressed */ >> +#define V4L2_PIX_FMT_AJPG v4l2_fourcc('A', 'J', 'P', 'G') /* Aspeed JPEG */ >> >> /* 10bit raw packed, 32 bytes for every 25 pixels, last LSB 6 bits unused */ >> #define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer */ -- Best Regards Jammy 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 EBEEAC433FE for ; Thu, 20 Oct 2022 09:57:14 +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-Type: Content-Transfer-Encoding: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=1714OvZ0m5X7UgUgdNoNegsRq/D/rqw4kt/xWIoNSTo=; b=wvKgc7U+wQyG+Q O8xyqFzWg0HnPEabKlo+0wwDO3AVx/27w7Xcz55Jvm/A2uECliCeGvgSc/m4S5ZVU7in1k0Q016cx oVXkxlFClSPNYRBu1IKmsG2nv4UkevW9TewJh4eBTw7peUxNjxZhPylVrA/z+DL0QkZ61ox+6XRAE 02sMLFihaaAjEjWAf9B6cCWCjw8UG4KhpUaihLyL+IY/YCX9TpV8pKLcVYUxqJVRS6dEmxVnl1Hrl FzSB+61hK1oQCUBAA1PgJ2FKugEB3lD96V5DUJeOjJ8YJ7oScrMJ/8dd/FwB1xOAsHsKZ1WzA+ZvF DO8O2pJQumJyDOmNgqFQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1olSHN-00DDPb-3A; Thu, 20 Oct 2022 09:55:57 +0000 Received: from [211.20.114.71] (helo=twspam01.aspeedtech.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1olSH7-00DDC3-4V for linux-arm-kernel@lists.infradead.org; Thu, 20 Oct 2022 09:55:42 +0000 Received: from mail.aspeedtech.com ([192.168.0.24]) by twspam01.aspeedtech.com with ESMTP id 29K9W5Jd085421; Thu, 20 Oct 2022 17:32:05 +0800 (GMT-8) (envelope-from jammy_huang@aspeedtech.com) Received: from [192.168.2.115] (192.168.2.115) by TWMBX02.aspeed.com (192.168.0.24) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 20 Oct 2022 17:54:32 +0800 Message-ID: Date: Thu, 20 Oct 2022 17:54:33 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.13.1 Subject: Re: [PATCH v9 1/4] media: v4l: Add definition for the Aspeed JPEG format Content-Language: en-US To: Sakari Ailus CC: , , , , , , , , , , , , , , References: <20220921025112.13150-1-jammy_huang@aspeedtech.com> <20220921025112.13150-2-jammy_huang@aspeedtech.com> From: Jammy Huang In-Reply-To: X-Originating-IP: [192.168.2.115] X-ClientProxiedBy: TWMBX02.aspeed.com (192.168.0.24) To TWMBX02.aspeed.com (192.168.0.24) X-DNSRBL: X-MAIL: twspam01.aspeedtech.com 29K9W5Jd085421 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221020_025541_450774_EED83E90 X-CRM114-Status: GOOD ( 22.98 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgU2FrYXJpLAoKVGhhbmtzIGZvciB5b3VyIHJldmlldy4KCk9uIDIwMjIvOS8yMyDkuIvljYgg MDg6NTYsIFNha2FyaSBBaWx1cyB3cm90ZToKPiBIaSBKYW1teSwKPgo+IFRoYW5rcyBmb3IgdGhl IHVwZGF0ZS4KPgo+IE9uIFdlZCwgU2VwIDIxLCAyMDIyIGF0IDEwOjUxOjA5QU0gKzA4MDAsIEph bW15IEh1YW5nIHdyb3RlOgo+PiBUaGlzIGludHJvZHVjZXMgc3VwcG9ydCBmb3IgdGhlIEFzcGVl ZCBKUEVHIGZvcm1hdCwgd2hlcmUgdGhlIG5ldyBmcmFtZQo+PiBjYW4gcmVmZXIgdG8gcHJldmlv dXMgZnJhbWUgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgY29tcHJlc3NlZCBkYXRhLgo+PiBUaGUg Y29uY2VwdCBpcyBzaW1pbGFyIHRvIEkvUCBmcmFtZSBvZiB2aWRlbyBjb21wcmVzc2lvbi4gSXQg d2lsbAo+PiBjb21wYXJlIHRoZSBuZXcgZnJhbWUgd2l0aCBwcmV2aW91cyBvbmUgdG8gZGVjaWRl IHdoaWNoIG1hY3JvYmxvY2sncwo+PiBkYXRhIGlzIGNoYW5nZWQsIGFuZCBvbmx5IHRoZSBjaGFu Z2VkIG1hY3JvYmxvY2tzIHdpbGwgYmUgY29tcHJlc3NlZC4KPj4KPj4gVGhpcyBBc3BlZWQgSlBF RyBmb3JtYXQgaXMgdXNlZCBieSB0aGUgdmlkZW8gZW5naW5lIG9uIEFzcGVlZCBwbGF0Zm9ybXMs Cj4+IHdoaWNoIGlzIGdlbmVyYWxseSBhZGFwdGVkIGZvciByZW1vdGUgS1ZNLgo+Pgo+PiBTaWdu ZWQtb2ZmLWJ5OiBKYW1teSBIdWFuZyA8amFtbXlfaHVhbmdAYXNwZWVkdGVjaC5jb20+Cj4+IC0t LQo+PiAgIC4uLi91c2Vyc3BhY2UtYXBpL21lZGlhL3Y0bC9waXhmbXQtcmVzZXJ2ZWQucnN0IHwg MTcgKysrKysrKysrKysrKysrKysKPj4gICBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWlv Y3RsLmMgICAgICAgICAgICB8ICAxICsKPj4gICBpbmNsdWRlL3VhcGkvbGludXgvdmlkZW9kZXYy LmggICAgICAgICAgICAgICAgICB8ICAxICsKPj4gICAzIGZpbGVzIGNoYW5nZWQsIDE5IGluc2Vy dGlvbnMoKykKPj4KPj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS9t ZWRpYS92NGwvcGl4Zm10LXJlc2VydmVkLnJzdCBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFw aS9tZWRpYS92NGwvcGl4Zm10LXJlc2VydmVkLnJzdAo+PiBpbmRleCAwZmY2OGNkOGNmNjIuLmY2 MmJjNzZkNjA2ZiAxMDA2NDQKPj4gLS0tIGEvRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBpL21l ZGlhL3Y0bC9waXhmbXQtcmVzZXJ2ZWQucnN0Cj4+ICsrKyBiL0RvY3VtZW50YXRpb24vdXNlcnNw YWNlLWFwaS9tZWRpYS92NGwvcGl4Zm10LXJlc2VydmVkLnJzdAo+PiBAQCAtMjU4LDYgKzI1OCwy MyBAQCBwbGVhc2UgbWFrZSBhIHByb3Bvc2FsIG9uIHRoZSBsaW51eC1tZWRpYSBtYWlsaW5nIGxp c3QuCj4+ICAgICAgICAgICBhbmQgaXQgaXMgdXNlZCBieSB2YXJpb3VzIG11bHRpbWVkaWEgaGFy ZHdhcmUgYmxvY2tzIGxpa2UgR1BVLCBkaXNwbGF5Cj4+ICAgICAgICAgICBjb250cm9sbGVycywg SVNQIGFuZCB2aWRlbyBhY2NlbGVyYXRvcnMuCj4+ICAgICAgICAgICBJdCBjb250YWlucyBmb3Vy IHBsYW5lcyBmb3IgcHJvZ3Jlc3NpdmUgdmlkZW8uCj4+ICsgICAgKiAuLiBfVjRMMi1QSVgtRk1U LUFKUEc6Cj4+ICsKPj4gKyAgICAgIC0gYGBWNEwyX1BJWF9GTVRfQUpQR2BgCj4+ICsgICAgICAt ICdBSlBHJwo+PiArICAgICAgLSBBU1BFRUQgSlBFRyBmb3JtYXQgdXNlZCBieSB0aGUgYXNwZWVk LXZpZGVvIGRyaXZlciBvbiBBc3BlZWQgcGxhdGZvcm1zLAo+PiArICAgICAgICB3aGljaCBpcyBn ZW5lcmFsbHkgYWRhcHRlZCBmb3IgcmVtb3RlIEtWTS4KPj4gKyAgICAgICAgT24gZWFjaCBmcmFt ZSBjb21wcmVzc2lvbiwgSSB3aWxsIGNvbXBhcmUgdGhlIG5ldyBmcmFtZSB3aXRoIHByZXZpb3Vz Cj4+ICsgICAgICAgIG9uZSB0byBkZWNpZGUgd2hpY2ggbWFjcm9ibG9jaydzIGRhdGEgaXMgY2hh bmdlZCwgYW5kIG9ubHkgdGhlIGNoYW5nZWQKPj4gKyAgICAgICAgbWFjcm9ibG9ja3Mgd2lsbCBi ZSBjb21wcmVzc2VkLgo+PiArCj4+ICsgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBiYXNl ZCBvbiBBU1QyNjAwIEEzIGRhdGFzaGVldCwgcmV2aXNpb24gMC45LCB3aGljaAo+PiArICAgICAg ICBpcyBub3QgcHVibGljbHkgYXZhaWxhYmxlLiBPciB5b3UgY2FuIHJlZmVyZW5jZSBWaWRlbyBz dHJlYW0gZGF0YSBmb3JtYXQKPj4gKyAgICAgICAg4oCTIEFTUEVFRCBtb2RlIGNvbXByZXNzaW9u IG9mIFNES19Vc2VyX0d1aWRlIHdoaWNoIGF2YWlsYWJsZSBvbgo+PiArICAgICAgICBBc3BlZWRU ZWNoLUJNQy9vcGVuYm1jL3JlbGVhc2VzLgo+PiArCj4+ICsgICAgICAgIERlY29kZXIncyBpbXBs ZW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgaGVyZSwKPj4gKyAgICAgICAgYGh0dHBzOi8vZ2l0aHVi LmNvbS9Bc3BlZWRUZWNoLUJNQy9hc3BlZWRfY29kZWMvIDxodHRwczovL2dpdGh1Yi5jb20vQXNw ZWVkVGVjaC1CTUMvYXNwZWVkX2NvZGVjLz5gX18KPiBUaGlzIGlzIGJldHRlciB0aGFuIHRoZSBw cmV2aW91cyB2ZXJzaW9ucy4KPgo+IENhbiB5b3Ugc3RpbGwgcnVuCj4KPiAkIHNjcmlwdHMvY2hl Y2twYXRjaC5wbCAtLXN0cmljdCAtLW1heC1saW5lLWxlbmd0aD04MAo+Cj4gPwpJIHdpbGwgY29y cmVjdCB0aGUgbGVuZ3RoIHRvIG1lZXQgdGhlIHJ1bGUuCj4KPiBPbiB0aGUgZGVjb2RlciAtLS0g d2hpY2ggdmFsdWVzIGlzIHRoZSB1c2VyIHN1cHBvc2VkIHRvIHVzZSBmb3IgbW9kZV80MjAsCj4g c2VsZWN0b3IgYW5kIGFkdmFuY2Vfc2VsZWN0b3IgcGFyYW1ldGVycz8gSSB0aGluayB0aGlzIG5l ZWRzIHRvIGJlCj4gZG9jdW1lbnRlZC4KCkkgd2lsbCB1cGRhdGUgZm9sbG93aW5nIGluZm9ybWF0 aW9uIHRvIGFzcGVlZF9jb2RlYydzIGdpdGh1YiwgYW5kIApwcm92aWRlIHJlY29tbWVuZGVkCgp2 YWx1ZXMuCgoiVGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzIHNob3VsZCBiZSBwcm92aWRlZCBieSB0 aGUgZW5jb2RlZCBzdHJlYW0gdG8gCmxldCBkZWNvZGVyCgprbm93IGhvdyB0byB3b3JrLCBiZWNh dXNlIEFzcGVlZCBjb2RlYyBkb2VzIG5vdCBpbmNsdWRlIHRoZSBpbmZvcm1hdGlvbiAKbmVlZGVk Cgpmb3IgZGVjb2RpbmcgaW4gdGhlIGhlYWRlci4gVXNlcnMgY2FuIGFkanVzdCB0aGUgdGhyZWUg cGFyYW1ldGVycywgCm1vZGU0MjAsIHNlbGVjdG9yLAoKYW5kIGFkdmFuY2Vfc2VsZWN0b3IsIHRv IGFjaGlldmUgdGhlIGRlc2lyZWQgcXVhbGl0eSBsZXZlbCB3aGlsZSBhdCB0aGUgCnNhbWUgdGlt ZQoKcmVkdWNlIHRoZSBzdG9yYWdlIHNpemUuIgoKPj4gICAuLiByYXc6OiBsYXRleAo+PiAgIAo+ PiAgICAgICBcbm9ybWFsc2l6ZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92NGwyLWNv cmUvdjRsMi1pb2N0bC5jIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1pb2N0bC5jCj4+ IGluZGV4IGExYTFiNTFhYzU5OS4uYzcyYmMzNDEwYmVlIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJz L21lZGlhL3Y0bDItY29yZS92NGwyLWlvY3RsLmMKPj4gKysrIGIvZHJpdmVycy9tZWRpYS92NGwy LWNvcmUvdjRsMi1pb2N0bC5jCj4+IEBAIC0xNDk3LDYgKzE0OTcsNyBAQCBzdGF0aWMgdm9pZCB2 NGxfZmlsbF9mbXRkZXNjKHN0cnVjdCB2NGwyX2ZtdGRlc2MgKmZtdCkKPj4gICAJCWNhc2UgVjRM Ml9QSVhfRk1UX01UMjFDOglkZXNjciA9ICJNZWRpYXRlayBDb21wcmVzc2VkIEZvcm1hdCI7IGJy ZWFrOwo+PiAgIAkJY2FzZSBWNEwyX1BJWF9GTVRfUUMwOEM6CWRlc2NyID0gIlFDT00gQ29tcHJl c3NlZCA4LWJpdCBGb3JtYXQiOyBicmVhazsKPj4gICAJCWNhc2UgVjRMMl9QSVhfRk1UX1FDMTBD OglkZXNjciA9ICJRQ09NIENvbXByZXNzZWQgMTAtYml0IEZvcm1hdCI7IGJyZWFrOwo+PiArCQlj YXNlIFY0TDJfUElYX0ZNVF9BSlBHOgkJZGVzY3IgPSAiQXNwZWVkIEpQRUciOyBicmVhazsKPj4g ICAJCWRlZmF1bHQ6Cj4+ICAgCQkJaWYgKGZtdC0+ZGVzY3JpcHRpb25bMF0pCj4+ICAgCQkJCXJl dHVybjsKPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC92aWRlb2RldjIuaCBiL2lu Y2x1ZGUvdWFwaS9saW51eC92aWRlb2RldjIuaAo+PiBpbmRleCA4NmNhZTIzY2M0NDYuLjg3MGE3 ZTVlZjhjYSAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS91YXBpL2xpbnV4L3ZpZGVvZGV2Mi5oCj4+ ICsrKyBiL2luY2x1ZGUvdWFwaS9saW51eC92aWRlb2RldjIuaAo+PiBAQCAtNzc1LDYgKzc3NSw3 IEBAIHN0cnVjdCB2NGwyX3BpeF9mb3JtYXQgewo+PiAgICNkZWZpbmUgVjRMMl9QSVhfRk1UX0hJ MjQwICAgIHY0bDJfZm91cmNjKCdIJywgJ0knLCAnMicsICc0JykgLyogQlRUViA4LWJpdCBkaXRo ZXJlZCBSR0IgKi8KPj4gICAjZGVmaW5lIFY0TDJfUElYX0ZNVF9RQzA4QyAgICB2NGwyX2ZvdXJj YygnUScsICcwJywgJzgnLCAnQycpIC8qIFF1YWxjb21tIDgtYml0IGNvbXByZXNzZWQgKi8KPj4g ICAjZGVmaW5lIFY0TDJfUElYX0ZNVF9RQzEwQyAgICB2NGwyX2ZvdXJjYygnUScsICcxJywgJzAn LCAnQycpIC8qIFF1YWxjb21tIDEwLWJpdCBjb21wcmVzc2VkICovCj4+ICsjZGVmaW5lIFY0TDJf UElYX0ZNVF9BSlBHICAgICB2NGwyX2ZvdXJjYygnQScsICdKJywgJ1AnLCAnRycpIC8qIEFzcGVl ZCBKUEVHICovCj4+ICAgCj4+ICAgLyogMTBiaXQgcmF3IHBhY2tlZCwgMzIgYnl0ZXMgZm9yIGV2 ZXJ5IDI1IHBpeGVscywgbGFzdCBMU0IgNiBiaXRzIHVudXNlZCAqLwo+PiAgICNkZWZpbmUgVjRM Ml9QSVhfRk1UX0lQVTNfU0JHR1IxMAl2NGwyX2ZvdXJjYygnaScsICdwJywgJzMnLCAnYicpIC8q IElQVTMgcGFja2VkIDEwLWJpdCBCR0dSIGJheWVyICovCgotLSAKQmVzdCBSZWdhcmRzCkphbW15 CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=