From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id BCA02467F5 for ; Tue, 20 Jun 2023 00:50:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DE22268C004; Tue, 20 Jun 2023 03:50:32 +0300 (EEST) Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2EB6068BF2C for ; Tue, 20 Jun 2023 03:50:26 +0300 (EEST) Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-9829b12b80fso619022266b.2 for ; Mon, 19 Jun 2023 17:50:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687222225; x=1689814225; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=gkHwfRSF2Z5Zu7Ra3QSS2KMkJe3Se/uFM1lVtTr4nLQ=; b=TamZ+MP9zyrGmkTWgCCrozdwK37Uo5W+y35Q/reUvdvK3h2N9p5oe0VjB1S7Xwm6vf ypOwNmCb32HIsjXAKasMrrQo+PAff1lUvhmcJINA27neikxfF++uBXM8yBQGaykmfP8v TEXT8f/TM9aAvqlmCGo2taMDMQgBNxaoj5GLWwxnJj5bW+giq9UlpGdTOs2z8M23J9qB jEbsaJ8LnsgSKCSZeRNW+CGRJ8o/6ZbCDzDfLhNCbJOLPhZ9DIziCGKe1MjTxZG90gAS 7T9eCJ+xThvoayHTvobZjfK+DdAQF4x+iyc138WLPz074UeiXzKNiz706eroAYzpBp4E bSYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687222225; x=1689814225; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=gkHwfRSF2Z5Zu7Ra3QSS2KMkJe3Se/uFM1lVtTr4nLQ=; b=ONulAzJT272X7FTxJw8Hbyn7tSKmvTizunZ7kqt+EuAOua6/bwTHasRxCihODforhS XQh7shTH9yRo8g/wLLe01Fm3lSu/FP5JKMwW58l1Rwv9CIL+to5ulCaGdSFEjtRuUwLy rphteGqlZyG0EgYnShK+yDAWEEOytDlwk5AQqje3BXTJco9iHhwXtY7OeNiCJfQGslDV hau493E2P6O8ZC1DEyaa051kHnBE43wS4mtU7hZkG63FrKJahDpu9KY95Mqrfh9H+eyF fI3c3eayMkZKorus/0l4Vt5WxnVdXhi+P947HRIEjd/UQL4wFDDndcKRekPqb9riY43d O/5w== X-Gm-Message-State: AC+VfDz+8m9XYkFOBz0e1VW7eRsbykB6a+7M5nCNThfmkP4boEcDpZ9W 1rvJNr95xRwdA3SNcoSDpzpeHxmyRunAXjKcOC96HStv X-Google-Smtp-Source: ACHHUZ7aJVhskqOA2gB7uBK8+fO7gRh/zAVX1rFWgLK6WGKJ2bxMfzgfvJVEAu5V0d9dwn3IZ69gC+n52Lp8Ico5WC8= X-Received: by 2002:a17:906:4793:b0:965:b087:8002 with SMTP id cw19-20020a170906479300b00965b0878002mr10670300ejc.0.1687222224558; Mon, 19 Jun 2023 17:50:24 -0700 (PDT) MIME-Version: 1.0 References: <158885475680.3974.17553612109648531532@lain.red.khirnov.net> In-Reply-To: From: Roger Pack Date: Mon, 19 Jun 2023 18:50:08 -0600 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="0000000000005a6a0905fe850907" Subject: Re: [FFmpeg-devel] [PATCH 1/3] closed caption decoder: accept and decode a new codec type of 'raw 608 byte pairs' X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --0000000000005a6a0905fe850907 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable OK updated patches to work with latest git master, made coded id less verbo= se. These have been tested against a "real device" and seem to work properly. I'd like to get feedback on the Closed caption decoder first if that's poss= ible. I pinged the decoder "maintainer" about it once and didn't get a response so seems it's up to us. Thank you. -=3Droger=3D- On Thu, May 7, 2020 at 7:06=E2=80=AFAM Paul B Mahol wrot= e: > > Is it just me, or the coded id is too much verbose? > > On 5/7/20, Anton Khirnov wrote: > > Quoting Roger Pack (2020-04-28 08:15:19) > >> From 5d7c12a3f703e794e1092087355bc9523d5f4d93 Mon Sep 17 00:00:00 2001 > >> From: rogerdpack > >> Date: Tue, 28 Apr 2020 05:15:15 +0000 > >> Subject: [PATCH 1/3] closed caption decoder: accept and decode a new c= odec > >> type of 'raw 608 byte pairs' > >> > >> Signed-off-by: rogerdpack > >> --- > >> diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h > >> index e7d6e059db..805e18758b 100644 > >> --- a/libavcodec/codec_id.h > >> +++ b/libavcodec/codec_id.h > >> @@ -513,6 +513,7 @@ enum AVCodecID { > >> > >> AV_CODEC_ID_MICRODVD =3D 0x17800, > >> AV_CODEC_ID_EIA_608, > >> + AV_CODEC_ID_EIA_608_RAW_BYTE_PAIRS, > > > > You can't just add new IDs in the middle of the table, it changes the > > IDs of all the following codecs which breaks ABI. > > Add it to the end of the subtitle block. > > > > -- > > Anton Khirnov > > _______________________________________________ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > To unsubscribe, visit link above, or email > > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --0000000000005a6a0905fe850907 Content-Type: application/octet-stream; name="0001-Closed-caption-add-ability-to-read-EIA-608-byte-pair.patch" Content-Disposition: attachment; filename="0001-Closed-caption-add-ability-to-read-EIA-608-byte-pair.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lj3ki0wq0 RnJvbSA0Nzg0YjM0YzRhMmIyOTdmN2JiMGViNDgwNWY1NWFjNzEzMjA0ODkzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiByb2dlcmRwYWNrIDxyb2dlcnBhY2syMDA1QGdtYWlsLmNvbT4K RGF0ZTogV2VkLCA1IEFwciAyMDIzIDE0OjUxOjE4IC0wNjAwClN1YmplY3Q6IFtQQVRDSCAxLzJd IENsb3NlZCBjYXB0aW9uOiBhZGQgYWJpbGl0eSB0byByZWFkIEVJQSA2MDggYnl0ZSBwYWlycywK IHVzZWZ1bCBmb3IgYW5hbG9nIGNhcHR1cmUgZGV2aWNlcwoKLS0tCiBjb25maWd1cmUgICAgICAg ICAgICAgICAgIHwgICAxICsKIGxpYmF2Y29kZWMvTWFrZWZpbGUgICAgICAgfCAgIDEgKwogbGli YXZjb2RlYy9hbGxjb2RlY3MuYyAgICB8ICAgMSArCiBsaWJhdmNvZGVjL2NjYXB0aW9uX2RlYy5j IHwgMTA3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBsaWJhdmNvZGVj L2NvZGVjX2Rlc2MuYyAgIHwgICA3ICsrKwogbGliYXZjb2RlYy9jb2RlY19pZC5oICAgICB8ICAg MSArCiBsaWJhdmNvZGVjL3ZlcnNpb24uaCAgICAgIHwgICAyICstCiA3IGZpbGVzIGNoYW5nZWQs IDkwIGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3Vy ZSBiL2NvbmZpZ3VyZQppbmRleCBlZDllZmFkOTg1Li45ZWI4NjEwMmM3IDEwMDc1NQotLS0gYS9j b25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0yODMyLDYgKzI4MzIsNyBAQCBiaW5rX2RlY29k ZXJfc2VsZWN0PSJibG9ja2RzcCBocGVsZHNwIgogYmlua2F1ZGlvX2RjdF9kZWNvZGVyX3NlbGVj dD0id21hX2ZyZXFzIgogYmlua2F1ZGlvX3JkZnRfZGVjb2Rlcl9zZWxlY3Q9IndtYV9mcmVxcyIK IGNhdnNfZGVjb2Rlcl9zZWxlY3Q9ImJsb2NrZHNwIGdvbG9tYiBoMjY0Y2hyb21hIGlkY3Rkc3Ag cXBlbGRzcCB2aWRlb2RzcCIKK2NjYXB0aW9uX2VpYV82MDhfZGVjb2Rlcl9zZWxlY3Q9ImNjYXB0 aW9uX2RlY29kZXIiCiBjbGVhcnZpZGVvX2RlY29kZXJfc2VsZWN0PSJpZGN0ZHNwIgogY2xsY19k ZWNvZGVyX3NlbGVjdD0iYnN3YXBkc3AiCiBjb21mb3J0bm9pc2VfZW5jb2Rlcl9zZWxlY3Q9Imxw YyIKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvTWFrZWZpbGUgYi9saWJhdmNvZGVjL01ha2VmaWxl CmluZGV4IDcyM2JmYTI1YzcuLmU4MTExMGQ1ZDkgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvTWFr ZWZpbGUKKysrIGIvbGliYXZjb2RlYy9NYWtlZmlsZQpAQCAtMjg0LDYgKzI4NCw3IEBAIE9CSlMt JChDT05GSUdfQ0FWU19ERUNPREVSKSAgICAgICAgICAgICs9IGNhdnMubyBjYXZzZGVjLm8gY2F2 c2RzcC5vIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdnNk YXRhLm8KIE9CSlMtJChDT05GSUdfQ0JEMl9ERUNPREVSKSAgICAgICAgICAgICs9IGRwY20ubwog T0JKUy0kKENPTkZJR19DQ0FQVElPTl9ERUNPREVSKSAgICAgICAgKz0gY2NhcHRpb25fZGVjLm8g YXNzLm8KK09CSlMtJChDT05GSUdfQ0NBUFRJT05fRUlBXzYwOF9ERUNPREVSKSArPSBjY2FwdGlv bl9kZWMubyBhc3MubwogT0JKUy0kKENPTkZJR19DREdSQVBISUNTX0RFQ09ERVIpICAgICAgKz0g Y2RncmFwaGljcy5vCiBPQkpTLSQoQ09ORklHX0NEVE9PTlNfREVDT0RFUikgICAgICAgICArPSBj ZHRvb25zLm8KIE9CSlMtJChDT05GSUdfQ0RYTF9ERUNPREVSKSAgICAgICAgICAgICs9IGNkeGwu bwpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hbGxjb2RlY3MuYyBiL2xpYmF2Y29kZWMvYWxsY29k ZWNzLmMKaW5kZXggMTFjMTM2ZWY1OS4uZmZkM2Q0YjhjNyAxMDA2NDQKLS0tIGEvbGliYXZjb2Rl Yy9hbGxjb2RlY3MuYworKysgYi9saWJhdmNvZGVjL2FsbGNvZGVjcy5jCkBAIC03MTEsNiArNzEx LDcgQEAgZXh0ZXJuIGNvbnN0IEZGQ29kZWMgZmZfc3NhX2RlY29kZXI7CiBleHRlcm4gY29uc3Qg RkZDb2RlYyBmZl9hc3NfZW5jb2RlcjsKIGV4dGVybiBjb25zdCBGRkNvZGVjIGZmX2Fzc19kZWNv ZGVyOwogZXh0ZXJuIGNvbnN0IEZGQ29kZWMgZmZfY2NhcHRpb25fZGVjb2RlcjsKK2V4dGVybiBj b25zdCBGRkNvZGVjIGZmX2NjYXB0aW9uX2VpYV82MDhfZGVjb2RlcjsKIGV4dGVybiBjb25zdCBG RkNvZGVjIGZmX2R2YnN1Yl9lbmNvZGVyOwogZXh0ZXJuIGNvbnN0IEZGQ29kZWMgZmZfZHZic3Vi X2RlY29kZXI7CiBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl9kdmRzdWJfZW5jb2RlcjsKZGlmZiAt LWdpdCBhL2xpYmF2Y29kZWMvY2NhcHRpb25fZGVjLmMgYi9saWJhdmNvZGVjL2NjYXB0aW9uX2Rl Yy5jCmluZGV4IGY5MWM5MmIzNzMuLjQxYWUxNTczZGIgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMv Y2NhcHRpb25fZGVjLmMKKysrIGIvbGliYXZjb2RlYy9jY2FwdGlvbl9kZWMuYwpAQCAtMzQ5LDQx ICszNDksNTQgQEAgc3RhdGljIHZvaWQgd3JpdGVfY2hhcihDQ2FwdGlvblN1YkNvbnRleHQgKmN0 eCwgc3RydWN0IFNjcmVlbiAqc2NyZWVuLCBjaGFyIGNoKQogfQogCiAvKioKLSAqIFRoaXMgZnVu Y3Rpb24gYWZ0ZXIgdmFsaWRhdGluZyBwYXJpdHkgYml0LCBhbHNvIHJlbW92ZSBpdCBmcm9tIGRh dGEgcGFpci4KKyAqIFRoaXMgZnVuY3Rpb24gYWNjZXB0cyBhbiBFSUEgNjA4IGRhdGEgcGFpcgog ICogVGhlIGZpcnN0IGJ5dGUgZG9lc24ndCBwYXNzIHBhcml0eSwgd2UgcmVwbGFjZSBpdCB3aXRo IGEgc29saWQgYmxhbmsKICAqIGFuZCBwcm9jZXNzIHRoZSBwYWlyLgogICogSWYgdGhlIHNlY29u ZCBieXRlIGRvZXNuJ3QgcGFzcyBwYXJpdHksIGl0IHJldHVybnMgSU5WQUxJRERBVEEKLSAqIHVz ZXIgY2FuIGlnbm9yZSB0aGUgd2hvbGUgcGFpciBhbmQgcGFzcyB0aGUgb3RoZXIgcGFpci4KKyAq IHVzZXIgY2FuIGlnbm9yZSB0aGUgd2hvbGUgcGFpciBhbmQgcGFzcyB0aGUgbmV4dCBwYWlyLgog ICovCi1zdGF0aWMgaW50IHZhbGlkYXRlX2NjX2RhdGFfcGFpcihjb25zdCB1aW50OF90ICpjY19k YXRhX3BhaXIsIHVpbnQ4X3QgKmhpKQorc3RhdGljIGludCB2YWxpZGF0ZV82MDhfZGF0YV9wYWly KGNvbnN0IHVpbnQ4X3QgKmNjX2RhdGFfcGFpciwgdWludDhfdCAqaGkpCiB7Ci0gICAgdWludDhf dCBjY192YWxpZCA9ICgqY2NfZGF0YV9wYWlyICYgNCkgPj4yOwotICAgIHVpbnQ4X3QgY2NfdHlw ZSA9ICpjY19kYXRhX3BhaXIgJiAzOworICAgICpoaSA9IGNjX2RhdGFfcGFpclswXTsKIAotICAg ICpoaSA9IGNjX2RhdGFfcGFpclsxXTsKLQotICAgIGlmICghY2NfdmFsaWQpCisgICAgaWYgKCFh dl9wYXJpdHkoY2NfZGF0YV9wYWlyWzFdKSkgewogICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZB TElEREFUQTsKLQotICAgIC8vIGlmIEVJQS02MDggZGF0YSB0aGVuIHZlcmlmeSBwYXJpdHkuCi0g ICAgaWYgKGNjX3R5cGU9PTAgfHwgY2NfdHlwZT09MSkgewotICAgICAgICBpZiAoIWF2X3Bhcml0 eShjY19kYXRhX3BhaXJbMl0pKSB7Ci0gICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElE REFUQTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIWF2X3Bhcml0eShjY19kYXRhX3BhaXJbMV0p KSB7Ci0gICAgICAgICAgICAqaGkgPSAweDdGOwotICAgICAgICB9CisgICAgfQorICAgIGlmICgh YXZfcGFyaXR5KGNjX2RhdGFfcGFpclswXSkpIHsKKyAgICAgICAgKmhpID0gMHg3RjsKICAgICB9 CiAKICAgICAvL1NraXAgbm9uLWRhdGEKLSAgICBpZiAoKGNjX2RhdGFfcGFpclswXSA9PSAweEZB IHx8IGNjX2RhdGFfcGFpclswXSA9PSAweEZDIHx8IGNjX2RhdGFfcGFpclswXSA9PSAweEZEKQot ICAgICAgICAgJiYgKGNjX2RhdGFfcGFpclsxXSAmIDB4N0YpID09IDAgJiYgKGNjX2RhdGFfcGFp clsyXSAmIDB4N0YpID09IDApCisgICAgaWYgKChjY19kYXRhX3BhaXJbMF0gJiAweDdGKSA9PSAw ICYmIChjY19kYXRhX3BhaXJbMV0gJiAweDdGKSA9PSAwKQogICAgICAgICByZXR1cm4gQVZFUlJP Ul9QQVRDSFdFTENPTUU7CiAKLSAgICAvL3NraXAgNzA4IGRhdGEKKyAgICByZXR1cm4gMDsKK30K KworCisvKioKKyAqIFRoaXMgZnVuY3Rpb24gYWNjZXB0cyAiY2NfZGF0YV9wYWlyIiA9IFs3MDgg aGVhZGVyIGJ5dGUsIEVJQSA2MDggZmlyc3QgYnl0ZSwgRUlBIDYwOCBzZWNvbmQgYnl0ZV0KKyAq IFRoZSBmaXJzdCBieXRlIGRvZXNuJ3QgcGFzcyBwYXJpdHksIHdlIHJlcGxhY2UgaXQgd2l0aCBh IHNvbGlkIGJsYW5rCisgKiBhbmQgcHJvY2VzcyB0aGUgcGFpci4KKyAqIElmIHRoZSBzZWNvbmQg Ynl0ZSBkb2Vzbid0IHBhc3MgcGFyaXR5LCBpdCByZXR1cm5zIElOVkFMSUREQVRBCisgKiB1c2Vy IGNhbiBpZ25vcmUgdGhlIHdob2xlIHBhaXIgYW5kIHBhc3MgdGhlIG5leHQgcGFpci4KKyAqLwor c3RhdGljIGludCB2YWxpZGF0ZV9jY19kYXRhX3BhaXIoY29uc3QgdWludDhfdCAqY2NfZGF0YV9w YWlyLCB1aW50OF90ICpoaSkKK3sKKyAgICB1aW50OF90IGNjX3ZhbGlkID0gKCpjY19kYXRhX3Bh aXIgJiA0KSA+PjI7CisgICAgdWludDhfdCBjY190eXBlID0gKmNjX2RhdGFfcGFpciAmIDM7Cisg ICAgaW50IHJldDsKKworICAgIGlmICghY2NfdmFsaWQpCisgICAgICAgIHJldHVybiBBVkVSUk9S X0lOVkFMSUREQVRBOworCisgICAgLy8gc2tpcCA3MDggZGF0YSwgd2Ugb25seSBzdXBwb3J0ICI2 MDggb3ZlciA3MDgiICh0eXBlcyAwLCAxKSBub3QgbmF0aXZlIDcwOAogICAgIGlmIChjY190eXBl ID09IDMgfHwgY2NfdHlwZSA9PSAyKQogICAgICAgICByZXR1cm4gQVZFUlJPUl9QQVRDSFdFTENP TUU7CiAKKyAgICBpZiAocmV0ID0gdmFsaWRhdGVfNjA4X2RhdGFfcGFpcihjY19kYXRhX3BhaXIg KyAxLCBoaSkpCisgICAgICAgIHJldHVybiByZXQ7CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAt ODQ1LDIwICs4NTgsMzUgQEAgc3RhdGljIGludCBkZWNvZGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 LCBBVlN1YnRpdGxlICpzdWIsCiAgICAgaW50IHJldCA9IDA7CiAgICAgaW50IGk7CiAgICAgdW5z aWduZWQgbmJfcmVjdF9hbGxvY2F0ZWQgPSAwOworICAgIGludCBzdHJpZGU7CisgICAgaW50IGJ5 dGVfcGFpcnMgPSBhdmN0eC0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfRUlBXzYwOF9CWVRFX1BB SVJTOworICAgIGlmIChieXRlX3BhaXJzKSB7CisgICAgICAgIHN0cmlkZSA9IDI7IC8vIGVpYSA2 MDg6IDIgYnl0ZSAicGVyIHBhY2tldCIKKyAgICB9IGVsc2UgeworICAgICAgICBzdHJpZGUgPSAz OyAvLyBlaWEgNzA4OiAxIGJ5dGUgaGVhZGVyIHBsdXMgMiA2MDgKKyAgICB9CiAKLSAgICBmb3Ig KGkgPSAwOyBpIDwgbGVuOyBpICs9IDMpIHsKLSAgICAgICAgdWludDhfdCBoaSwgY2NfdHlwZSA9 IGJwdHJbaV0gJiAxOworICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gc3RyaWRlKSB7Cisg ICAgICAgIHVpbnQ4X3QgaGk7CisgICAgICAgIGlmIChieXRlX3BhaXJzKSB7CisgICAgICAgICAg ICAvLyB0aGVyZSBpcyBubyBjb25jZXB0IG9mIGNjX3R5cGUgaW4gNjA4CisgICAgICAgICAgICBp ZiAodmFsaWRhdGVfNjA4X2RhdGFfcGFpcihicHRyLCAmaGkpKQorICAgICAgICAgICAgICAgIGNv bnRpbnVlOworICAgICAgICAgICAgcmV0ID0gcHJvY2Vzc19jYzYwOChjdHgsIGhpICYgMHg3Ziwg YnB0cltpICsgMV0gJiAweDdmKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB1aW50OF90 IGNjX3R5cGUgPSBicHRyW2ldICYgMTsKIAotICAgICAgICBpZiAoY3R4LT5kYXRhX2ZpZWxkIDwg MCkKLSAgICAgICAgICAgIGN0eC0+ZGF0YV9maWVsZCA9IGNjX3R5cGU7CisgICAgICAgICAgaWYg KGN0eC0+ZGF0YV9maWVsZCA8IDApCisgICAgICAgICAgICAgIGN0eC0+ZGF0YV9maWVsZCA9IGNj X3R5cGU7CiAKLSAgICAgICAgaWYgKHZhbGlkYXRlX2NjX2RhdGFfcGFpcihicHRyICsgaSwgJmhp KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgIGlmICh2YWxpZGF0ZV9jY19kYXRh X3BhaXIoYnB0ciArIGksICZoaSkpCisgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAg IGlmIChjY190eXBlICE9IGN0eC0+ZGF0YV9maWVsZCkKLSAgICAgICAgICAgIGNvbnRpbnVlOwor ICAgICAgICAgIGlmIChjY190eXBlICE9IGN0eC0+ZGF0YV9maWVsZCkKKyAgICAgICAgICAgICAg Y29udGludWU7CiAKLSAgICAgICAgcmV0ID0gcHJvY2Vzc19jYzYwOChjdHgsIGhpICYgMHg3Ziwg YnB0cltpICsgMl0gJiAweDdmKTsKKyAgICAgICAgICByZXQgPSBwcm9jZXNzX2NjNjA4KGN0eCwg aGkgJiAweDdmLCBicHRyW2kgKyAyXSAmIDB4N2YpOworICAgICAgICB9CiAgICAgICAgIGlmIChy ZXQgPCAwKQogICAgICAgICAgICAgcmV0dXJuIHJldDsKIApAQCAtOTM5LDYgKzk2NywxMyBAQCBz dGF0aWMgY29uc3QgQVZDbGFzcyBjY2FwdGlvbl9kZWNfY2xhc3MgPSB7CiAgICAgLnZlcnNpb24g ICAgPSBMSUJBVlVUSUxfVkVSU0lPTl9JTlQsCiB9OwogCitzdGF0aWMgY29uc3QgQVZDbGFzcyBj Y2FwdGlvbl9laWFfNjA4X2RlY19jbGFzcyA9IHsKKyAgICAuY2xhc3NfbmFtZSA9ICJDbG9zZWQg Y2FwdGlvbiBEZWNvZGVyIEVJQSA2MDggQnl0ZSBQYWlycyIsCisgICAgLml0ZW1fbmFtZSAgPSBh dl9kZWZhdWx0X2l0ZW1fbmFtZSwKKyAgICAub3B0aW9uICAgICA9IG9wdGlvbnMsCisgICAgLnZl cnNpb24gICAgPSBMSUJBVlVUSUxfVkVSU0lPTl9JTlQsCit9OworCiBjb25zdCBGRkNvZGVjIGZm X2NjYXB0aW9uX2RlY29kZXIgPSB7CiAgICAgLnAubmFtZSAgICAgICAgID0gImNjX2RlYyIsCiAg ICAgQ09ERUNfTE9OR19OQU1FKCJDbG9zZWQgQ2FwdGlvbiAoRUlBLTYwOCAvIENFQS03MDgpIiks CkBAIC05NTIsMyArOTg3LDE3IEBAIGNvbnN0IEZGQ29kZWMgZmZfY2NhcHRpb25fZGVjb2RlciA9 IHsKICAgICAuZmx1c2ggICAgICAgICAgPSBmbHVzaF9kZWNvZGVyLAogICAgIEZGX0NPREVDX0RF Q09ERV9TVUJfQ0IoZGVjb2RlKSwKIH07CisKK2NvbnN0IEZGQ29kZWMgZmZfY2NhcHRpb25fZWlh XzYwOF9kZWNvZGVyID0geworICAgIC5wLm5hbWUgICAgICAgICA9ICJjY19kZWNfNjA4X2J5dGVf cGFpcnMiLAorICAgIENPREVDX0xPTkdfTkFNRSgiQ2xvc2VkIENhcHRpb24gKEVJQS02MDggYnl0 ZSBwYWlycykiKSwKKyAgICAucC50eXBlICAgICAgICAgPSBBVk1FRElBX1RZUEVfU1VCVElUTEUs CisgICAgLnAuaWQgICAgICAgICAgID0gQVZfQ09ERUNfSURfRUlBXzYwOF9CWVRFX1BBSVJTLAor ICAgIC5wLnByaXZfY2xhc3MgICA9ICZjY2FwdGlvbl9laWFfNjA4X2RlY19jbGFzcywKKyAgICAu cC5jYXBhYmlsaXRpZXMgPSBBVl9DT0RFQ19DQVBfREVMQVksCisgICAgLnByaXZfZGF0YV9zaXpl ID0gc2l6ZW9mKENDYXB0aW9uU3ViQ29udGV4dCksCisgICAgLmluaXQgICAgICAgICAgID0gaW5p dF9kZWNvZGVyLAorICAgIC5jbG9zZSAgICAgICAgICA9IGNsb3NlX2RlY29kZXIsCisgICAgLmZs dXNoICAgICAgICAgID0gZmx1c2hfZGVjb2RlciwKKyAgICBGRl9DT0RFQ19ERUNPREVfU1VCX0NC KGRlY29kZSksCit9OwpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9jb2RlY19kZXNjLmMgYi9saWJh dmNvZGVjL2NvZGVjX2Rlc2MuYwppbmRleCA0NDA2ZGQ4MzE4Li44YTZlN2RlNTUxIDEwMDY0NAot LS0gYS9saWJhdmNvZGVjL2NvZGVjX2Rlc2MuYworKysgYi9saWJhdmNvZGVjL2NvZGVjX2Rlc2Mu YwpAQCAtMzU5Niw2ICszNTk2LDEzIEBAIHN0YXRpYyBjb25zdCBBVkNvZGVjRGVzY3JpcHRvciBj b2RlY19kZXNjcmlwdG9yc1tdID0gewogICAgICAgICAubG9uZ19uYW1lID0gTlVMTF9JRl9DT05G SUdfU01BTEwoIkFSSUIgU1RELUIyNCBjYXB0aW9uIiksCiAgICAgICAgIC5wcm9maWxlcyAgPSBO VUxMX0lGX0NPTkZJR19TTUFMTChmZl9hcmliX2NhcHRpb25fcHJvZmlsZXMpLAogICAgIH0sCisg ICAgeworICAgICAgICAuaWQgICAgICAgID0gQVZfQ09ERUNfSURfRUlBXzYwOF9CWVRFX1BBSVJT LAorICAgICAgICAudHlwZSAgICAgID0gQVZNRURJQV9UWVBFX1NVQlRJVExFLAorICAgICAgICAu bmFtZSAgICAgID0gImVpYV82MDhfYnl0ZV9wYWlycyIsCisgICAgICAgIC5sb25nX25hbWUgPSBO VUxMX0lGX0NPTkZJR19TTUFMTCgiRUlBLTYwOCBjbG9zZWQgY2FwdGlvbiBieXRlIHBhaXJzIiks CisgICAgICAgIC5wcm9wcyAgICAgPSBBVl9DT0RFQ19QUk9QX1RFWFRfU1VCLAorICAgIH0sCiAK ICAgICAvKiBvdGhlciBraW5kIG9mIGNvZGVjcyBhbmQgcHNldWRvLWNvZGVjcyAqLwogICAgIHsK ZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY29kZWNfaWQuaCBiL2xpYmF2Y29kZWMvY29kZWNfaWQu aAppbmRleCBhNWEwY2I4NTI1Li5lMzNkZTY4ZTFlIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2Nv ZGVjX2lkLmgKKysrIGIvbGliYXZjb2RlYy9jb2RlY19pZC5oCkBAIC01NzIsNiArNTcyLDcgQEAg ZW51bSBBVkNvZGVjSUQgewogICAgIEFWX0NPREVDX0lEX0hETVZfVEVYVF9TVUJUSVRMRSwKICAg ICBBVl9DT0RFQ19JRF9UVE1MLAogICAgIEFWX0NPREVDX0lEX0FSSUJfQ0FQVElPTiwKKyAgICBB Vl9DT0RFQ19JRF9FSUFfNjA4X0JZVEVfUEFJUlMsCiAKICAgICAvKiBvdGhlciBzcGVjaWZpYyBr aW5kIG9mIGNvZGVjcyAoZ2VuZXJhbGx5IHVzZWQgZm9yIGF0dGFjaG1lbnRzKSAqLwogICAgIEFW X0NPREVDX0lEX0ZJUlNUX1VOS05PV04gPSAweDE4MDAwLCAgICAgICAgICAgLy8vPCBBIGR1bW15 IElEIHBvaW50aW5nIGF0IHRoZSBzdGFydCBvZiB2YXJpb3VzIGZha2UgY29kZWNzLgpkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy92ZXJzaW9uLmggYi9saWJhdmNvZGVjL3ZlcnNpb24uaAppbmRleCBk YTZmM2E4NGFjLi45NDExNTExZTA0IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3ZlcnNpb24uaAor KysgYi9saWJhdmNvZGVjL3ZlcnNpb24uaApAQCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAi dmVyc2lvbl9tYWpvci5oIgogCi0jZGVmaW5lIExJQkFWQ09ERUNfVkVSU0lPTl9NSU5PUiAgMjEK KyNkZWZpbmUgTElCQVZDT0RFQ19WRVJTSU9OX01JTk9SICAyMgogI2RlZmluZSBMSUJBVkNPREVD X1ZFUlNJT05fTUlDUk8gMTAwCiAKICNkZWZpbmUgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCAgQVZf VkVSU0lPTl9JTlQoTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SLCBcCi0tIAoyLjE3LjEKCg== --0000000000005a6a0905fe850907 Content-Type: application/octet-stream; name="0002-dshow-add-ability-to-capture-closed-caption-EIA-608-.patch" Content-Disposition: attachment; filename="0002-dshow-add-ability-to-capture-closed-caption-EIA-608-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lj3ki4eo1 RnJvbSA1NmY1Mjk5MTVmNjA2ODQ1ZDU3ODExZTVmOTdlOTNjOWRlNTUzNDZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiByb2dlcmRwYWNrIDxyb2dlcnBhY2syMDA1QGdtYWlsLmNvbT4K RGF0ZTogV2VkLCA1IEFwciAyMDIzIDE0OjUxOjQ4IC0wNjAwClN1YmplY3Q6IFtQQVRDSCAyLzJd IGRzaG93OiBhZGQgYWJpbGl0eSB0byBjYXB0dXJlIGNsb3NlZCBjYXB0aW9uIEVJQSA2MDggYnl0 ZQogcGFpcnMgZnJvbSBlLmcuIFZIUyB0YXBlIGNhcHR1cmUgZGV2aWNlcwoKLS0tCiBkb2MvaW5k ZXZzLnRleGkgICAgICAgICAgICAgfCAgMTUgKystCiBsaWJhdmRldmljZS9kc2hvdy5jICAgICAg ICAgfCAyMzkgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBsaWJhdmRldmlj ZS9kc2hvd19jYXB0dXJlLmggfCAgMTcgKy0tCiBsaWJhdmRldmljZS9kc2hvd19waW4uYyAgICAg fCAgMTQgKystCiA0IGZpbGVzIGNoYW5nZWQsIDE4OSBpbnNlcnRpb25zKCspLCA5NiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvaW5kZXZzLnRleGkgYi9kb2MvaW5kZXZzLnRleGkKaW5k ZXggODYzNTM2YTM0ZC4uZDIzNmI5MjM1YiAxMDA2NDQKLS0tIGEvZG9jL2luZGV2cy50ZXhpCisr KyBiL2RvYy9pbmRldnMudGV4aQpAQCAtNDkyLDggKzQ5MiwxMiBAQCBUaGUgaW5wdXQgbmFtZSBz aG91bGQgYmUgaW4gdGhlIGZvcm1hdDoKIEB2YXJ7VFlQRX09QHZhcntOQU1FfVs6QHZhcntUWVBF fT1AdmFye05BTUV9XQogQGVuZCBleGFtcGxlCiAKLXdoZXJlIEB2YXJ7VFlQRX0gY2FuIGJlIGVp dGhlciBAdmFye2F1ZGlvfSBvciBAdmFye3ZpZGVvfSwKLWFuZCBAdmFye05BTUV9IGlzIHRoZSBk ZXZpY2UncyBuYW1lIG9yIGFsdGVybmF0aXZlIG5hbWUuLgord2hlcmUgQHZhcntUWVBFfSBjYW4g YmUgZWl0aGVyIEB2YXJ7YXVkaW99LCBAdmFye3ZpZGVvfSwgb3IgQHZhcntjbG9zZWRfY2FwdGlv bn0KK2FuZCBAdmFye05BTUV9IGlzIHRoZSBkZXZpY2UncyBuYW1lIG9yIGFsdGVybmF0aXZlIG5h bWUuCisKK0B2YXJ7Y2xvc2VkX2NhcHRpb259IGRldmljZXMgbXVzdCBhZHZlcnRpc2UgZm9ybWF0 IFZCSSBhbmQgaGF2ZSBhbiBpbnRlcm1lZGlhdGUKK2RpcmVjdHNob3cgZmlsdGVyIGF2YWlsYWJs ZSB0byBjb252ZXJ0IGZyb20gVkJJIHRvIHJhdyBFSUEgNjA4IGNsb3NlZCBjYXB0aW9uCitmb3Jt YXQgYnl0ZSBwYWlycy4KIAogQHN1YnNlY3Rpb24gT3B0aW9ucwogCkBAIC02NjEsNiArNjY1LDEz IEBAIE9wZW4gdmlkZW8gZGV2aWNlIEB2YXJ7Q2FtZXJhfSBhbmQgYXVkaW8gZGV2aWNlIEB2YXJ7 TWljcm9waG9uZX06CiAkIGZmbXBlZyAtZiBkc2hvdyAtaSB2aWRlbz0iQ2FtZXJhIjphdWRpbz0i TWljcm9waG9uZSIKIEBlbmQgZXhhbXBsZQogCitAaXRlbQorT3BlbiB2aWRlbyBkZXZpY2UgQHZh cntDYW1lcmF9LCBjbG9zZWQgY2FwdGlvbiBkZXZpY2UgQHZhcntDYW1lcmF9LAorYW5kIGF1ZGlv IGRldmljZSBAdmFye01pY3JvcGhvbmV9OgorQGV4YW1wbGUKKyQgZmZtcGVnIC1mIGRzaG93IC1p IHZpZGVvPSJDYW1lcmEiOmF1ZGlvPSJNaWNyb3Bob25lIjpjbG9zZWRfY2FwdGlvbj0iVmlkZW8g Q2FwdHVyZSIKK0BlbmQgZXhhbXBsZQorCiBAaXRlbQogUHJpbnQgdGhlIGxpc3Qgb2Ygc3VwcG9y dGVkIG9wdGlvbnMgaW4gc2VsZWN0ZWQgZGV2aWNlIGFuZCBleGl0OgogQGV4YW1wbGUKZGlmZiAt LWdpdCBhL2xpYmF2ZGV2aWNlL2RzaG93LmMgYi9saWJhdmRldmljZS9kc2hvdy5jCmluZGV4IDU5 NDZhNzJjYzIuLjk1YjViMjhkZmYgMTAwNjQ0Ci0tLSBhL2xpYmF2ZGV2aWNlL2RzaG93LmMKKysr IGIvbGliYXZkZXZpY2UvZHNob3cuYwpAQCAtMjcwLDI0ICsyNzAsMzUgQEAgZHNob3dfcmVhZF9j bG9zZShBVkZvcm1hdENvbnRleHQgKnMpCiAgICAgICAgIGZmX2RzaG93X3Bpbl9SZWxlYXNlKGN0 eC0+Y2FwdHVyZV9waW5bVmlkZW9EZXZpY2VdKTsKICAgICBpZiAoY3R4LT5jYXB0dXJlX3BpbltB dWRpb0RldmljZV0pCiAgICAgICAgIGZmX2RzaG93X3Bpbl9SZWxlYXNlKGN0eC0+Y2FwdHVyZV9w aW5bQXVkaW9EZXZpY2VdKTsKKyAgICBpZiAoY3R4LT5jYXB0dXJlX3BpbltDbG9zZWRDYXB0aW9u RGV2aWNlXSkKKyAgICAgICAgZmZfZHNob3dfcGluX1JlbGVhc2UoY3R4LT5jYXB0dXJlX3BpbltD bG9zZWRDYXB0aW9uRGV2aWNlXSk7CiAgICAgaWYgKGN0eC0+Y2FwdHVyZV9maWx0ZXJbVmlkZW9E ZXZpY2VdKQogICAgICAgICBmZl9kc2hvd19maWx0ZXJfUmVsZWFzZShjdHgtPmNhcHR1cmVfZmls dGVyW1ZpZGVvRGV2aWNlXSk7CiAgICAgaWYgKGN0eC0+Y2FwdHVyZV9maWx0ZXJbQXVkaW9EZXZp Y2VdKQogICAgICAgICBmZl9kc2hvd19maWx0ZXJfUmVsZWFzZShjdHgtPmNhcHR1cmVfZmlsdGVy W0F1ZGlvRGV2aWNlXSk7CisgICAgaWYgKGN0eC0+Y2FwdHVyZV9maWx0ZXJbQ2xvc2VkQ2FwdGlv bkRldmljZV0pCisgICAgICAgIGZmX2RzaG93X2ZpbHRlcl9SZWxlYXNlKGN0eC0+Y2FwdHVyZV9m aWx0ZXJbQ2xvc2VkQ2FwdGlvbkRldmljZV0pOwogCiAgICAgaWYgKGN0eC0+ZGV2aWNlX3BpbltW aWRlb0RldmljZV0pCiAgICAgICAgIElQaW5fUmVsZWFzZShjdHgtPmRldmljZV9waW5bVmlkZW9E ZXZpY2VdKTsKICAgICBpZiAoY3R4LT5kZXZpY2VfcGluW0F1ZGlvRGV2aWNlXSkKICAgICAgICAg SVBpbl9SZWxlYXNlKGN0eC0+ZGV2aWNlX3BpbltBdWRpb0RldmljZV0pOwotICAgIGlmIChjdHgt PmRldmljZV9maWx0ZXJbVmlkZW9EZXZpY2VdKQorICAgIGlmIChjdHgtPmRldmljZV9waW5bQ2xv c2VkQ2FwdGlvbkRldmljZV0pCisgICAgICAgIElQaW5fUmVsZWFzZShjdHgtPmRldmljZV9waW5b Q2xvc2VkQ2FwdGlvbkRldmljZV0pOworCisgICAgICBpZiAoY3R4LT5kZXZpY2VfZmlsdGVyW1Zp ZGVvRGV2aWNlXSkKICAgICAgICAgSUJhc2VGaWx0ZXJfUmVsZWFzZShjdHgtPmRldmljZV9maWx0 ZXJbVmlkZW9EZXZpY2VdKTsKICAgICBpZiAoY3R4LT5kZXZpY2VfZmlsdGVyW0F1ZGlvRGV2aWNl XSkKICAgICAgICAgSUJhc2VGaWx0ZXJfUmVsZWFzZShjdHgtPmRldmljZV9maWx0ZXJbQXVkaW9E ZXZpY2VdKTsKKyAgICBpZiAoY3R4LT5kZXZpY2VfZmlsdGVyW0Nsb3NlZENhcHRpb25EZXZpY2Vd KQorICAgICAgICBJQmFzZUZpbHRlcl9SZWxlYXNlKGN0eC0+ZGV2aWNlX2ZpbHRlcltDbG9zZWRD YXB0aW9uRGV2aWNlXSk7CiAKICAgICBhdl9mcmVlcCgmY3R4LT5kZXZpY2VfbmFtZVswXSk7CiAg ICAgYXZfZnJlZXAoJmN0eC0+ZGV2aWNlX25hbWVbMV0pOworICAgIGF2X2ZyZWVwKCZjdHgtPmRl dmljZV9uYW1lWzJdKTsKICAgICBhdl9mcmVlcCgmY3R4LT5kZXZpY2VfdW5pcXVlX25hbWVbMF0p OwogICAgIGF2X2ZyZWVwKCZjdHgtPmRldmljZV91bmlxdWVfbmFtZVsxXSk7CisgICAgYXZfZnJl ZXAoJmN0eC0+ZGV2aWNlX3VuaXF1ZV9uYW1lWzJdKTsKIAogICAgIGlmKGN0eC0+bXV0ZXgpCiAg ICAgICAgIENsb3NlSGFuZGxlKGN0eC0+bXV0ZXgpOwpAQCAtMzI1LDE4ICszMzYsMjIgQEAgc3Rh dGljIGludCBzaGFsbF93ZV9kcm9wKEFWRm9ybWF0Q29udGV4dCAqcywgaW50IGluZGV4LCBlbnVt IGRzaG93RGV2aWNlVHlwZSBkZXYKICAgICBzdGF0aWMgY29uc3QgdWludDhfdCBkcm9wc2NvcmVb XSA9IHs2MiwgNzUsIDg3LCAxMDB9OwogICAgIGNvbnN0IGludCBuZHJvcHNjb3JlcyA9IEZGX0FS UkFZX0VMRU1TKGRyb3BzY29yZSk7CiAgICAgdW5zaWduZWQgaW50IGJ1ZmZlcl9mdWxsbmVzcyA9 IChjdHgtPmN1cmJ1ZnNpemVbaW5kZXhdKjEwMCkvcy0+bWF4X3BpY3R1cmVfYnVmZmVyOwotICAg IGNvbnN0IGNoYXIgKmRldnR5cGVuYW1lID0gKGRldnR5cGUgPT0gVmlkZW9EZXZpY2UpID8gInZp ZGVvIiA6ICJhdWRpbyI7CisgICAgY29uc3QgY2hhciAqZGV2dHlwZW5hbWUgPSAoZGV2dHlwZSA9 PSBWaWRlb0RldmljZSkgPyAidmlkZW8iIDogKGRldnR5cGUgPT0gQXVkaW9EZXZpY2UpID8gImF1 ZGlvIiA6ICJWQkkiOwogCiAgICAgaWYoZHJvcHNjb3JlWysrY3R4LT52aWRlb19mcmFtZV9udW0l bmRyb3BzY29yZXNdIDw9IGJ1ZmZlcl9mdWxsbmVzcykgewogICAgICAgICBhdl9sb2cocywgQVZf TE9HX0VSUk9SLAogICAgICAgICAgICAgICAicmVhbC10aW1lIGJ1ZmZlciBbJXNdIFslcyBpbnB1 dF0gdG9vIGZ1bGwgb3IgbmVhciB0b28gZnVsbCAoJWQlJSBvZiBzaXplOiAlZCBbcnRidWZzaXpl IHBhcmFtZXRlcl0pISBmcmFtZSBkcm9wcGVkIVxuIiwKICAgICAgICAgICAgICAgY3R4LT5kZXZp Y2VfbmFtZVtkZXZ0eXBlXSwgZGV2dHlwZW5hbWUsIGJ1ZmZlcl9mdWxsbmVzcywgcy0+bWF4X3Bp Y3R1cmVfYnVmZmVyKTsKICAgICAgICAgcmV0dXJuIDE7CisgICAgfSBlbHNlIHsKKyAgICAgIGF2 X2xvZyhzLCBBVl9MT0dfREVCVUcsICJyZWNlaXZlZCBwYWNrZXQgZnJvbSBjYXB0dXJlIGRldmlj ZSBbJXNdIFslcyBpbnB1dF0gYnVmZmVyIGN1cnJlbnQgc2l6ZTogJWxsZCwgcXVldWVpbmdcbiIs CisgICAgICAgICAgICAgIGN0eC0+ZGV2aWNlX25hbWVbZGV2dHlwZV0sIGRldnR5cGVuYW1lLCBj dHgtPmN1cmJ1ZnNpemVbaW5kZXhdKTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKIH0KIAorLy8g cGlucyBjYWxsIHRoaXMgd2hlbiB0aGV5IHJlY2VpdmUgZGF0YSBmcm9tIGEgY2FwdHVyZSBkZXZp Y2UKIHN0YXRpYyB2b2lkCiBjYWxsYmFjayh2b2lkICpwcml2X2RhdGEsIGludCBpbmRleCwgdWlu dDhfdCAqYnVmLCBpbnQgYnVmX3NpemUsIGludDY0X3QgdGltZSwgZW51bSBkc2hvd0RldmljZVR5 cGUgZGV2dHlwZSkKIHsKQEAgLTM4NCw3ICszOTksNyBAQCBkc2hvd19nZXRfZGV2aWNlX21lZGlh X3R5cGVzKEFWRm9ybWF0Q29udGV4dCAqYXZjdHgsIGVudW0gZHNob3dEZXZpY2VUeXBlIGRldnR5 cAogewogICAgIElFbnVtUGlucyAqcGlucyA9IDA7CiAgICAgSVBpbiAqcGluOwotICAgIGludCBo YXNfYXVkaW8gPSAwLCBoYXNfdmlkZW8gPSAwOworICAgIGludCBoYXNfYXVkaW8gPSAwLCBoYXNf dmlkZW8gPSAwLCBoYXNfdmJpID0gMDsKIAogICAgIGlmIChJQmFzZUZpbHRlcl9FbnVtUGlucyhk ZXZpY2VfZmlsdGVyLCAmcGlucykgIT0gU19PSykKICAgICAgICAgcmV0dXJuOwpAQCAtNDIyLDYg KzQzNyw4IEBAIGRzaG93X2dldF9kZXZpY2VfbWVkaWFfdHlwZXMoQVZGb3JtYXRDb250ZXh0ICph dmN0eCwgZW51bSBkc2hvd0RldmljZVR5cGUgZGV2dHlwCiAgICAgICAgICAgICAgICAgaGFzX3Zp ZGVvID0gMTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoSXNFcXVhbEdVSUQoJnR5cGUtPm1ham9y dHlwZSwgJk1FRElBVFlQRV9BdWRpbykpIHsKICAgICAgICAgICAgICAgICBoYXNfYXVkaW8gPSAx OworICAgICAgICAgICAgfSBlbHNlIGlmIChJc0VxdWFsR1VJRCgmdHlwZS0+bWFqb3J0eXBlLCAm TUVESUFUWVBFX1ZCSSkpIHsKKyAgICAgICAgICAgICAgICBoYXNfdmJpID0gMTsKICAgICAgICAg ICAgIH0KICAgICAgICAgICAgIENvVGFza01lbUZyZWUodHlwZSk7CiAgICAgICAgIH0KQEAgLTQz NywxNCArNDU0LDE2IEBAIGRzaG93X2dldF9kZXZpY2VfbWVkaWFfdHlwZXMoQVZGb3JtYXRDb250 ZXh0ICphdmN0eCwgZW51bSBkc2hvd0RldmljZVR5cGUgZGV2dHlwCiAKICAgICBJRW51bVBpbnNf UmVsZWFzZShwaW5zKTsKIAotICAgIGlmIChoYXNfYXVkaW8gfHwgaGFzX3ZpZGVvKSB7Ci0gICAg ICAgIGludCBuYl90eXBlcyA9IGhhc19hdWRpbyArIGhhc192aWRlbzsKKyAgICBpZiAoaGFzX2F1 ZGlvIHx8IGhhc192aWRlbyB8fCBoYXNfdmJpKSB7CisgICAgICAgIGludCBuYl90eXBlcyA9IGhh c19hdWRpbyArIGhhc192aWRlbyArIGhhc192Ymk7CiAgICAgICAgICptZWRpYV90eXBlcyA9IGF2 X21hbGxvY19hcnJheShuYl90eXBlcywgc2l6ZW9mKGVudW0gQVZNZWRpYVR5cGUpKTsKICAgICAg ICAgaWYgKCptZWRpYV90eXBlcykgewogICAgICAgICAgICAgaWYgKGhhc19hdWRpbykKICAgICAg ICAgICAgICAgICAoKm1lZGlhX3R5cGVzKVswXSA9IEFWTUVESUFfVFlQRV9BVURJTzsKICAgICAg ICAgICAgIGlmIChoYXNfdmlkZW8pCiAgICAgICAgICAgICAgICAgKCptZWRpYV90eXBlcylbMCAr IGhhc19hdWRpb10gPSBBVk1FRElBX1RZUEVfVklERU87CisgICAgICAgICAgICBpZiAoaGFzX3Zi aSkKKyAgICAgICAgICAgICAgICAoKm1lZGlhX3R5cGVzKVswICsgaGFzX2F1ZGlvICsgaGFzX3Zp ZGVvXSA9IEFWTUVESUFfVFlQRV9TVUJUSVRMRTsKICAgICAgICAgICAgICpuYl9tZWRpYV90eXBl cyA9IG5iX3R5cGVzOwogICAgICAgICB9CiAgICAgfQpAQCAtNDc0LDggKzQ5Myw4IEBAIGRzaG93 X2N5Y2xlX2RldmljZXMoQVZGb3JtYXRDb250ZXh0ICphdmN0eCwgSUNyZWF0ZURldkVudW0gKmRl dmVudW0sCiAgICAgaW50IHI7CiAKICAgICBjb25zdCBHVUlEICpkZXZpY2VfZ3VpZFsyXSA9IHsg JkNMU0lEX1ZpZGVvSW5wdXREZXZpY2VDYXRlZ29yeSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJkNMU0lEX0F1ZGlvSW5wdXREZXZpY2VDYXRlZ29yeSB9OwotICAgIGNvbnN0 IGNoYXIgKmRldnR5cGVuYW1lID0gKGRldnR5cGUgPT0gVmlkZW9EZXZpY2UpID8gInZpZGVvIiA6 ICJhdWRpbyBvbmx5IjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkNMU0lE X0F1ZGlvSW5wdXREZXZpY2VDYXRlZ29yeSB9OyAvLyBWQkkgY29tZXMgb2ZmIHZpZGVvIGRldmlj ZXMKKyAgICBjb25zdCBjaGFyICpkZXZ0eXBlbmFtZSA9IChkZXZ0eXBlID09IFZpZGVvRGV2aWNl KSA/ICJ2aWRlbyIgOiAoZGV2dHlwZSA9PSBBdWRpb0RldmljZSkgPyAiYXVkaW8iIDogIlZCSSI7 CiAgICAgY29uc3QgY2hhciAqc291cmNldHlwZW5hbWUgPSAoc291cmNldHlwZSA9PSBWaWRlb1Nv dXJjZURldmljZSkgPyAidmlkZW8iIDogImF1ZGlvIjsKIAogICAgIHIgPSBJQ3JlYXRlRGV2RW51 bV9DcmVhdGVDbGFzc0VudW1lcmF0b3IoZGV2ZW51bSwgZGV2aWNlX2d1aWRbc291cmNldHlwZV0s CkBAIC02NjEsNiArNjgwLDkgQEAgc3RhdGljIGludCBkc2hvd19zaG91bGRfc2V0X2Zvcm1hdChB VkZvcm1hdENvbnRleHQgKmF2Y3R4LCBlbnVtIGRzaG93RGV2aWNlVHlwZQogewogICAgIHN0cnVj dCBkc2hvd19jdHggKmN0eCA9IGF2Y3R4LT5wcml2X2RhdGE7CiAKKyAgICBpZiAoZGV2dHlwZSA9 PSBDbG9zZWRDYXB0aW9uRGV2aWNlKQorICAgICAgICByZXR1cm4gMDsgLy8gYWx3YXlzIHVzZSBk ZWZhdWx0CisKICAgICByZXR1cm4gKGRldnR5cGUgPT0gVmlkZW9EZXZpY2UgJiYgKGN0eC0+ZnJh bWVyYXRlIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHgtPnJl cXVlc3RlZF93aWR0aCAmJiBjdHgtPnJlcXVlc3RlZF9oZWlnaHQpIHx8CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnBpeGVsX2Zvcm1hdCAhPSBBVl9QSVhfRk1U X05PTkUgfHwKQEAgLTcxNiw2ICs3MzgsMTAgQEAgc3RhdGljIHN0cnVjdCBkc2hvd19mb3JtYXRf aW5mbyAqZHNob3dfZ2V0X2Zvcm1hdF9pbmZvKEFNX01FRElBX1RZUEUgKnR5cGUpCiAgICAgfSBl bHNlIGlmIChJc0VxdWFsR1VJRCgmdHlwZS0+Zm9ybWF0dHlwZSwgJkZPUk1BVF9XYXZlRm9ybWF0 RXgpKSB7CiAgICAgICAgIGZ4ID0gKHZvaWQgKikgdHlwZS0+cGJGb3JtYXQ7CiAgICAgICAgIGRl dnR5cGUgPSBBdWRpb0RldmljZTsKKyAgICB9IGVsc2UgaWYgKElzRXF1YWxHVUlEKCZ0eXBlLT5t YWpvcnR5cGUsICZNRURJQVRZUEVfVkJJKSB8fCBJc0VxdWFsR1VJRCgmdHlwZS0+bWFqb3J0eXBl LCAmTUVESUFUWVBFX0FVWExpbmUyMURhdGEpICYmIElzRXF1YWxHVUlEKCZ0eXBlLT5zdWJ0eXBl LCAmTUVESUFTVUJUWVBFX0xpbmUyMV9CeXRlUGFpciApKSB7CisgICAgICAgIC8vIE1FRElBVFlQ RV9WQkkgaXMgd2hlbiB3ZSdyZSBmaXJzdCBlbnVtZXJhdGluZywgTUVESUFUWVBFX0FVWExpbmUy MURhdGEgaXMgd2hhdCB0aGUgcGluIGdldHMKKyAgICAgICAgLy8gc2V0IHRvIGluIHRoZSBlbmQs IGFuZCBpbiBkc2hvd19hZGRfZGV2aWNlIHdlIGxvb2t1cCB1c2luZyB0aGF0IG5vdywgYXBwYXJl bnRseS4uLgorICAgICAgICBkZXZ0eXBlID0gQ2xvc2VkQ2FwdGlvbkRldmljZTsKICAgICB9IGVs c2UgewogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC03NDksMTEgKzc3NSwxMSBAQCBz dGF0aWMgc3RydWN0IGRzaG93X2Zvcm1hdF9pbmZvICpkc2hvd19nZXRfZm9ybWF0X2luZm8oQU1f TUVESUFfVFlQRSAqdHlwZSkKICAgICAgICAgICAgIGZtdF9pbmZvLT5jb2xfdHJjID0gZHNob3df Y29sb3JfdHJjKGV4dGVuZGVkX2Zvcm1hdF9pbmZvKTsKICAgICAgICAgICAgIGZtdF9pbmZvLT5j aHJvbWFfbG9jID0gZHNob3dfY2hyb21hX2xvYyhleHRlbmRlZF9mb3JtYXRfaW5mbyk7CiAgICAg ICAgIH0KLSAgICB9IGVsc2UgeworICAgIH0gZWxzZSBpZiAoZGV2dHlwZSA9PSBBdWRpb0Rldmlj ZSkgewogICAgICAgICBmbXRfaW5mby0+c2FtcGxlX3JhdGUgPSBmeC0+blNhbXBsZXNQZXJTZWM7 CiAgICAgICAgIGZtdF9pbmZvLT5zYW1wbGVfc2l6ZSA9IGZ4LT53Qml0c1BlclNhbXBsZTsKICAg ICAgICAgZm10X2luZm8tPmNoYW5uZWxzID0gZngtPm5DaGFubmVsczsKLSAgICB9CisgICAgfSAv LyBlbHNlIFZCSSBkbyBub3RoaW5nCiAKICAgICByZXR1cm4gZm10X2luZm87CiB9CkBAIC03NjEs MjUgKzc4NywyOSBAQCBzdGF0aWMgc3RydWN0IGRzaG93X2Zvcm1hdF9pbmZvICpkc2hvd19nZXRf Zm9ybWF0X2luZm8oQU1fTUVESUFfVFlQRSAqdHlwZSkKIHN0YXRpYyB2b2lkIGRzaG93X2dldF9k ZWZhdWx0X2Zvcm1hdChJUGluICpwaW4sIElBTVN0cmVhbUNvbmZpZyAqY29uZmlnLCBlbnVtIGRz aG93RGV2aWNlVHlwZSBkZXZ0eXBlLCBBTV9NRURJQV9UWVBFICoqdHlwZSkKIHsKICAgICBIUkVT VUxUIGhyOwotCi0gICAgaWYgKChociA9IElBTVN0cmVhbUNvbmZpZ19HZXRGb3JtYXQoY29uZmln LCB0eXBlKSkgIT0gU19PSykgewotICAgICAgICBpZiAoaHIgPT0gRV9OT1RJTVBMIHx8ICFJc0Vx dWFsR1VJRCgmKCp0eXBlKS0+bWFqb3J0eXBlLCBkZXZ0eXBlID09IFZpZGVvRGV2aWNlID8gJk1F RElBVFlQRV9WaWRlbyA6ICZNRURJQVRZUEVfQXVkaW8pKSB7Ci0gICAgICAgICAgICAvLyBkZWZh dWx0IG5vdCBhdmFpbGFibGUgb3Igb2Ygd3JvbmcgdHlwZSwKLSAgICAgICAgICAgIC8vIGZhbGwg YmFjayB0byBpdGVyYXRpbmcgZXhwb3NlZCBmb3JtYXRzCi0gICAgICAgICAgICAvLyB1bnRpbCBv bmUgb2YgdGhlIHJpZ2h0IHR5cGUgaXMgZm91bmQKLSAgICAgICAgICAgIElFbnVtTWVkaWFUeXBl cyogdHlwZXMgPSBOVUxMOwotICAgICAgICAgICAgaWYgKElQaW5fRW51bU1lZGlhVHlwZXMocGlu LCAmdHlwZXMpICE9IFNfT0spCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAg SUVudW1NZWRpYVR5cGVzX1Jlc2V0KHR5cGVzKTsKLSAgICAgICAgICAgIHdoaWxlIChJRW51bU1l ZGlhVHlwZXNfTmV4dCh0eXBlcywgMSwgdHlwZSwgTlVMTCkgPT0gU19PSykgewotICAgICAgICAg ICAgICAgIGlmIChJc0VxdWFsR1VJRCgmKCp0eXBlKS0+bWFqb3J0eXBlLCBkZXZ0eXBlID09IFZp ZGVvRGV2aWNlID8gJk1FRElBVFlQRV9WaWRlbyA6ICZNRURJQVRZUEVfQXVkaW8pKSB7Ci0gICAg ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg ICBDb1Rhc2tNZW1GcmVlKCp0eXBlKTsKLSAgICAgICAgICAgICAgICAqdHlwZSA9IE5VTEw7Cisg ICAgR1VJRCBleHBlY3RlZF9tZWRpYV90eXBlID0gZGV2dHlwZSA9PSBWaWRlb0RldmljZSA/IE1F RElBVFlQRV9WaWRlbyA6IGRldnR5cGUgPT0gQXVkaW9EZXZpY2UgPyBNRURJQVRZUEVfQXVkaW8g OiBNRURJQVRZUEVfVkJJOworICAgIC8vIEdldEZvcm1hdCwgc2luY2Ugd2UgaGF2ZW4ndCBjYWxs ZWQgU2V0Rm9ybWF0IHlldCwgc2hvdWxkIHJldHVybiB1cyB0aGUgInByZWZlcnJlZCB0eXBlIgor ICAgIGhyID0gSUFNU3RyZWFtQ29uZmlnX0dldEZvcm1hdChjb25maWcsIHR5cGUpOworICAgIGlm IChociAhPSBTX09LIHx8ICFJc0VxdWFsR1VJRCgmKCp0eXBlKS0+bWFqb3J0eXBlLCAmZXhwZWN0 ZWRfbWVkaWFfdHlwZSkpIHsKKyAgICAgICAgLy8gZGVmYXVsdCBub3QgYXZhaWxhYmxlIG9yIG9m IHdyb25nIHR5cGUsCisgICAgICAgIC8vIGZhbGwgYmFjayB0byBpdGVyYXRpbmcgZXhwb3NlZCBm b3JtYXRzCisgICAgICAgIC8vIHVudGlsIG9uZSBvZiB0aGUgcmlnaHQgdHlwZSBpcyBmb3VuZAor ICAgICAgICBJRW51bU1lZGlhVHlwZXMqIHR5cGVzID0gTlVMTDsKKyAgICAgICAgaWYgKCp0eXBl KSB7CisgICAgICAgICAgICBDb1Rhc2tNZW1GcmVlKCp0eXBlKTsKKyAgICAgICAgICAgICp0eXBl ID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBpZiAoSVBpbl9FbnVtTWVkaWFUeXBlcyhwaW4s ICZ0eXBlcykgIT0gU19PSykKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgSUVudW1NZWRp YVR5cGVzX1Jlc2V0KHR5cGVzKTsKKyAgICAgICAgd2hpbGUgKElFbnVtTWVkaWFUeXBlc19OZXh0 KHR5cGVzLCAxLCB0eXBlLCBOVUxMKSA9PSBTX09LKSB7CisgICAgICAgICAgICBpZiAoSXNFcXVh bEdVSUQoJigqdHlwZSktPm1ham9ydHlwZSwgJmV4cGVjdGVkX21lZGlhX3R5cGUpKSB7CisgICAg ICAgICAgICAgICAgYnJlYWs7IC8vIHN1Y2Nlc3MKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg IElFbnVtTWVkaWFUeXBlc19SZWxlYXNlKHR5cGVzKTsKKyAgICAgICAgICAgIENvVGFza01lbUZy ZWUoKnR5cGUpOworICAgICAgICAgICAgKnR5cGUgPSBOVUxMOwogICAgICAgICB9CisgICAgICAg IElFbnVtTWVkaWFUeXBlc19SZWxlYXNlKHR5cGVzKTsKICAgICB9CiB9CiAKQEAgLTgzOCwzOSAr ODY4LDM4IEBAIGRzaG93X2N5Y2xlX2Zvcm1hdHMoQVZGb3JtYXRDb250ZXh0ICphdmN0eCwgZW51 bSBkc2hvd0RldmljZVR5cGUgZGV2dHlwZSwKICAgICB1c2VfZGVmYXVsdCA9ICFkc2hvd19zaG91 bGRfc2V0X2Zvcm1hdChhdmN0eCwgZGV2dHlwZSk7CiAgICAgaWYgKHVzZV9kZWZhdWx0ICYmIHBm b3JtYXRfc2V0KQogICAgIHsKLSAgICAgICAgLy8gZ2V0IGRlZmF1bHQKKyAgICAgICAgc3RydWN0 IGRzaG93X2Zvcm1hdF9pbmZvICpmbXRfaW5mbzsKKyAgICAgICAgLy8gbG9va3VwIGRlZmF1bHQK ICAgICAgICAgZHNob3dfZ2V0X2RlZmF1bHRfZm9ybWF0KHBpbiwgY29uZmlnLCBkZXZ0eXBlLCAm dHlwZSk7CiAgICAgICAgIGlmICghdHlwZSkKICAgICAgICAgICAgIC8vIHRoaXMgcGluIGRvZXMg bm90IGV4cG9zZSBhbnkgZm9ybWF0cyBvZiB0aGUgZXhwZWN0ZWQgdHlwZQogICAgICAgICAgICAg Z290byBlbmQ7CiAKLSAgICAgICAgaWYgKHR5cGUpIHsKLSAgICAgICAgICAgIC8vIGludGVycm9n YXRlIGRlZmF1bHQgZm9ybWF0LCBzbyB3ZSBrbm93IHdoYXQgdG8gc2VhcmNoIGZvciBiZWxvdwot ICAgICAgICAgICAgc3RydWN0IGRzaG93X2Zvcm1hdF9pbmZvICpmbXRfaW5mbyA9IGRzaG93X2dl dF9mb3JtYXRfaW5mbyh0eXBlKTsKLSAgICAgICAgICAgIGlmIChmbXRfaW5mbykgewotICAgICAg ICAgICAgICAgIGlmIChmbXRfaW5mby0+ZGV2dHlwZSA9PSBWaWRlb0RldmljZSkgewotICAgICAg ICAgICAgICAgICAgICByZXF1ZXN0ZWRfdmlkZW9fY29kZWNfaWQgPSBmbXRfaW5mby0+Y29kZWNf aWQ7Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZF9waXhlbF9mb3JtYXQgICA9IGZtdF9p bmZvLT5waXhfZm10OwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRfZnJhbWVyYXRlICAg ICAgPSBmbXRfaW5mby0+ZnJhbWVyYXRlOwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRf d2lkdGggICAgICAgICAgPSBmbXRfaW5mby0+d2lkdGg7Ci0gICAgICAgICAgICAgICAgICAgIHJl cXVlc3RlZF9oZWlnaHQgICAgICAgICA9IGZtdF9pbmZvLT5oZWlnaHQ7Ci0gICAgICAgICAgICAg ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkX3NhbXBsZV9yYXRlID0g Zm10X2luZm8tPnNhbXBsZV9yYXRlOwotICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRfc2Ft cGxlX3NpemUgPSBmbXRfaW5mby0+c2FtcGxlX3NpemU7Ci0gICAgICAgICAgICAgICAgICAgIHJl cXVlc3RlZF9jaGFubmVscyAgICA9IGZtdF9pbmZvLT5jaGFubmVsczsKLSAgICAgICAgICAgICAg ICB9Ci0gICAgICAgICAgICAgICAgYXZfZnJlZShmbXRfaW5mbyk7ICAvLyBmcmVlIGJ1dCBkb24n dCBzZXQgdG8gTlVMTCB0byBlbmFibGUgYmVsb3cgY2hlY2sKLSAgICAgICAgICAgIH0KKyAgICAg ICAgLy8gaW50ZXJyb2dhdGUgZGVmYXVsdCBmb3JtYXQsIHNvIHdlIGtub3cgd2hhdCB0byBzZWFy Y2ggZm9yIGJlbG93CisgICAgICAgIGZtdF9pbmZvID0gZHNob3dfZ2V0X2Zvcm1hdF9pbmZvKHR5 cGUpOworICAgICAgICBpZiAoZm10X2luZm8pIHsKKyAgICAgICAgICAgIGlmIChmbXRfaW5mby0+ ZGV2dHlwZSA9PSBWaWRlb0RldmljZSkgeworICAgICAgICAgICAgICAgIHJlcXVlc3RlZF92aWRl b19jb2RlY19pZCA9IGZtdF9pbmZvLT5jb2RlY19pZDsKKyAgICAgICAgICAgICAgICByZXF1ZXN0 ZWRfcGl4ZWxfZm9ybWF0ICAgPSBmbXRfaW5mby0+cGl4X2ZtdDsKKyAgICAgICAgICAgICAgICBy ZXF1ZXN0ZWRfZnJhbWVyYXRlICAgICAgPSBmbXRfaW5mby0+ZnJhbWVyYXRlOworICAgICAgICAg ICAgICAgIHJlcXVlc3RlZF93aWR0aCAgICAgICAgICA9IGZtdF9pbmZvLT53aWR0aDsKKyAgICAg ICAgICAgICAgICByZXF1ZXN0ZWRfaGVpZ2h0ICAgICAgICAgPSBmbXRfaW5mby0+aGVpZ2h0Owor ICAgICAgICAgICAgfSBlbHNlIGlmIChmbXRfaW5mby0+ZGV2dHlwZSA9PSBBdWRpb0RldmljZSkg eworICAgICAgICAgICAgICAgIHJlcXVlc3RlZF9zYW1wbGVfcmF0ZSA9IGZtdF9pbmZvLT5zYW1w bGVfcmF0ZTsKKyAgICAgICAgICAgICAgICByZXF1ZXN0ZWRfc2FtcGxlX3NpemUgPSBmbXRfaW5m by0+c2FtcGxlX3NpemU7CisgICAgICAgICAgICAgICAgcmVxdWVzdGVkX2NoYW5uZWxzICAgID0g Zm10X2luZm8tPmNoYW5uZWxzOworICAgICAgICAgICAgfSAvLyBWQkkganVzdCBpcyBpdHMgb3du IGRlZmF1bHQKKyAgICAgICAgICAgIGF2X2ZyZWUoZm10X2luZm8pOyAgLy8gZnJlZSBidXQgZG9u J3Qgc2V0IHRvIE5VTEwgdG8gZW5hYmxlIGJlbG93IGNoZWNrCisgICAgICAgIH0gLy8gZWxzZSBz b21lIHVua25vd24gZm9ybWF0CiAKLSAgICAgICAgICAgIGlmICh0eXBlICYmIHR5cGUtPnBiRm9y bWF0KQotICAgICAgICAgICAgICAgIENvVGFza01lbUZyZWUodHlwZS0+cGJGb3JtYXQpOwotICAg ICAgICAgICAgQ29UYXNrTWVtRnJlZSh0eXBlKTsKLSAgICAgICAgICAgIHR5cGUgPSBOVUxMOwot ICAgICAgICAgICAgaWYgKCFmbXRfaW5mbykKLSAgICAgICAgICAgICAgICAvLyBkZWZhdWx0IGZv cm1hdCBzb21laG93IGludmFsaWQsIGNhbid0IGNvbnRpbnVlIHdpdGggdGhpcyBwaW4KLSAgICAg ICAgICAgICAgICBnb3RvIGVuZDsKLSAgICAgICAgICAgIGZtdF9pbmZvID0gTlVMTDsKLSAgICAg ICAgfQorICAgICAgICBpZiAodHlwZS0+cGJGb3JtYXQpCisgICAgICAgICAgICBDb1Rhc2tNZW1G cmVlKHR5cGUtPnBiRm9ybWF0KTsKKyAgICAgICAgQ29UYXNrTWVtRnJlZSh0eXBlKTsKKyAgICAg ICAgdHlwZSA9IE5VTEw7CisgICAgICAgIGlmICghZm10X2luZm8pCisgICAgICAgICAgICAvLyBk ZWZhdWx0IGZvcm1hdCBzb21laG93IGludmFsaWQsIGNhbid0IGNvbnRpbnVlIHdpdGggdGhpcyBw aW4KKyAgICAgICAgICAgIGdvdG8gZW5kOworICAgICAgICBmbXRfaW5mbyA9IE5VTEw7CiAgICAg fQogCiAgICAgLy8gTkI6IHNvbWUgZGV2aWNlcyAoZS5nLiBMb2dpdGVjaCBDOTIwKSBleHBvc2Ug ZWFjaCB2aWRlbyBmb3JtYXQgdHdpY2U6CkBAIC04OTAsNyArOTE5LDYgQEAgZHNob3dfY3ljbGVf Zm9ybWF0cyhBVkZvcm1hdENvbnRleHQgKmF2Y3R4LCBlbnVtIGRzaG93RGV2aWNlVHlwZSBkZXZ0 eXBlLAogI2lmIERTSE9XREVCVUcKICAgICAgICAgZmZfcHJpbnRfQU1fTUVESUFfVFlQRSh0eXBl KTsKICNlbmRpZgotCiAgICAgICAgIGZtdF9pbmZvID0gZHNob3dfZ2V0X2Zvcm1hdF9pbmZvKHR5 cGUpOwogICAgICAgICBpZiAoIWZtdF9pbmZvKQogICAgICAgICAgICAgZ290byBuZXh0OwpAQCAt OTgyLDcgKzEwMTAsNyBAQCBkc2hvd19jeWNsZV9mb3JtYXRzKEFWRm9ybWF0Q29udGV4dCAqYXZj dHgsIGVudW0gZHNob3dEZXZpY2VUeXBlIGRldnR5cGUsCiAgICAgICAgICAgICAgICAgYmloLT5i aVdpZHRoICA9IHJlcXVlc3RlZF93aWR0aDsKICAgICAgICAgICAgICAgICBiaWgtPmJpSGVpZ2h0 ID0gcmVxdWVzdGVkX2hlaWdodDsKICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKKyAg ICAgICAgfSBlbHNlIGlmIChkZXZ0eXBlID09IEF1ZGlvRGV2aWNlKSB7CiAgICAgICAgICAgICBX QVZFRk9STUFURVggKmZ4OwogICAgICAgICAgICAgQVVESU9fU1RSRUFNX0NPTkZJR19DQVBTICph Y2FwcyA9IGNhcHM7CiAjaWYgRFNIT1dERUJVRwpAQCAtMTAwOSw3ICsxMDM3LDE1IEBAIGRzaG93 X2N5Y2xlX2Zvcm1hdHMoQVZGb3JtYXRDb250ZXh0ICphdmN0eCwgZW51bSBkc2hvd0RldmljZVR5 cGUgZGV2dHlwZSwKICAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgIGdvdG8gbmV4dDsK ICAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg Ly8gVkJJCisJICAgIGlmIChJc0VxdWFsR1VJRCgmdHlwZS0+bWFqb3J0eXBlLCAmTUVESUFUWVBF X1ZCSSkpIHsKKyAgICAgICAgICAgICAgICAvLyBzdWNjZXNzCisgICAgICAgICAgICB9IGVsc2Ug eworICAgICAgICAgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0lORk8sICJHb3QgdW5rbm93 biBWQkkgdHlwZT8gSWdub3JpbmcuLi4iKTsgLy8gc2hvdWxkbid0IGhhcHBlbgorICAgICAgICAg ICAgICAgIGdvdG8gbmV4dDsKKwkgICAgfQorCX0KIAogICAgICAgICAvLyBmb3VuZCBhIG1hdGNo aW5nIGZvcm1hdC4gRWl0aGVyIGFwcGx5IG9yIHN0b3JlCiAgICAgICAgIC8vIGZvciBzYWZla2Vl cGluZyBpZiB3ZSBtaWdodCBtYXliZSBmaW5kIGEgYmV0dGVyCkBAIC0xMDE4LDcgKzEwNTQsNyBA QCBkc2hvd19jeWNsZV9mb3JtYXRzKEFWRm9ybWF0Q29udGV4dCAqYXZjdHgsIGVudW0gZHNob3dE ZXZpY2VUeXBlIGRldnR5cGUsCiAgICAgICAgIGlmICghd2FpdF9mb3JfYmV0dGVyKSB7CiAgICAg ICAgICAgICBpZiAoSUFNU3RyZWFtQ29uZmlnX1NldEZvcm1hdChjb25maWcsIHR5cGUpICE9IFNf T0spCiAgICAgICAgICAgICAgICAgZ290byBuZXh0OwotICAgICAgICAgICAgZm9ybWF0X3NldCA9 IDE7CisgICAgICAgICAgICBmb3JtYXRfc2V0ID0gMTsgLy8gdGhpcyB3aWxsIGJyZWFrIG91dCBv ZiB0aGUgbG9vcCBub3cKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmICghcHJldmlvdXNfbWF0 Y2hfdHlwZSkgewogICAgICAgICAgICAgLy8gc3RvcmUgdGhpcyBtYXRjaGluZyBmb3JtYXQgZm9y IHBvc3NpYmxlIGxhdGVyIHVzZS4KQEAgLTEwMjgsNyArMTA2NCw3IEBAIGRzaG93X2N5Y2xlX2Zv cm1hdHMoQVZGb3JtYXRDb250ZXh0ICphdmN0eCwgZW51bSBkc2hvd0RldmljZVR5cGUgZGV2dHlw ZSwKICAgICAgICAgfQogbmV4dDoKICAgICAgICAgYXZfZnJlZXAoJmZtdF9pbmZvKTsKLSAgICAg ICAgaWYgKHR5cGUgJiYgdHlwZS0+cGJGb3JtYXQpCisgICAgICAgIGlmICh0eXBlLT5wYkZvcm1h dCkKICAgICAgICAgICAgIENvVGFza01lbUZyZWUodHlwZS0+cGJGb3JtYXQpOwogICAgICAgICBD b1Rhc2tNZW1GcmVlKHR5cGUpOwogICAgICAgICB0eXBlID0gTlVMTDsKQEAgLTEwNTEsMTIgKzEw ODcsMTQgQEAgbmV4dDoKICAgICAgICAgICAgIC8vIGluIHRoZSBjYXBhYmlsaXRpZXMgb2YgYW55 IG9mIHRoZSBmb3JtYXRzIHJldHVybmVkIGJ5IHRoZSBkZXZpY2UKICAgICAgICAgICAgIC8vIChz aWM/KS4gRmFsbCBiYWNrIHRvIGRpcmVjdGx5IHNldHRpbmcgdGhlIGRlZmF1bHQgZm9ybWF0CiAg ICAgICAgICAgICBkc2hvd19nZXRfZGVmYXVsdF9mb3JtYXQocGluLCBjb25maWcsIGRldnR5cGUs ICZ0eXBlKTsKLSAgICAgICAgICAgIGlmIChJQU1TdHJlYW1Db25maWdfU2V0Rm9ybWF0KGNvbmZp ZywgdHlwZSkgPT0gU19PSykKLSAgICAgICAgICAgICAgICBmb3JtYXRfc2V0ID0gMTsKLSAgICAg ICAgICAgIGlmICh0eXBlICYmIHR5cGUtPnBiRm9ybWF0KQotICAgICAgICAgICAgICAgIENvVGFz a01lbUZyZWUodHlwZS0+cGJGb3JtYXQpOwotICAgICAgICAgICAgQ29UYXNrTWVtRnJlZSh0eXBl KTsKLSAgICAgICAgICAgIHR5cGUgPSBOVUxMOworICAgICAgICAgICAgaWYgKHR5cGUpIHsKKwkg ICAgICAgIGlmIChJQU1TdHJlYW1Db25maWdfU2V0Rm9ybWF0KGNvbmZpZywgdHlwZSkgPT0gU19P SykKKyAgICAgICAgICAgICAgICAgICAgZm9ybWF0X3NldCA9IDE7CisgICAgICAgICAgICAgICAg aWYgKHR5cGUtPnBiRm9ybWF0KQorICAgICAgICAgICAgICAgICAgICBDb1Rhc2tNZW1GcmVlKHR5 cGUtPnBiRm9ybWF0KTsKKyAgICAgICAgICAgICAgICBDb1Rhc2tNZW1GcmVlKHR5cGUpOworICAg ICAgICAgICAgICAgIHR5cGUgPSBOVUxMOworCSAgICB9CiAgICAgICAgIH0KICAgICB9CiAKQEAg LTExNzgsOCArMTIxNiw5IEBAIGRzaG93X2N5Y2xlX3BpbnMoQVZGb3JtYXRDb250ZXh0ICphdmN0 eCwgZW51bSBkc2hvd0RldmljZVR5cGUgZGV2dHlwZSwKICAgICBJUGluICpwaW47CiAgICAgaW50 IHI7CiAKLSAgICBjb25zdCBjaGFyICpkZXZ0eXBlbmFtZSA9IChkZXZ0eXBlID09IFZpZGVvRGV2 aWNlKSA/ICJ2aWRlbyIgOiAiYXVkaW8gb25seSI7Ci0gICAgY29uc3QgY2hhciAqc291cmNldHlw ZW5hbWUgPSAoc291cmNldHlwZSA9PSBWaWRlb1NvdXJjZURldmljZSkgPyAidmlkZW8iIDogImF1 ZGlvIjsKKyAgICAvLyB3ZSBsb29rIGZvciBhdWRpbyBvbiB2aWRlbyBmaWx0ZXIgc291cmNlIGFz IGEgZmFsbGJhY2sgb24gb2NjYXNpb24sIGFuZCBWQkkgb24gdmlkZW8gYWx3YXlzLi4uCisgICAg Y29uc3QgY2hhciAqZGV2dHlwZW5hbWUgPSAoZGV2dHlwZSA9PSBWaWRlb0RldmljZSkgPyAidmlk ZW8iIDogKGRldnR5cGUgPT0gQXVkaW9EZXZpY2UpID8gImF1ZGlvIiA6ICJWQkkiOworICAgIGNv bnN0IGNoYXIgKnNvdXJjZXR5cGVuYW1lID0gKHNvdXJjZXR5cGUgPT0gVmlkZW9Tb3VyY2VEZXZp Y2UpID8gInZpZGVvIiA6ICJhdWRpbyBvbmx5IjsKIAogICAgIGludCBzZXRfZm9ybWF0ID0gZHNo b3dfc2hvdWxkX3NldF9mb3JtYXQoYXZjdHgsIGRldnR5cGUpOwogICAgIGludCBmb3JtYXRfc2V0 ID0gMDsKQEAgLTEyMTksNyArMTI1OCw3IEBAIGRzaG93X2N5Y2xlX3BpbnMoQVZGb3JtYXRDb250 ZXh0ICphdmN0eCwgZW51bSBkc2hvd0RldmljZVR5cGUgZGV2dHlwZSwKICAgICAgICAgaWYgKElL c1Byb3BlcnR5U2V0X0dldChwLCAmQU1QUk9QU0VUSURfUGluLCBBTVBST1BFUlRZX1BJTl9DQVRF R09SWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLCAmY2F0ZWdvcnks IHNpemVvZihHVUlEKSwgJnIyKSAhPSBTX09LKQogICAgICAgICAgICAgZ290byBuZXh0OwotICAg ICAgICBpZiAoIUlzRXF1YWxHVUlEKCZjYXRlZ29yeSwgJlBJTl9DQVRFR09SWV9DQVBUVVJFKSkK KyAgICAgICAgaWYgKCFJc0VxdWFsR1VJRCgmY2F0ZWdvcnksICZQSU5fQ0FURUdPUllfQ0FQVFVS RSkgJiYgIUlzRXF1YWxHVUlEKCZjYXRlZ29yeSwgJlBJTl9DQVRFR09SWV9WQkkpKQogICAgICAg ICAgICAgZ290byBuZXh0OwogICAgICAgICBuYW1lX2J1ZiA9IGR1cF93Y2hhcl90b191dGY4KGlu Zm8uYWNoTmFtZSk7CiAKQEAgLTEzMzAsMTAgKzEzNjksOSBAQCBkc2hvd19vcGVuX2RldmljZShB VkZvcm1hdENvbnRleHQgKmF2Y3R4LCBJQ3JlYXRlRGV2RW51bSAqZGV2ZW51bSwKICAgICBJU3Ry ZWFtICppZmlsZV9zdHJlYW0gPSBOVUxMOwogICAgIElTdHJlYW0gKm9maWxlX3N0cmVhbSA9IE5V TEw7CiAgICAgSVBlcnNpc3RTdHJlYW0gKnBlcnNfc3RyZWFtID0gTlVMTDsKLSAgICBlbnVtIGRz aG93RGV2aWNlVHlwZSBvdGhlckRldlR5cGUgPSAoZGV2dHlwZSA9PSBWaWRlb0RldmljZSkgPyBB dWRpb0RldmljZSA6IFZpZGVvRGV2aWNlOwotCi0gICAgY29uc3Qgd2NoYXJfdCAqZmlsdGVyX25h bWVbMl0gPSB7IEwiQXVkaW8gY2FwdHVyZSBmaWx0ZXIiLCBMIlZpZGVvIGNhcHR1cmUgZmlsdGVy IiB9OworICAgIGVudW0gZHNob3dEZXZpY2VUeXBlIGFsbF9kZXZpY2VfdHlwZXNbM10gPSB7Vmlk ZW9EZXZpY2UsIEF1ZGlvRGV2aWNlLCBDbG9zZWRDYXB0aW9uRGV2aWNlfTsKIAorICAgIGNvbnN0 IHdjaGFyX3QgKmZpbHRlcl9uYW1lWzNdID0geyBMIkF1ZGlvIGZmbXBlZyBjYXB0dXJlIGZpbHRl ciIsIEwiVmlkZW8gZmZtcGVnIGNhcHR1cmUgZmlsdGVyIiwgTCJWQkkgZmZtcGVnIGNhcHR1cmUg ZmlsdGVyIiB9OwogCiAgICAgaWYgKCAoKGN0eC0+YXVkaW9fZmlsdGVyX2xvYWRfZmlsZSkgJiYg KHN0cmxlbihjdHgtPmF1ZGlvX2ZpbHRlcl9sb2FkX2ZpbGUpPjApICYmIChzb3VyY2V0eXBlID09 IEF1ZGlvU291cmNlRGV2aWNlKSkgfHwKICAgICAgICAgICAgICgoY3R4LT52aWRlb19maWx0ZXJf bG9hZF9maWxlKSAmJiAoc3RybGVuKGN0eC0+dmlkZW9fZmlsdGVyX2xvYWRfZmlsZSk+MCkgJiYg KHNvdXJjZXR5cGUgPT0gVmlkZW9Tb3VyY2VEZXZpY2UpKSApIHsKQEAgLTEzNjksMTYgKzE0MDcs MjMgQEAgZHNob3dfb3Blbl9kZXZpY2UoQVZGb3JtYXRDb250ZXh0ICphdmN0eCwgSUNyZWF0ZURl dkVudW0gKmRldmVudW0sCiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9CiAgICAg fQotICAgICAgICBpZiAoY3R4LT5kZXZpY2VfZmlsdGVyW290aGVyRGV2VHlwZV0pIHsKLSAgICAg ICAgLy8gYXZvaWQgYWRkaW5nIGFkZCB0d28gaW5zdGFuY2VzIG9mIHRoZSBzYW1lIGRldmljZSB0 byB0aGUgZ3JhcGgsIG9uZSBmb3IgdmlkZW8sIG9uZSBmb3IgYXVkaW8KLSAgICAgICAgLy8gYSBm ZXcgZGV2aWNlcyBkb24ndCBzdXBwb3J0IHRoaXMgKGNvdWxkIGFsc28gZG8gdGhpcyBjaGVjayBl YXJsaWVyIHRvIGF2b2lkIGRvdWJsZSBjcm9zc2JhcnMsIGV0Yy4gYnV0IHRoZXkgc2VlbSBPSykK LSAgICAgICAgaWYgKHN0cmNtcChkZXZpY2VfZmlsdGVyX3VuaXF1ZV9uYW1lLCBjdHgtPmRldmlj ZV91bmlxdWVfbmFtZVtvdGhlckRldlR5cGVdKSA9PSAwKSB7Ci0gICAgICAgICAgYXZfbG9nKGF2 Y3R4LCBBVl9MT0dfREVCVUcsICJyZXVzaW5nIHByZXZpb3VzIGdyYXBoIGNhcHR1cmUgZmlsdGVy Li4uICVzXG4iLCBkZXZpY2VfZmlsdGVyX3VuaXF1ZV9uYW1lKTsKLSAgICAgICAgICBJQmFzZUZp bHRlcl9SZWxlYXNlKGRldmljZV9maWx0ZXIpOwotICAgICAgICAgIGRldmljZV9maWx0ZXIgPSBj dHgtPmRldmljZV9maWx0ZXJbb3RoZXJEZXZUeXBlXTsKLSAgICAgICAgICBJQmFzZUZpbHRlcl9B ZGRSZWYoY3R4LT5kZXZpY2VfZmlsdGVyW290aGVyRGV2VHlwZV0pOwotICAgICAgICB9IGVsc2Ug ewotICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfREVCVUcsICJub3QgcmV1c2luZyBw cmV2aW91cyBncmFwaCBjYXB0dXJlIGZpbHRlciAlcyAhPSAlc1xuIiwgZGV2aWNlX2ZpbHRlcl91 bmlxdWVfbmFtZSwgY3R4LT5kZXZpY2VfdW5pcXVlX25hbWVbb3RoZXJEZXZUeXBlXSk7CisgICAg Zm9yIChpbnQgaSA9IDA7IGkgPCBzaXplb2YoYWxsX2RldmljZV90eXBlcykgLyBzaXplb2YoYWxs X2RldmljZV90eXBlc1swXSk7IGkrKykgeworICAgICAgICBlbnVtIGRzaG93RGV2aWNlVHlwZSBj YW5kaWRhdGUgPSBhbGxfZGV2aWNlX3R5cGVzW2ldOworICAgICAgICBpZiAoY2FuZGlkYXRlID09 IGRldnR5cGUpIHsKKyAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBvdXJzZWxmIGhhc24ndCBhZGRl ZCBvbmUgeWV0LCBza2lwCisgICAgICAgIH0KKyAgICAgICAgaWYgKGN0eC0+ZGV2aWNlX2ZpbHRl cltjYW5kaWRhdGVdKSB7CisgICAgICAgICAgICAvLyBhdm9pZCBhZGRpbmcgYWRkIHR3byBpbnN0 YW5jZXMgb2YgdGhlIHNhbWUgZGV2aWNlIHRvIHRoZSBncmFwaCwgb25lIGZvciB2aWRlbywgb25l IGZvciBhdWRpbworICAgICAgICAgICAgLy8gYSBmZXcgZGV2aWNlcyBkb24ndCBzdXBwb3J0IHRo aXMgKGNvdWxkIGFsc28gZG8gdGhpcyBjaGVjayBlYXJsaWVyIHRvIGF2b2lkIGRvdWJsZSBjcm9z c2JhcnMsIGV0Yy4gYnV0IHRoZXkgc2VlbSBPSykKKyAgICAgICAgICAgIGlmIChzdHJjbXAoZGV2 aWNlX2ZpbHRlcl91bmlxdWVfbmFtZSwgY3R4LT5kZXZpY2VfdW5pcXVlX25hbWVbY2FuZGlkYXRl XSkgPT0gMCkgeworICAgICAgICAgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0RFQlVHLCAi cmV1c2luZyBwcmV2aW91cyBncmFwaCBjYXB0dXJlIGZpbHRlci4uLiAlc1xuIiwgZGV2aWNlX2Zp bHRlcl91bmlxdWVfbmFtZSk7CisgICAgICAgICAgICAgICAgSUJhc2VGaWx0ZXJfUmVsZWFzZShk ZXZpY2VfZmlsdGVyKTsKKyAgICAgICAgICAgICAgICBkZXZpY2VfZmlsdGVyID0gY3R4LT5kZXZp Y2VfZmlsdGVyW2NhbmRpZGF0ZV07CisgICAgICAgICAgICAgICAgSUJhc2VGaWx0ZXJfQWRkUmVm KGN0eC0+ZGV2aWNlX2ZpbHRlcltjYW5kaWRhdGVdKTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg ICAgICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfREVCVUcsICJub3QgcmV1c2luZyBw cmV2aW91cyBncmFwaCBjYXB0dXJlIGZpbHRlciAlcyAhPSAlc1xuIiwgZGV2aWNlX2ZpbHRlcl91 bmlxdWVfbmFtZSwgY3R4LT5kZXZpY2VfdW5pcXVlX25hbWVbY2FuZGlkYXRlXSk7CisgICAgICAg ICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTU0OCw2 ICsxNTkzLDcgQEAgZHNob3dfYWRkX2RldmljZShBVkZvcm1hdENvbnRleHQgKmF2Y3R4LAogICAg IGZmX2RzaG93X3Bpbl9Db25uZWN0aW9uTWVkaWFUeXBlKGN0eC0+Y2FwdHVyZV9waW5bZGV2dHlw ZV0sICZ0eXBlKTsKICAgICBmbXRfaW5mbyA9IGRzaG93X2dldF9mb3JtYXRfaW5mbygmdHlwZSk7 CiAgICAgaWYgKCFmbXRfaW5mbykgeworICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJP UiwgIkNvdWxkIG5vdCBwYXJzZSBwaW4ncyBtZWRpYSB0eXBlIGZvcm1hdD9cbiIpOwogICAgICAg ICByZXQgPSBBVkVSUk9SKEVJTyk7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQpAQCAtMTYx MSw3ICsxNjU3LDcgQEAgZHNob3dfYWRkX2RldmljZShBVkZvcm1hdENvbnRleHQgKmF2Y3R4LAog ICAgICAgICAgICAgfQogICAgICAgICAgICAgcGFyLT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUgPSBi aWgtPmJpQml0Q291bnQ7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgeworICAgIH0gZWxzZSBpZiAo ZGV2dHlwZSA9PSBBdWRpb0RldmljZSkgewogICAgICAgICBpZiAoIUlzRXF1YWxHVUlEKCZ0eXBl LmZvcm1hdHR5cGUsICZGT1JNQVRfV2F2ZUZvcm1hdEV4KSkgewogICAgICAgICAgICAgYXZfbG9n KGF2Y3R4LCBBVl9MT0dfRVJST1IsICJDb3VsZCBub3QgZ2V0IG1lZGlhIHR5cGUuXG4iKTsKICAg ICAgICAgICAgIGdvdG8gZXJyb3I7CkBAIC0xNjIyLDYgKzE2NjgsMTAgQEAgZHNob3dfYWRkX2Rl dmljZShBVkZvcm1hdENvbnRleHQgKmF2Y3R4LAogICAgICAgICBwYXItPmNvZGVjX2lkICAgID0g d2F2ZWZvcm1fY29kZWNfaWQocGFyLT5mb3JtYXQpOwogICAgICAgICBwYXItPnNhbXBsZV9yYXRl ID0gZm10X2luZm8tPnNhbXBsZV9yYXRlOwogICAgICAgICBwYXItPmNoX2xheW91dC5uYl9jaGFu bmVscyA9IGZtdF9pbmZvLT5jaGFubmVsczsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyB2YmkK KyAgICAgICAgcGFyLT5jb2RlY190eXBlICA9IEFWTUVESUFfVFlQRV9TVUJUSVRMRTsKKyAgICAg ICAgcGFyLT5jb2RlY19pZCAgICA9IEFWX0NPREVDX0lEX0VJQV82MDhfQllURV9QQUlSUzsKICAg ICB9CiAKICAgICBhdnByaXZfc2V0X3B0c19pbmZvKHN0LCA2NCwgMSwgMTAwMDAwMDApOwpAQCAt MTY0OCwyNCArMTY5OCwyOSBAQCBzdGF0aWMgaW50IHBhcnNlX2RldmljZV9uYW1lKEFWRm9ybWF0 Q29udGV4dCAqYXZjdHgpCiAgICAgICAgIGNoYXIgKnRva2VuID0gc3RydG9rKE5VTEwsICI6Iik7 CiAgICAgICAgIHRtcCA9IE5VTEw7CiAKLSAgICAgICAgaWYgICAgICAgICghc3RyY21wKHR5cGUs ICJ2aWRlbyIpKSB7CisgICAgICAgIGlmICghc3RyY21wKHR5cGUsICJ2aWRlbyIpKSB7CiAgICAg ICAgICAgICBkZXZpY2VfbmFtZVswXSA9IHRva2VuOwogICAgICAgICB9IGVsc2UgaWYgKCFzdHJj bXAodHlwZSwgImF1ZGlvIikpIHsKICAgICAgICAgICAgIGRldmljZV9uYW1lWzFdID0gdG9rZW47 CisgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcCh0eXBlLCAiY2xvc2VkX2NhcHRpb24iKSkgewor ICAgICAgICAgICAgZGV2aWNlX25hbWVbMl0gPSB0b2tlbjsKICAgICAgICAgfSBlbHNlIHsKICAg ICAgICAgICAgIGRldmljZV9uYW1lWzBdID0gTlVMTDsKICAgICAgICAgICAgIGRldmljZV9uYW1l WzFdID0gTlVMTDsKKyAgICAgICAgICAgIGRldmljZV9uYW1lWzJdID0gTlVMTDsKICAgICAgICAg ICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCFkZXZpY2VfbmFtZVswXSAm JiAhZGV2aWNlX25hbWVbMV0pIHsKKyAgICBpZiAoIWRldmljZV9uYW1lWzBdICYmICFkZXZpY2Vf bmFtZVsxXSAmJiAhZGV2aWNlX25hbWVbMl0pIHsKICAgICAgICAgcmV0ID0gMDsKICAgICB9IGVs c2UgewogICAgICAgICBpZiAoZGV2aWNlX25hbWVbMF0pCiAgICAgICAgICAgICBkZXZpY2VfbmFt ZVswXSA9IGF2X3N0cmR1cChkZXZpY2VfbmFtZVswXSk7CiAgICAgICAgIGlmIChkZXZpY2VfbmFt ZVsxXSkKICAgICAgICAgICAgIGRldmljZV9uYW1lWzFdID0gYXZfc3RyZHVwKGRldmljZV9uYW1l WzFdKTsKKyAgICAgICAgaWYgKGRldmljZV9uYW1lWzJdKQorICAgICAgICAgICAgZGV2aWNlX25h bWVbMl0gPSBhdl9zdHJkdXAoZGV2aWNlX25hbWVbMl0pOwogICAgIH0KIAogICAgIGF2X2ZyZWUo bmFtZSk7CkBAIC0xNzQ1LDYgKzE4MDAsMTIgQEAgc3RhdGljIGludCBkc2hvd19yZWFkX2hlYWRl cihBVkZvcm1hdENvbnRleHQgKmF2Y3R4KQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg IH0KICAgICAgICAgfQorICAgICAgICBpZiAoY3R4LT5kZXZpY2VfbmFtZVtDbG9zZWRDYXB0aW9u RGV2aWNlXSkgeworICAgICAgICAgICAgaWYgKChyID0gZHNob3dfbGlzdF9kZXZpY2Vfb3B0aW9u cyhhdmN0eCwgZGV2ZW51bSwgQ2xvc2VkQ2FwdGlvbkRldmljZSwgVmlkZW9Tb3VyY2VEZXZpY2Up KSkgeworICAgICAgICAgICAgICAgIHJldCA9IHI7CisgICAgICAgICAgICAgICAgZ290byBlcnJv cjsKKyAgICAgICAgICAgIH0KKwl9CiAgICAgICAgIC8vIGRvbid0IGV4aXQgeWV0LCBhbGxvdyBp dCB0byBsaXN0IGNyb3NzYmFyIG9wdGlvbnMgaW4gZHNob3dfb3Blbl9kZXZpY2UKICAgICB9CiAg ICAgaWYgKGN0eC0+ZGV2aWNlX25hbWVbVmlkZW9EZXZpY2VdKSB7CkBAIC0xNzYxLDExICsxODIy LDE5IEBAIHN0YXRpYyBpbnQgZHNob3dfcmVhZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICphdmN0 eCkKICAgICAgICAgICAgIC8qIHNlZSBpZiB0aGVyZSdzIGEgdmlkZW8gc291cmNlIHdpdGggYW4g YXVkaW8gcGluIHdpdGggdGhlIGdpdmVuIGF1ZGlvIG5hbWUgKi8KICAgICAgICAgICAgIGlmICgo ciA9IGRzaG93X29wZW5fZGV2aWNlKGF2Y3R4LCBkZXZlbnVtLCBBdWRpb0RldmljZSwgVmlkZW9T b3VyY2VEZXZpY2UpKSA8IDAgfHwKICAgICAgICAgICAgICAgICAociA9IGRzaG93X2FkZF9kZXZp Y2UoYXZjdHgsIEF1ZGlvRGV2aWNlKSkgPCAwKSB7CisgICAgICAgICAgICAgICAgYXZfbG9nKGF2 Y3R4LCBBVl9MT0dfSU5GTywgImZhaWwgYXVkaW8gZGV2aWNlIHdpdGhpbiB2aWRlbyBkZXZpY2Vz IGZvciAlc1xuIiwgY3R4LT5kZXZpY2VfbmFtZVtBdWRpb0RldmljZV0pOwogICAgICAgICAgICAg ICAgIHJldCA9IHI7CiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIH0K ICAgICAgICAgfQogICAgIH0KKyAgICBpZiAoY3R4LT5kZXZpY2VfbmFtZVtDbG9zZWRDYXB0aW9u RGV2aWNlXSkgeworICAgICAgICBpZiAoKHIgPSBkc2hvd19vcGVuX2RldmljZShhdmN0eCwgZGV2 ZW51bSwgQ2xvc2VkQ2FwdGlvbkRldmljZSwgVmlkZW9Tb3VyY2VEZXZpY2UpKSA8IDAgfHwKKyAg ICAgICAgICAgIChyID0gZHNob3dfYWRkX2RldmljZShhdmN0eCwgQ2xvc2VkQ2FwdGlvbkRldmlj ZSkpIDwgMCkgeworICAgICAgICAgICAgcmV0ID0gcjsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7 CisgICAgICAgIH0KKyAgICB9CiAgICAgaWYgKGN0eC0+bGlzdF9vcHRpb25zKSB7CiAgICAgICAg IC8qIGFsbG93IGl0IHRvIGxpc3QgY3Jvc3NiYXIgb3B0aW9ucyBpbiBkc2hvd19vcGVuX2Rldmlj ZSAqLwogICAgICAgICByZXQgPSBBVkVSUk9SX0VYSVQ7CkBAIC0xODgwLDcgKzE5NDksOSBAQCBz dGF0aWMgaW50IGRzaG93X3JlYWRfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywgQVZQYWNrZXQg KnBrdCkKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KLQorICAgIGlmIChwa3QpIHsK KyAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19ERUJVRywgInBhc3NpbmcgdG8gcGlwZWxpbmUgcGFj a2V0IG9mIHNpemUgJThkXG4iLCBwa3QtPnNpemUpOworICAgIH0KICAgICByZXR1cm4gY3R4LT5l b2YgPyBBVkVSUk9SKEVJTykgOiBwa3QtPnNpemU7CiB9CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZGV2 aWNlL2RzaG93X2NhcHR1cmUuaCBiL2xpYmF2ZGV2aWNlL2RzaG93X2NhcHR1cmUuaAppbmRleCBi NTQ4Y2Q3YWZjLi40OTRmNzBjNzg0IDEwMDY0NAotLS0gYS9saWJhdmRldmljZS9kc2hvd19jYXB0 dXJlLmgKKysrIGIvbGliYXZkZXZpY2UvZHNob3dfY2FwdHVyZS5oCkBAIC02Miw4ICs2MiwxMCBA QCBzdHJ1Y3QgR1VJRG9mZnNldCB7CiBlbnVtIGRzaG93RGV2aWNlVHlwZSB7CiAgICAgVmlkZW9E ZXZpY2UgPSAwLAogICAgIEF1ZGlvRGV2aWNlID0gMSwKKyAgICBDbG9zZWRDYXB0aW9uRGV2aWNl ID0gMiwKIH07CiAKKy8vIFdlIHNvbWV0aW1lcyB3YW50ICJzb21ldGhpbmcgYmVzaWRlcyB2aWRl byBmcm9tIGEgdmlkZW8gc291cmNlIGRldmljZSIgZXRjLiBidXQgZGlmZmVyZW50aWF0ZSB0aGlz IHdheToKIGVudW0gZHNob3dTb3VyY2VGaWx0ZXJUeXBlIHsKICAgICBWaWRlb1NvdXJjZURldmlj ZSA9IDAsCiAgICAgQXVkaW9Tb3VyY2VEZXZpY2UgPSAxLApAQCAtMjg5LDggKzI5MSw4IEBAIHN0 cnVjdCBkc2hvd19jdHggewogCiAgICAgSUdyYXBoQnVpbGRlciAqZ3JhcGg7CiAKLSAgICBjaGFy ICpkZXZpY2VfbmFtZVsyXTsKLSAgICBjaGFyICpkZXZpY2VfdW5pcXVlX25hbWVbMl07CisgICAg Y2hhciAqZGV2aWNlX25hbWVbM107CisgICAgY2hhciAqZGV2aWNlX3VuaXF1ZV9uYW1lWzNdOwog CiAgICAgaW50IHZpZGVvX2RldmljZV9udW1iZXI7CiAgICAgaW50IGF1ZGlvX2RldmljZV9udW1i ZXI7CkBAIC0zMTQsMTAgKzMxNiwxMCBAQCBzdHJ1Y3QgZHNob3dfY3R4IHsKICAgICBjaGFyICp2 aWRlb19maWx0ZXJfc2F2ZV9maWxlOwogICAgIGludCAgIHVzZV92aWRlb19kZXZpY2VfdGltZXN0 YW1wczsKIAotICAgIElCYXNlRmlsdGVyICpkZXZpY2VfZmlsdGVyWzJdOwotICAgIElQaW4gICAg ICAgICpkZXZpY2VfcGluWzJdOwotICAgIERTaG93RmlsdGVyICpjYXB0dXJlX2ZpbHRlclsyXTsK LSAgICBEU2hvd1BpbiAgICAqY2FwdHVyZV9waW5bMl07CisgICAgSUJhc2VGaWx0ZXIgKmRldmlj ZV9maWx0ZXJbM107CisgICAgSVBpbiAgICAgICAgKmRldmljZV9waW5bM107CisgICAgRFNob3dG aWx0ZXIgKmNhcHR1cmVfZmlsdGVyWzNdOworICAgIERTaG93UGluICAgICpjYXB0dXJlX3Bpblsz XTsKIAogICAgIEhBTkRMRSBtdXRleDsKICAgICBIQU5ETEUgZXZlbnRbMl07IC8qIGV2ZW50WzBd IGlzIHNldCBieSBEaXJlY3RTaG93CkBAIC0zMjYsNyArMzI4LDcgQEAgc3RydWN0IGRzaG93X2N0 eCB7CiAKICAgICBpbnQgZW9mOwogCi0gICAgaW50NjRfdCBjdXJidWZzaXplWzJdOworICAgIGlu dDY0X3QgY3VyYnVmc2l6ZVszXTsKICAgICB1bnNpZ25lZCBpbnQgdmlkZW9fZnJhbWVfbnVtOwog CiAgICAgSU1lZGlhQ29udHJvbCAqY29udHJvbDsKQEAgLTM1Myw0ICszNTUsNSBAQCBIUkVTVUxU IGZmX2RzaG93X3RyeV9zZXR1cF9jcm9zc2Jhcl9vcHRpb25zKElDYXB0dXJlR3JhcGhCdWlsZGVy MiAqZ3JhcGhfYnVpbGRlcgogCiB2b2lkIGZmX2RzaG93X3Nob3dfZmlsdGVyX3Byb3BlcnRpZXMo SUJhc2VGaWx0ZXIgKnBGaWx0ZXIsIEFWRm9ybWF0Q29udGV4dCAqYXZjdHgpOwogCisKICNlbmRp ZiAvKiBBVkRFVklDRV9EU0hPV19DQVBUVVJFX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmF2ZGV2aWNl L2RzaG93X3Bpbi5jIGIvbGliYXZkZXZpY2UvZHNob3dfcGluLmMKaW5kZXggZjg0NmI2ODkxOC4u ZjZjOGYwNTQ4MiAxMDA2NDQKLS0tIGEvbGliYXZkZXZpY2UvZHNob3dfcGluLmMKKysrIGIvbGli YXZkZXZpY2UvZHNob3dfcGluLmMKQEAgLTUwLDkgKzUwLDE3IEBAIGxvbmcgV0lOQVBJIGZmX2Rz aG93X3Bpbl9SZWNlaXZlQ29ubmVjdGlvbihEU2hvd1BpbiAqdGhpcywgSVBpbiAqcGluLAogICAg IGlmIChkZXZ0eXBlID09IFZpZGVvRGV2aWNlKSB7CiAgICAgICAgIGlmICghSXNFcXVhbEdVSUQo JnR5cGUtPm1ham9ydHlwZSwgJk1FRElBVFlQRV9WaWRlbykpCiAgICAgICAgICAgICByZXR1cm4g VkZXX0VfVFlQRV9OT1RfQUNDRVBURUQ7Ci0gICAgfSBlbHNlIHsKKyAgICB9IGVsc2UgaWYgKGRl dnR5cGUgPT0gQXVkaW9EZXZpY2UpIHsKICAgICAgICAgaWYgKCFJc0VxdWFsR1VJRCgmdHlwZS0+ bWFqb3J0eXBlLCAmTUVESUFUWVBFX0F1ZGlvKSkKICAgICAgICAgICAgIHJldHVybiBWRldfRV9U WVBFX05PVF9BQ0NFUFRFRDsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBWQkk6IG9ubHkgYWNj ZXB0ICJMaW5lMjEgYnl0ZSBwYWlycyIgW3doaWNoIGZvcmNlcyBhbiBpbnRlcm1lZGlhcnkgZmls dGVyIHRvIGNvbnZlcnQgZnJvbQorICAgICAgICAvLyBGT1JNQVRfVkJJIHRvIGJ5dGUgcGFpcnMg d2hpY2ggYXJlIGVhc2llciB0byBwYXJzZSBieSB0aGUgZGVjb2Rlcl0KKyAgICAgICAgaWYgKElz RXF1YWxHVUlEKCZ0eXBlLT5tYWpvcnR5cGUsICZNRURJQVRZUEVfQVVYTGluZTIxRGF0YSkgJiYg SXNFcXVhbEdVSUQoJnR5cGUtPnN1YnR5cGUsICZNRURJQVNVQlRZUEVfTGluZTIxX0J5dGVQYWly ICkpIHsKKyAgICAgICAgICAgIC8vIHN1Y2Nlc3MKKwl9IGVsc2UgeworICAgICAgICAgICAgcmV0 dXJuIFZGV19FX1RZUEVfTk9UX0FDQ0VQVEVEOworCX0KICAgICB9CiAKICAgICBJUGluX0FkZFJl ZihwaW4pOwpAQCAtMjk5LDcgKzMwNyw3IEBAIGxvbmcgV0lOQVBJIGZmX2RzaG93X21lbWlucHV0 cGluX1JlY2VpdmUoRFNob3dNZW1JbnB1dFBpbiAqdGhpcywgSU1lZGlhU2FtcGxlICpzCiAgICAg aW50NjRfdCBzYW1wbGV0aW1lID0gMDsKICAgICBpbnQ2NF90IGdyYXBodGltZSA9IDA7CiAgICAg aW50IHVzZV9zYW1wbGVfdGltZSA9IDE7Ci0gICAgY29uc3QgY2hhciAqZGV2dHlwZW5hbWUgPSAo ZGV2dHlwZSA9PSBWaWRlb0RldmljZSkgPyAidmlkZW8iIDogImF1ZGlvIjsKKyAgICBjb25zdCBj aGFyICpkZXZ0eXBlbmFtZSA9IChkZXZ0eXBlID09IFZpZGVvRGV2aWNlKSA/ICJ2aWRlbyIgOiAo ZGV2dHlwZSA9PSBBdWRpb0RldmljZSkgPyAiYXVkaW8iIDogIlZCSSI7CiAgICAgSVJlZmVyZW5j ZUNsb2NrICpjbG9jayA9IHBpbi0+ZmlsdGVyLT5jbG9jazsKICAgICBpbnQ2NF90IGR1bW15Owog ICAgIHN0cnVjdCBkc2hvd19jdHggKmN0eDsKQEAgLTM0Nyw3ICszNTUsNyBAQCBsb25nIFdJTkFQ SSBmZl9kc2hvd19tZW1pbnB1dHBpbl9SZWNlaXZlKERTaG93TWVtSW5wdXRQaW4gKnRoaXMsIElN ZWRpYVNhbXBsZSAqcwogICAgIElNZWRpYVNhbXBsZV9HZXRQb2ludGVyKHNhbXBsZSwgJmJ1Zik7 CiAgICAgaW5kZXggPSBwaW4tPmZpbHRlci0+c3RyZWFtX2luZGV4OwogCi0gICAgYXZfbG9nKHMs IEFWX0xPR19WRVJCT1NFLCAicGFzc2luZyB0aHJvdWdoIHBhY2tldCBvZiB0eXBlICVzIHNpemUg JThkICIKKyAgICBhdl9sb2cocywgQVZfTE9HX1ZFUkJPU0UsICJjYXB0dXJlZCBwYWNrZXQgb2Yg dHlwZSAlcyBzaXplICU4ZCAiCiAgICAgICAgICJ0aW1lc3RhbXAgJSJQUklkNjQiIG9yaWcgdGlt ZXN0YW1wICUiUFJJZDY0IiBncmFwaCB0aW1lc3RhbXAgJSJQUklkNjQiIGRpZmYgJSJQUklkNjQi ICVzXG4iLAogICAgICAgICBkZXZ0eXBlbmFtZSwgYnVmX3NpemUsIGNob3NlbnRpbWUsIHNhbXBs ZXRpbWUsIGdyYXBodGltZSwgZ3JhcGh0aW1lIC0gc2FtcGxldGltZSwgY3R4LT5kZXZpY2VfbmFt ZVtkZXZ0eXBlXSk7CiAgICAgcGluLT5maWx0ZXItPmNhbGxiYWNrKHByaXZfZGF0YSwgaW5kZXgs IGJ1ZiwgYnVmX3NpemUsIGNob3NlbnRpbWUsIGRldnR5cGUpOwotLSAKMi4xNy4xCgo= --0000000000005a6a0905fe850907 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --0000000000005a6a0905fe850907--