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 BA6E445425 for ; Sun, 29 Jan 2023 12:00:38 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5ED5768BC80; Sun, 29 Jan 2023 14:00:34 +0200 (EET) Received: from mail-vs1-f43.google.com (mail-vs1-f43.google.com [209.85.217.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D6E7968B213 for ; Sun, 29 Jan 2023 14:00:27 +0200 (EET) Received: by mail-vs1-f43.google.com with SMTP id k6so9802257vsk.1 for ; Sun, 29 Jan 2023 04:00:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=lUhLNTqvdj98QWI5BNQ3p4jMZCsrlW4X85DC2D/bbyg=; b=dw1PlyxWsKQRhC259YnHb9N7AQo+Ja4b/pQ5YIEaAOKppISJk5Q2ViW5JiuHfZOBNd m2HGjI15z70euPN5vT8bVxpgtCmOQbnwE5/i5OiLgDX6gELhV9Zb5KElIgI75wCy9P+m Ss2ADIcwAj709e8dhud+sFk0WlH0tzc9naU2gCoLGe7w83zSW6XmJdAry0v703B7s8Gr 2erQoBdhuLNBtF6ALk+3WbA2+vr3wO1VCenS4v1KeEbaEUM+8k4Yp4MhfZK+7QDJuUyI NtFBPqsj6ijx3DY5dqu2jNqHwGzfuO9sljx37uXdbw0WOni3/Dtslj+7oEuEmbPhA8tt kRPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=lUhLNTqvdj98QWI5BNQ3p4jMZCsrlW4X85DC2D/bbyg=; b=2n6fRw85d5vNYlh8frAge+M1jVQXjSPT4eFB815Y16Y91LNXexffYrFUa7+PwqJv8p G1zrP4l6oRRIbO0Kaf+cpGl2ntVWqOMtSblclwa/mA31+X6Z4qmMuwhrRIj0o8qSMT+l juBELSZReWszjn4Hi8xH3+MCsWLIEoy/BoJJ+x6KH4qKCtRG2rPccOu3ypC5ir2xIywy UgFNLqm+IFmqYPPVKn0h6XrbQ/jaYmz1hBlObCo72ST7JjCz6rB0TxiSo7bsKEZcQEex jpsk8KoyvWp5usuaQsFRw+YSIBt5tj4t+iMRO6wMkZQl4C9BivkxH5fCK1uUq8SXfe2e XQ/w== X-Gm-Message-State: AO0yUKX6DZ9rLY2fRGHnTFP/ueLYfWyDhSaxJJQgLVaIK4J3arh+9A/L a3MWcm25omA9XpDLDN/FtZYwCCBulBZYjeWvoczV56IP X-Google-Smtp-Source: AK7set/7gAAICpQAwpxl49DAz04kLqcPv3CaIhFFzsfjbJlQ7fhGGQHVtiwb4lgJiV8dCvbqebBTIw9XoP52QQefHIY= X-Received: by 2002:a05:6102:3550:b0:3f1:7158:eebd with SMTP id e16-20020a056102355000b003f17158eebdmr631951vss.15.1674993626145; Sun, 29 Jan 2023 04:00:26 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a05:612c:2428:b0:32a:5eaa:92e4 with HTTP; Sun, 29 Jan 2023 04:00:24 -0800 (PST) From: Paul B Mahol Date: Sun, 29 Jan 2023 13:00:24 +0100 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000167e9205f365d835" Subject: [FFmpeg-devel] [PATCH] Waveform Archiver decoder and demuxer 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: --000000000000167e9205f365d835 Content-Type: text/plain; charset="UTF-8" Patches attached --000000000000167e9205f365d835 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avcodec-add-WavArc-decoder.patch" Content-Disposition: attachment; filename="0001-avcodec-add-WavArc-decoder.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file1 RnJvbSA1NTE2NjAxNjMwYWU4MzA5OGUyYTNkMjc4MjNmMjFlODZiYzBlNjBkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IFNhdCwgMjEgSmFuIDIwMjMgMTk6MjU6NDEgKzAxMDAKU3ViamVjdDogW1BBVENIIDEvMl0gYXZj b2RlYzogYWRkIFdhdkFyYyBkZWNvZGVyCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIEIgTWFob2wgPG9u ZW1kYUBnbWFpbC5jb20+Ci0tLQogbGliYXZjb2RlYy9NYWtlZmlsZSAgICAgfCAgIDEgKwogbGli YXZjb2RlYy9hbGxjb2RlY3MuYyAgfCAgIDEgKwogbGliYXZjb2RlYy9jb2RlY19kZXNjLmMgfCAg IDcgKwogbGliYXZjb2RlYy9jb2RlY19pZC5oICAgfCAgIDEgKwogbGliYXZjb2RlYy93YXZhcmMu YyAgICAgfCA0NjAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogNSBm aWxlcyBjaGFuZ2VkLCA0NzAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2 Y29kZWMvd2F2YXJjLmMKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL01ha2VmaWxlIGIvbGliYXZj b2RlYy9NYWtlZmlsZQppbmRleCBmMGZmZDBiOTYxLi5lOTM2YzE5ZjMzIDEwMDY0NAotLS0gYS9s aWJhdmNvZGVjL01ha2VmaWxlCisrKyBiL2xpYmF2Y29kZWMvTWFrZWZpbGUKQEAgLTc3Nyw2ICs3 NzcsNyBAQCBPQkpTLSQoQ09ORklHX1ZQOV9WNEwyTTJNX0RFQ09ERVIpICAgICArPSB2NGwyX20y bV9kZWMubwogT0JKUy0kKENPTkZJR19WUUFfREVDT0RFUikgICAgICAgICAgICAgKz0gdnFhdmlk ZW8ubwogT0JKUy0kKENPTkZJR19WUUNfREVDT0RFUikgICAgICAgICAgICAgKz0gdnFjZGVjLm8K IE9CSlMtJChDT05GSUdfV0FEWV9EUENNX0RFQ09ERVIpICAgICAgICs9IGRwY20ubworT0JKUy0k KENPTkZJR19XQVZBUkNfREVDT0RFUikgICAgICAgICAgKz0gd2F2YXJjLm8KIE9CSlMtJChDT05G SUdfV0FWUEFDS19ERUNPREVSKSAgICAgICAgICs9IHdhdnBhY2subyB3YXZwYWNrZGF0YS5vIGRz ZC5vCiBPQkpTLSQoQ09ORklHX1dBVlBBQ0tfRU5DT0RFUikgICAgICAgICArPSB3YXZwYWNrZGF0 YS5vIHdhdnBhY2tlbmMubwogT0JKUy0kKENPTkZJR19XQk1QX0RFQ09ERVIpICAgICAgICAgICAg Kz0gd2JtcGRlYy5vCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FsbGNvZGVjcy5jIGIvbGliYXZj b2RlYy9hbGxjb2RlY3MuYwppbmRleCBmMzAwNDdlMTdhLi4wZDY5OTg3ODZjIDEwMDY0NAotLS0g YS9saWJhdmNvZGVjL2FsbGNvZGVjcy5jCisrKyBiL2xpYmF2Y29kZWMvYWxsY29kZWNzLmMKQEAg LTUzOCw2ICs1MzgsNyBAQCBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl90d2ludnFfZGVjb2RlcjsK IGV4dGVybiBjb25zdCBGRkNvZGVjIGZmX3ZtZGF1ZGlvX2RlY29kZXI7CiBleHRlcm4gY29uc3Qg RkZDb2RlYyBmZl92b3JiaXNfZW5jb2RlcjsKIGV4dGVybiBjb25zdCBGRkNvZGVjIGZmX3ZvcmJp c19kZWNvZGVyOworZXh0ZXJuIGNvbnN0IEZGQ29kZWMgZmZfd2F2YXJjX2RlY29kZXI7CiBleHRl cm4gY29uc3QgRkZDb2RlYyBmZl93YXZwYWNrX2VuY29kZXI7CiBleHRlcm4gY29uc3QgRkZDb2Rl YyBmZl93YXZwYWNrX2RlY29kZXI7CiBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl93bWFsb3NzbGVz c19kZWNvZGVyOwpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9jb2RlY19kZXNjLmMgYi9saWJhdmNv ZGVjL2NvZGVjX2Rlc2MuYwppbmRleCA1MGY5Nzk0ZTEwLi42ZWNkZjEwMDJiIDEwMDY0NAotLS0g YS9saWJhdmNvZGVjL2NvZGVjX2Rlc2MuYworKysgYi9saWJhdmNvZGVjL2NvZGVjX2Rlc2MuYwpA QCAtMzM0Niw2ICszMzQ2LDEzIEBAIHN0YXRpYyBjb25zdCBBVkNvZGVjRGVzY3JpcHRvciBjb2Rl Y19kZXNjcmlwdG9yc1tdID0gewogICAgICAgICAubG9uZ19uYW1lID0gTlVMTF9JRl9DT05GSUdf U01BTEwoIkZUUiBWb2ljZSIpLAogICAgICAgICAucHJvcHMgICAgID0gQVZfQ09ERUNfUFJPUF9J TlRSQV9PTkxZIHwgQVZfQ09ERUNfUFJPUF9MT1NTWSwKICAgICB9LAorICAgIHsKKyAgICAgICAg LmlkICAgICAgICA9IEFWX0NPREVDX0lEX1dBVkFSQywKKyAgICAgICAgLnR5cGUgICAgICA9IEFW TUVESUFfVFlQRV9BVURJTywKKyAgICAgICAgLm5hbWUgICAgICA9ICJ3YXZhcmMiLAorICAgICAg ICAubG9uZ19uYW1lID0gTlVMTF9JRl9DT05GSUdfU01BTEwoIldhdmVmb3JtIEFyY2hpdmVyIiks CisgICAgICAgIC5wcm9wcyAgICAgPSBBVl9DT0RFQ19QUk9QX0lOVFJBX09OTFkgfCBBVl9DT0RF Q19QUk9QX0xPU1NMRVNTLAorICAgIH0sCiAKICAgICAvKiBzdWJ0aXRsZSBjb2RlY3MgKi8KICAg ICB7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2NvZGVjX2lkLmggYi9saWJhdmNvZGVjL2NvZGVj X2lkLmgKaW5kZXggY2RmN2ViNzljMy4uYmEzYjQzMjM4NyAxMDA2NDQKLS0tIGEvbGliYXZjb2Rl Yy9jb2RlY19pZC5oCisrKyBiL2xpYmF2Y29kZWMvY29kZWNfaWQuaApAQCAtNTM1LDYgKzUzNSw3 IEBAIGVudW0gQVZDb2RlY0lEIHsKICAgICBBVl9DT0RFQ19JRF9NSVNDNCwKICAgICBBVl9DT0RF Q19JRF9BUEFDLAogICAgIEFWX0NPREVDX0lEX0ZUUiwKKyAgICBBVl9DT0RFQ19JRF9XQVZBUkMs CiAKICAgICAvKiBzdWJ0aXRsZSBjb2RlY3MgKi8KICAgICBBVl9DT0RFQ19JRF9GSVJTVF9TVUJU SVRMRSA9IDB4MTcwMDAsICAgICAgICAgIC8vLzwgQSBkdW1teSBJRCBwb2ludGluZyBhdCB0aGUg c3RhcnQgb2Ygc3VidGl0bGUgY29kZWNzLgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy93YXZhcmMu YyBiL2xpYmF2Y29kZWMvd2F2YXJjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMC4uODk4YzNjMjA1NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmF2Y29kZWMvd2F2YXJjLmMK QEAgLTAsMCArMSw0NjAgQEAKKy8qCisgKiBXYXZBcmMgYXVkaW8gZGVjb2RlcgorICogQ29weXJp Z2h0IChjKSAyMDIzIFBhdWwgQiBNYWhvbAorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZG bXBlZy4KKyAqCisgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz c2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNl LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIEZGbXBlZyBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7 IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4s IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBV U0EKKyAqLworCisjaW5jbHVkZSAibGliYXZ1dGlsL2ludGVybmFsLmgiCisjaW5jbHVkZSAibGli YXZ1dGlsL2ludHJlYWR3cml0ZS5oIgorI2luY2x1ZGUgImF2Y29kZWMuaCIKKyNpbmNsdWRlICJj b2RlY19pbnRlcm5hbC5oIgorI2luY2x1ZGUgImRlY29kZS5oIgorI2luY2x1ZGUgImdldF9iaXRz LmgiCisjaW5jbHVkZSAiYnl0ZXN0cmVhbS5oIgorI2luY2x1ZGUgIm1hdGhvcHMuaCIKKyNpbmNs dWRlICJ1bmFyeS5oIgorCit0eXBlZGVmIHN0cnVjdCBXYXZBcmNDb250ZXh0IHsKKyAgICBHZXRC aXRDb250ZXh0IGdiOworCisgICAgaW50IHNoaWZ0OworICAgIGludCBuYl9zYW1wbGVzOworICAg IGludCBvZmZzZXQ7CisKKyAgICBpbnQgZW9mOworICAgIGludCBza2lwOworICAgIHVpbnQ4X3Qg KmJpdHN0cmVhbTsKKyAgICBpbnQ2NF90IG1heF9mcmFtZXNpemU7CisgICAgaW50IGJpdHN0cmVh bV9zaXplOworICAgIGludCBiaXRzdHJlYW1faW5kZXg7CisKKyAgICBpbnQgcHJlZFsyXVs3MF07 CisgICAgaW50IGZpbHRlclsyXVs3MF07CisgICAgaW50IHNhbXBsZXNbMl1bNjQwXTsKK30gV2F2 QXJjQ29udGV4dDsKKworc3RhdGljIGF2X2NvbGQgaW50IHdhdmFyY19pbml0KEFWQ29kZWNDb250 ZXh0ICphdmN0eCkKK3sKKyAgICBXYXZBcmNDb250ZXh0ICpzID0gYXZjdHgtPnByaXZfZGF0YTsK KworICAgIGlmIChhdmN0eC0+ZXh0cmFkYXRhX3NpemUgPCA0NCkKKyAgICAgICAgcmV0dXJuIEFW RVJST1JfSU5WQUxJRERBVEE7CisgICAgaWYgKEFWX1JMMzIoYXZjdHgtPmV4dHJhZGF0YSArIDE2 KSAhPSBNS1RBRygnUicsJ0knLCdGJywnRicpKQorICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZB TElEREFUQTsKKyAgICBpZiAoQVZfUkwzMihhdmN0eC0+ZXh0cmFkYXRhICsgMjQpICE9IE1LVEFH KCdXJywnQScsJ1YnLCdFJykpCisgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwor ICAgIGlmIChBVl9STDMyKGF2Y3R4LT5leHRyYWRhdGEgKyAyOCkgIT0gTUtUQUcoJ2YnLCdtJywn dCcsJyAnKSkKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisgICAgaWYgKEFW X1JMMTYoYXZjdHgtPmV4dHJhZGF0YSArIDM4KSAhPSAxICYmCisgICAgICAgIEFWX1JMMTYoYXZj dHgtPmV4dHJhZGF0YSArIDM4KSAhPSAyKQorICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElE REFUQTsKKworICAgIGF2X2NoYW5uZWxfbGF5b3V0X3VuaW5pdCgmYXZjdHgtPmNoX2xheW91dCk7 CisgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCgmYXZjdHgtPmNoX2xheW91dCwgQVZfUkwx NihhdmN0eC0+ZXh0cmFkYXRhICsgMzgpKTsKKyAgICBhdmN0eC0+c2FtcGxlX3JhdGUgPSBBVl9S TDMyKGF2Y3R4LT5leHRyYWRhdGEgKyA0MCk7CisKKyAgICBzd2l0Y2ggKGF2Y3R4LT5leHRyYWRh dGFbMzZdKSB7CisgICAgY2FzZSAwOiBhdmN0eC0+c2FtcGxlX2ZtdCA9IEFWX1NBTVBMRV9GTVRf VThQOyAgYnJlYWs7CisgICAgY2FzZSAxOiBhdmN0eC0+c2FtcGxlX2ZtdCA9IEFWX1NBTVBMRV9G TVRfUzE2UDsgYnJlYWs7CisgICAgfQorCisgICAgcy0+c2hpZnQgPSAwOworICAgIHN3aXRjaCAo YXZjdHgtPmNvZGVjX3RhZykgeworICAgIGNhc2UgTUtUQUcoJzEnLCdEJywnSScsJ0YnKToKKyAg ICAgICAgcy0+bmJfc2FtcGxlcyA9IDI1NjsKKyAgICAgICAgcy0+b2Zmc2V0ID0gNDsKKyAgICAg ICAgYnJlYWs7CisgICAgY2FzZSBNS1RBRygnMicsJ1MnLCdMJywnUCcpOgorICAgIGNhc2UgTUtU QUcoJzMnLCdOJywnTCcsJ1AnKToKKyAgICBjYXNlIE1LVEFHKCc0JywnQScsJ0wnLCdQJyk6Cisg ICAgICAgIHMtPm5iX3NhbXBsZXMgPSA1NzA7CisgICAgICAgIHMtPm9mZnNldCA9IDcwOworICAg ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElE REFUQTsKKyAgICB9CisKKyAgICBzLT5tYXhfZnJhbWVzaXplID0gcy0+bmJfc2FtcGxlcyAqIDE2 OworICAgIHMtPmJpdHN0cmVhbSA9IGF2X2NhbGxvYyhzLT5tYXhfZnJhbWVzaXplLCBzaXplb2Yo KnMtPmJpdHN0cmVhbSkpOworICAgIGlmICghcy0+Yml0c3RyZWFtKQorICAgICAgICByZXR1cm4g QVZFUlJPUihFTk9NRU0pOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBn ZXRfdXJpY2UoR2V0Qml0Q29udGV4dCAqZ2IsIGludCBrKQoreworICAgIHVuc2lnbmVkIHggPSBn ZXRfdW5hcnkoZ2IsIDEsIGdldF9iaXRzX2xlZnQoZ2IpKTsKKyAgICB1bnNpZ25lZCB5ID0gZ2V0 X2JpdHNfbG9uZyhnYiwgayk7CisgICAgdW5zaWduZWQgeiA9ICh4IDw8IGspIHwgeTsKKworICAg IHJldHVybiB6OworfQorCitzdGF0aWMgaW50IGdldF9zcmljZShHZXRCaXRDb250ZXh0ICpnYiwg aW50IGspCit7CisgICAgdW5zaWduZWQgeiA9IGdldF91cmljZShnYiwgayk7CisKKyAgICByZXR1 cm4gKHogJiAxKSA/IH4oKGludCkoeiA+PiAxKSkgOiB6ID4+IDE7Cit9CisKK3N0YXRpYyB2b2lk IGRvX3N0ZXJlbyhXYXZBcmNDb250ZXh0ICpzLCBpbnQgY2gsIGludCBjb3JyZWxhdGVkLCBpbnQg bGVuKQoreworICAgIGNvbnN0IGludCBuYl9zYW1wbGVzID0gcy0+bmJfc2FtcGxlczsKKyAgICBj b25zdCBpbnQgc2hpZnQgPSBzLT5zaGlmdDsKKworICAgIGlmIChjaCA9PSAwKSB7CisgICAgICAg IGlmIChjb3JyZWxhdGVkKSB7CisgICAgICAgICAgICBmb3IgKGludCBuID0gMDsgbiA8IGxlbjsg bisrKSB7CisgICAgICAgICAgICAgICAgcy0+c2FtcGxlc1swXVtuXSA9IHMtPnNhbXBsZXNbMF1b bmJfc2FtcGxlcyArIG5dID4+IHNoaWZ0OworICAgICAgICAgICAgICAgIHMtPnNhbXBsZXNbMV1b bl0gPSBzLT5wcmVkWzFdW25dID4+IHNoaWZ0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs c2UgeworICAgICAgICAgICAgZm9yIChpbnQgbiA9IDA7IG4gPCBsZW47IG4rKykgeworICAgICAg ICAgICAgICAgIHMtPnNhbXBsZXNbMF1bbl0gPSBzLT5zYW1wbGVzWzBdW25iX3NhbXBsZXMgKyBu XSA+PiBzaGlmdDsKKyAgICAgICAgICAgICAgICBzLT5zYW1wbGVzWzFdW25dID0gcy0+cHJlZFsw XVtuXSA+PiBzaGlmdDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSB7Cisg ICAgICAgIGlmIChjb3JyZWxhdGVkKSB7CisgICAgICAgICAgICBmb3IgKGludCBuID0gMDsgbiA8 IG5iX3NhbXBsZXM7IG4rKykKKyAgICAgICAgICAgICAgICBzLT5zYW1wbGVzWzFdW24gKyBsZW5d ICs9IHMtPnNhbXBsZXNbMF1bbiArIGxlbl07CisgICAgICAgIH0KKyAgICAgICAgZm9yIChpbnQg biA9IDA7IG4gPCBsZW47IG4rKykgeworICAgICAgICAgICAgcy0+cHJlZFswXVtuXSA9IHMtPnNh bXBsZXNbMV1bbmJfc2FtcGxlcyArIG5dOworICAgICAgICAgICAgcy0+cHJlZFsxXVtuXSA9IHMt PnByZWRbMF1bbl0gLSBzLT5zYW1wbGVzWzBdW25iX3NhbXBsZXMgKyBuXTsKKyAgICAgICAgfQor ICAgIH0KK30KKworc3RhdGljIGludCBkZWNvZGVfMWRpZihBVkNvZGVjQ29udGV4dCAqYXZjdHgs CisgICAgICAgICAgICAgICAgICAgICAgIFdhdkFyY0NvbnRleHQgKnMsIEdldEJpdENvbnRleHQg KmdiKQoreworICAgIGludCBjaCwgZmluaXNoZWQsIGZpbGwsIGNvcnJlbGF0ZWQ7CisKKyAgICBj aCA9IDA7CisgICAgZmluaXNoZWQgPSAwOworICAgIHdoaWxlICghZmluaXNoZWQpIHsKKyAgICAg ICAgaW50ICpzYW1wbGVzID0gcy0+c2FtcGxlc1tjaF07CisgICAgICAgIGludCBrLCBibG9ja190 eXBlOworCisgICAgICAgIGlmIChnZXRfYml0c19sZWZ0KGdiKSA8PSAwKQorICAgICAgICAgICAg cmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisKKyAgICAgICAgYmxvY2tfdHlwZSA9IGdldF91 cmljZShnYiwgMSk7CisgICAgICAgIGlmIChibG9ja190eXBlIDwgNCAmJiBibG9ja190eXBlID49 IDApIHsKKyAgICAgICAgICAgIGsgPSAxICsgKGF2Y3R4LT5zYW1wbGVfZm10ID09IEFWX1NBTVBM RV9GTVRfUzE2UCk7CisgICAgICAgICAgICBrID0gZ2V0X3VyaWNlKGdiLCBrKSArIDE7CisgICAg ICAgIH0KKworICAgICAgICBzd2l0Y2ggKGJsb2NrX3R5cGUpIHsKKyAgICAgICAgY2FzZSA4Ogor ICAgICAgICAgICAgcy0+ZW9mID0gMTsKKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0VPRjsK KyAgICAgICAgY2FzZSA3OgorICAgICAgICAgICAgcy0+bmJfc2FtcGxlcyA9IGdldF9iaXRzKGdi LCA4KTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBjYXNlIDY6CisgICAgICAgICAg ICBzLT5zaGlmdCA9IGdldF91cmljZShnYiwgMik7CisgICAgICAgICAgICBjb250aW51ZTsKKyAg ICAgICAgY2FzZSA1OgorICAgICAgICAgICAgaWYgKGF2Y3R4LT5zYW1wbGVfZm10ID09IEFWX1NB TVBMRV9GTVRfVThQKSB7CisgICAgICAgICAgICAgICAgZmlsbCA9IChpbnQ4X3QpZ2V0X2JpdHMo Z2IsIDgpOworICAgICAgICAgICAgICAgIGZpbGwgLT0gMHg4MDsKKyAgICAgICAgICAgIH0gZWxz ZSB7CisgICAgICAgICAgICAgICAgZmlsbCA9IChpbnQxNl90KWdldF9iaXRzKGdiLCAxNik7Cisg ICAgICAgICAgICAgICAgZmlsbCAtPSAweDgwMDA7CisgICAgICAgICAgICB9CisKKyAgICAgICAg ICAgIGZvciAoaW50IG4gPSAwOyBuIDwgcy0+bmJfc2FtcGxlczsgbisrKQorICAgICAgICAgICAg ICAgIHNhbXBsZXNbbiArIDRdID0gZmlsbDsKKyAgICAgICAgICAgIGZpbmlzaGVkID0gMTsKKyAg ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDQ6CisgICAgICAgICAgICBmb3IgKGludCBu ID0gMDsgbiA8IHMtPm5iX3NhbXBsZXM7IG4rKykKKyAgICAgICAgICAgICAgICBzYW1wbGVzW24g KyA0XSA9IDA7CisgICAgICAgICAgICBmaW5pc2hlZCA9IDE7CisgICAgICAgICAgICBicmVhazsK KyAgICAgICAgY2FzZSAzOgorICAgICAgICAgICAgZm9yIChpbnQgbiA9IDA7IG4gPCBzLT5uYl9z YW1wbGVzOyBuKyspCisgICAgICAgICAgICAgICAgc2FtcGxlc1tuICsgNF0gPSBnZXRfc3JpY2Uo Z2IsIGspICsgKHNhbXBsZXNbbiArIDNdIC0gc2FtcGxlc1tuICsgMl0pICogMyArCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVzW24gKyAxXTsKKyAgICAg ICAgICAgIGZpbmlzaGVkID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDI6 CisgICAgICAgICAgICBmb3IgKGludCBuID0gMDsgbiA8IHMtPm5iX3NhbXBsZXM7IG4rKykKKyAg ICAgICAgICAgICAgICBzYW1wbGVzW24gKyA0XSA9IGdldF9zcmljZShnYiwgaykgKyAoc2FtcGxl c1tuICsgM10gKiAyIC0gc2FtcGxlc1tuICsgMl0pOworICAgICAgICAgICAgZmluaXNoZWQgPSAx OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgIGZvciAo aW50IG4gPSAwOyBuIDwgcy0+bmJfc2FtcGxlczsgbisrKQorICAgICAgICAgICAgICAgIHNhbXBs ZXNbbiArIDRdID0gZ2V0X3NyaWNlKGdiLCBrKSArIHNhbXBsZXNbbiArIDNdOworICAgICAgICAg ICAgZmluaXNoZWQgPSAxOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMDoKKyAg ICAgICAgICAgIGZvciAoaW50IG4gPSAwOyBuIDwgcy0+bmJfc2FtcGxlczsgbisrKQorICAgICAg ICAgICAgICAgIHNhbXBsZXNbbiArIDRdID0gZ2V0X3NyaWNlKGdiLCBrKTsKKyAgICAgICAgICAg IGZpbmlzaGVkID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAg ICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisgICAgICAgIH0KKworICAgICAg ICBpZiAoZmluaXNoZWQgPT0gMSAmJiBhdmN0eC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzID09IDIp IHsKKyAgICAgICAgICAgIGlmIChjaCA9PSAwKQorICAgICAgICAgICAgICAgIGNvcnJlbGF0ZWQg PSBnZXRfYml0czEoZ2IpOworICAgICAgICAgICAgZmluaXNoZWQgPSBjaCAhPSAwOworICAgICAg ICAgICAgZG9fc3RlcmVvKHMsIGNoLCBjb3JyZWxhdGVkLCA0KTsKKyAgICAgICAgICAgIGNoID0g MTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChhdmN0eC0+Y2hfbGF5b3V0Lm5iX2NoYW5u ZWxzID09IDEpIHsKKyAgICAgICAgZm9yIChpbnQgbiA9IDA7IG4gPCA0OyBuKyspCisgICAgICAg ICAgICBzLT5zYW1wbGVzWzBdW25dID0gcy0+c2FtcGxlc1swXVtzLT5uYl9zYW1wbGVzICsgbl0g Pj4gcy0+c2hpZnQ7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGVj b2RlXzJzbHAoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAorICAgICAgICAgICAgICAgICAgICAgICBX YXZBcmNDb250ZXh0ICpzLCBHZXRCaXRDb250ZXh0ICpnYikKK3sKKyAgICBpbnQgY2gsIGZpbmlz aGVkLCBmaWxsLCBjb3JyZWxhdGVkLCBvcmRlcjsKKworICAgIGNoID0gMDsKKyAgICBmaW5pc2hl ZCA9IDA7CisgICAgd2hpbGUgKCFmaW5pc2hlZCkgeworICAgICAgICBpbnQgKnNhbXBsZXMgPSBz LT5zYW1wbGVzW2NoXTsKKyAgICAgICAgaW50IGssIGJsb2NrX3R5cGU7CisKKyAgICAgICAgaWYg KGdldF9iaXRzX2xlZnQoZ2IpIDw9IDApCisgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZB TElEREFUQTsKKworICAgICAgICBibG9ja190eXBlID0gZ2V0X3VyaWNlKGdiLCAxKTsKKyAgICAg ICAgaWYgKGJsb2NrX3R5cGUgPCA1ICYmIGJsb2NrX3R5cGUgPj0gMCkgeworICAgICAgICAgICAg ayA9IDEgKyAoYXZjdHgtPnNhbXBsZV9mbXQgPT0gQVZfU0FNUExFX0ZNVF9TMTZQKTsKKyAgICAg ICAgICAgIGsgPSBnZXRfdXJpY2UoZ2IsIGspICsgMTsKKyAgICAgICAgfQorCisgICAgICAgIHN3 aXRjaCAoYmxvY2tfdHlwZSkgeworICAgICAgICBjYXNlIDk6CisgICAgICAgICAgICBzLT5lb2Yg PSAxOworICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfRU9GOworICAgICAgICBjYXNlIDg6Cisg ICAgICAgICAgICBzLT5uYl9zYW1wbGVzID0gZ2V0X3VyaWNlKGdiLCA4KTsKKyAgICAgICAgICAg IGNvbnRpbnVlOworICAgICAgICBjYXNlIDc6CisgICAgICAgICAgICBzLT5zaGlmdCA9IGdldF91 cmljZShnYiwgMik7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgY2FzZSA2OgorICAg ICAgICAgICAgaWYgKGF2Y3R4LT5zYW1wbGVfZm10ID09IEFWX1NBTVBMRV9GTVRfVThQKSB7Cisg ICAgICAgICAgICAgICAgZmlsbCA9IChpbnQ4X3QpZ2V0X2JpdHMoZ2IsIDgpOworICAgICAgICAg ICAgICAgIGZpbGwgLT0gMHg4MDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg ICAgZmlsbCA9IChpbnQxNl90KWdldF9iaXRzKGdiLCAxNik7CisgICAgICAgICAgICAgICAgZmls bCAtPSAweDgwMDA7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZvciAoaW50IG4gPSAw OyBuIDwgcy0+bmJfc2FtcGxlczsgbisrKQorICAgICAgICAgICAgICAgIHNhbXBsZXNbbiArIDcw XSA9IGZpbGw7CisgICAgICAgICAgICBmaW5pc2hlZCA9IDE7CisgICAgICAgICAgICBicmVhazsK KyAgICAgICAgY2FzZSA1OgorICAgICAgICAgICAgZm9yIChpbnQgbiA9IDA7IG4gPCBzLT5uYl9z YW1wbGVzOyBuKyspCisgICAgICAgICAgICAgICAgc2FtcGxlc1tuICsgNzBdID0gMDsKKyAgICAg ICAgICAgIGZpbmlzaGVkID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDQ6 CisgICAgICAgICAgICBmb3IgKGludCBuID0gMDsgbiA8IHMtPm5iX3NhbXBsZXM7IG4rKykKKyAg ICAgICAgICAgICAgICBzYW1wbGVzW24gKyA3MF0gPSBnZXRfc3JpY2UoZ2IsIGspICsgKHNhbXBs ZXNbbiArIDY5XSAtIHNhbXBsZXNbbiArIDY4XSkgKiAzICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVzW24gKyA2N107CisgICAgICAgICAgICBmaW5p c2hlZCA9IDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAzOgorICAgICAgICAg ICAgZm9yIChpbnQgbiA9IDA7IG4gPCBzLT5uYl9zYW1wbGVzOyBuKyspCisgICAgICAgICAgICAg ICAgc2FtcGxlc1tuICsgNzBdID0gZ2V0X3NyaWNlKGdiLCBrKSArIChzYW1wbGVzW24gKyA2OV0g KiAyIC0gc2FtcGxlc1tuICsgNjhdKTsKKyAgICAgICAgICAgIGZpbmlzaGVkID0gMTsKKyAgICAg ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDI6CisgICAgICAgICAgICBmb3IgKGludCBuID0g MDsgbiA8IHMtPm5iX3NhbXBsZXM7IG4rKykKKyAgICAgICAgICAgICAgICBzYW1wbGVzW24gKyA3 MF0gPSBnZXRfc3JpY2UoZ2IsIGspOworICAgICAgICAgICAgZmluaXNoZWQgPSAxOworICAgICAg ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgIGZvciAoaW50IG4gPSAw OyBuIDwgcy0+bmJfc2FtcGxlczsgbisrKQorICAgICAgICAgICAgICAgIHNhbXBsZXNbbiArIDcw XSA9IGdldF9zcmljZShnYiwgaykgKyBzYW1wbGVzW24gKyA2OV07CisgICAgICAgICAgICBmaW5p c2hlZCA9IDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAwOgorICAgICAgICAg ICAgb3JkZXIgPSBnZXRfdXJpY2UoZ2IsIDIpOworICAgICAgICAgICAgZm9yIChpbnQgbyA9IDA7 IG8gPCBvcmRlcjsgbysrKQorICAgICAgICAgICAgICAgIHMtPmZpbHRlcltjaF1bb10gPSBnZXRf c3JpY2UoZ2IsIDIpOworICAgICAgICAgICAgZm9yIChpbnQgbiA9IDA7IG4gPCBzLT5uYl9zYW1w bGVzOyBuKyspIHsKKyAgICAgICAgICAgICAgICBpbnQgc3VtID0gMTU7CisKKyAgICAgICAgICAg ICAgICBmb3IgKGludCBvID0gMDsgbyA8IG9yZGVyOyBvKyspCisgICAgICAgICAgICAgICAgICAg IHN1bSArPSBzLT5maWx0ZXJbY2hdW29dICogc2FtcGxlc1tuICsgNzAgLSBvIC0gMV07CisKKyAg ICAgICAgICAgICAgICBzYW1wbGVzW24gKyA3MF0gPSBnZXRfc3JpY2UoZ2IsIGspICsgKHN1bSA+ PiA0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZpbmlzaGVkID0gMTsKKyAgICAgICAg ICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIEFWRVJST1Jf SU5WQUxJRERBVEE7CisgICAgICAgIH0KKworICAgICAgICBpZiAoZmluaXNoZWQgPT0gMSAmJiBh dmN0eC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzID09IDIpIHsKKyAgICAgICAgICAgIGlmIChjaCA9 PSAwKQorICAgICAgICAgICAgICAgIGNvcnJlbGF0ZWQgPSBnZXRfYml0czEoZ2IpOworICAgICAg ICAgICAgZmluaXNoZWQgPSBjaCAhPSAwOworICAgICAgICAgICAgZG9fc3RlcmVvKHMsIGNoLCBj b3JyZWxhdGVkLCA3MCk7CisgICAgICAgICAgICBjaCA9IDE7CisgICAgICAgIH0KKyAgICB9CisK KyAgICBpZiAoYXZjdHgtPmNoX2xheW91dC5uYl9jaGFubmVscyA9PSAxKSB7CisgICAgICAgIGZv ciAoaW50IG4gPSAwOyBuIDwgNzA7IG4rKykKKyAgICAgICAgICAgIHMtPnNhbXBsZXNbMF1bbl0g PSBzLT5zYW1wbGVzWzBdW3MtPm5iX3NhbXBsZXMgKyBuXSA+PiBzLT5zaGlmdDsKKyAgICB9CisK KyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3YXZhcmNfZGVjb2RlKEFWQ29kZWNDb250 ZXh0ICphdmN0eCwgQVZGcmFtZSAqZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50 ICpnb3RfZnJhbWVfcHRyLCBBVlBhY2tldCAqcGt0KQoreworICAgIFdhdkFyY0NvbnRleHQgKnMg PSBhdmN0eC0+cHJpdl9kYXRhOworICAgIEdldEJpdENvbnRleHQgKmdiID0gJnMtPmdiOworICAg IGludCBidWZfc2l6ZSwgaW5wdXRfYnVmX3NpemU7CisgICAgY29uc3QgdWludDhfdCAqYnVmOwor ICAgIGludCByZXQsIG47CisKKyAgICBpZiAoKCFwa3QtPnNpemUgJiYgIXMtPmJpdHN0cmVhbV9z aXplKSB8fCBzLT5uYl9zYW1wbGVzID09IDAgfHwgcy0+ZW9mKSB7CisgICAgICAgICpnb3RfZnJh bWVfcHRyID0gMDsKKyAgICAgICAgcmV0dXJuIHBrdC0+c2l6ZTsKKyAgICB9CisKKyAgICBidWZf c2l6ZSA9IEZGTUlOKHBrdC0+c2l6ZSwgcy0+bWF4X2ZyYW1lc2l6ZSAtIHMtPmJpdHN0cmVhbV9z aXplKTsKKyAgICBpbnB1dF9idWZfc2l6ZSA9IGJ1Zl9zaXplOworICAgIGlmIChzLT5iaXRzdHJl YW1faW5kZXggKyBzLT5iaXRzdHJlYW1fc2l6ZSArIGJ1Zl9zaXplICsgQVZfSU5QVVRfQlVGRkVS X1BBRERJTkdfU0laRSA+IHMtPm1heF9mcmFtZXNpemUpIHsKKyAgICAgICAgbWVtbW92ZShzLT5i aXRzdHJlYW0sICZzLT5iaXRzdHJlYW1bcy0+Yml0c3RyZWFtX2luZGV4XSwgcy0+Yml0c3RyZWFt X3NpemUpOworICAgICAgICBzLT5iaXRzdHJlYW1faW5kZXggPSAwOworICAgIH0KKyAgICBpZiAo cGt0LT5kYXRhKQorICAgICAgICBtZW1jcHkoJnMtPmJpdHN0cmVhbVtzLT5iaXRzdHJlYW1faW5k ZXggKyBzLT5iaXRzdHJlYW1fc2l6ZV0sIHBrdC0+ZGF0YSwgYnVmX3NpemUpOworICAgIGJ1ZiAg ICAgICAgICAgICAgICA9ICZzLT5iaXRzdHJlYW1bcy0+Yml0c3RyZWFtX2luZGV4XTsKKyAgICBi dWZfc2l6ZSAgICAgICAgICArPSBzLT5iaXRzdHJlYW1fc2l6ZTsKKyAgICBzLT5iaXRzdHJlYW1f c2l6ZSAgPSBidWZfc2l6ZTsKKyAgICBpZiAoYnVmX3NpemUgPCBzLT5tYXhfZnJhbWVzaXplICYm IHBrdC0+ZGF0YSkgeworICAgICAgICAqZ290X2ZyYW1lX3B0ciA9IDA7CisgICAgICAgIHJldHVy biBpbnB1dF9idWZfc2l6ZTsKKyAgICB9CisKKyAgICBpZiAoKHJldCA9IGluaXRfZ2V0X2JpdHM4 KGdiLCBidWYsIGJ1Zl9zaXplKSkgPCAwKQorICAgICAgICByZXR1cm4gcmV0OworICAgIHNraXBf Yml0cyhnYiwgcy0+c2tpcCk7CisKKyAgICBzd2l0Y2ggKGF2Y3R4LT5jb2RlY190YWcpIHsKKyAg ICBjYXNlIE1LVEFHKCcxJywnRCcsJ0knLCdGJyk6CisgICAgICAgIHJldCA9IGRlY29kZV8xZGlm KGF2Y3R4LCBzLCBnYik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTUtUQUcoJzInLCdTJywn TCcsJ1AnKToKKyAgICBjYXNlIE1LVEFHKCczJywnTicsJ0wnLCdQJyk6CisgICAgY2FzZSBNS1RB RygnNCcsJ0EnLCdMJywnUCcpOgorICAgICAgICByZXQgPSBkZWNvZGVfMnNscChhdmN0eCwgcywg Z2IpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXQgPSBBVkVSUk9S X0lOVkFMSUREQVRBOworICAgIH0KKworICAgIGlmIChyZXQgPCAwKQorICAgICAgICBnb3RvIGZh aWw7CisKKyAgICBzLT5za2lwID0gZ2V0X2JpdHNfY291bnQoZ2IpIC0gOCAqIChnZXRfYml0c19j b3VudChnYikgLyA4KTsKKyAgICBuID0gZ2V0X2JpdHNfY291bnQoZ2IpIC8gODsKKworICAgIGlm IChuID4gYnVmX3NpemUpIHsKK2ZhaWw6CisgICAgICAgIHMtPmJpdHN0cmVhbV9zaXplID0gMDsK KyAgICAgICAgcy0+Yml0c3RyZWFtX2luZGV4ID0gMDsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAg ICB9CisKKyAgICBmcmFtZS0+bmJfc2FtcGxlcyA9IHMtPm5iX3NhbXBsZXM7CisgICAgaWYgKChy ZXQgPSBmZl9nZXRfYnVmZmVyKGF2Y3R4LCBmcmFtZSwgMCkpIDwgMCkKKyAgICAgICAgcmV0dXJu IHJldDsKKworICAgIHN3aXRjaCAoYXZjdHgtPnNhbXBsZV9mbXQpIHsKKyAgICBjYXNlIEFWX1NB TVBMRV9GTVRfVThQOgorICAgICAgICBmb3IgKGludCBjaCA9IDA7IGNoIDwgYXZjdHgtPmNoX2xh eW91dC5uYl9jaGFubmVsczsgY2grKykgeworICAgICAgICAgICAgdWludDhfdCAqZHN0ID0gKHVp bnQ4X3QgKilmcmFtZS0+ZXh0ZW5kZWRfZGF0YVtjaF07CisgICAgICAgICAgICBjb25zdCBpbnQg KnNyYyA9IHMtPnNhbXBsZXNbY2hdICsgcy0+b2Zmc2V0OworCisgICAgICAgICAgICBmb3IgKGlu dCBuID0gMDsgbiA8IGZyYW1lLT5uYl9zYW1wbGVzOyBuKyspCisgICAgICAgICAgICAgICAgZHN0 W25dID0gc3JjW25dICogKDEgPDwgcy0+c2hpZnQpOworICAgICAgICB9CisgICAgICAgIGJyZWFr OworICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9TMTZQOgorICAgICAgICBmb3IgKGludCBjaCA9IDA7 IGNoIDwgYXZjdHgtPmNoX2xheW91dC5uYl9jaGFubmVsczsgY2grKykgeworICAgICAgICAgICAg aW50MTZfdCAqZHN0ID0gKGludDE2X3QgKilmcmFtZS0+ZXh0ZW5kZWRfZGF0YVtjaF07CisgICAg ICAgICAgICBjb25zdCBpbnQgKnNyYyA9IHMtPnNhbXBsZXNbY2hdICsgcy0+b2Zmc2V0OworCisg ICAgICAgICAgICBmb3IgKGludCBuID0gMDsgbiA8IGZyYW1lLT5uYl9zYW1wbGVzOyBuKyspCisg ICAgICAgICAgICAgICAgZHN0W25dID0gc3JjW25dICogKDEgPDwgcy0+c2hpZnQpOworICAgICAg ICB9CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgICpnb3RfZnJhbWVfcHRyID0gMTsKKwor ICAgIGlmIChzLT5iaXRzdHJlYW1fc2l6ZSkgeworICAgICAgICBzLT5iaXRzdHJlYW1faW5kZXgg Kz0gbjsKKyAgICAgICAgcy0+Yml0c3RyZWFtX3NpemUgIC09IG47CisgICAgICAgIHJldHVybiBp bnB1dF9idWZfc2l6ZTsKKyAgICB9CisKKyAgICByZXR1cm4gbjsKK30KKworc3RhdGljIGF2X2Nv bGQgaW50IHdhdmFyY19jbG9zZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpCit7CisgICAgV2F2QXJj Q29udGV4dCAqcyA9IGF2Y3R4LT5wcml2X2RhdGE7CisKKyAgICBhdl9mcmVlcCgmcy0+Yml0c3Ry ZWFtKTsKKyAgICBzLT5iaXRzdHJlYW1fc2l6ZSA9IDA7CisKKyAgICByZXR1cm4gMDsKK30KKwor Y29uc3QgRkZDb2RlYyBmZl93YXZhcmNfZGVjb2RlciA9IHsKKyAgICAucC5uYW1lICAgICAgICAg ICA9ICJ3YXZhcmMiLAorICAgIENPREVDX0xPTkdfTkFNRSgiV2F2ZWZvcm0gQXJjaGl2ZXIiKSwK KyAgICAucC50eXBlICAgICAgICAgICA9IEFWTUVESUFfVFlQRV9BVURJTywKKyAgICAucC5pZCAg ICAgICAgICAgICA9IEFWX0NPREVDX0lEX1dBVkFSQywKKyAgICAucHJpdl9kYXRhX3NpemUgICA9 IHNpemVvZihXYXZBcmNDb250ZXh0KSwKKyAgICAuaW5pdCAgICAgICAgICAgICA9IHdhdmFyY19p bml0LAorICAgIEZGX0NPREVDX0RFQ09ERV9DQih3YXZhcmNfZGVjb2RlKSwKKyAgICAuY2xvc2Ug ICAgICAgICAgICA9IHdhdmFyY19jbG9zZSwKKyAgICAucC5jYXBhYmlsaXRpZXMgICA9IEFWX0NP REVDX0NBUF9EUjEgfAorICAgICAgICAgICAgICAgICAgICAgICAgQVZfQ09ERUNfQ0FQX1NVQkZS QU1FUyB8CisgICAgICAgICAgICAgICAgICAgICAgICBBVl9DT0RFQ19DQVBfREVMQVksCisgICAg LnAuc2FtcGxlX2ZtdHMgICAgPSAoY29uc3QgZW51bSBBVlNhbXBsZUZvcm1hdFtdKSB7IEFWX1NB TVBMRV9GTVRfVThQLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBVl9TQU1QTEVfRk1UX1MxNlAsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWX1NBTVBMRV9GTVRfTk9ORSB9LAor fTsKLS0gCjIuMzkuMQoK --000000000000167e9205f365d835 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-avformat-add-WavArc-demuxer.patch" Content-Disposition: attachment; filename="0002-avformat-add-WavArc-demuxer.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file2 RnJvbSBiNTRmMmJhMWUyMDZiZmYyZWY1ZDllODg4MmNiZGNlNGE1ZmJjY2M0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IFNhdCwgMjEgSmFuIDIwMjMgMTk6MTc6MzggKzAxMDAKU3ViamVjdDogW1BBVENIIDIvMl0gYXZm b3JtYXQ6IGFkZCBXYXZBcmMgZGVtdXhlcgoKU2lnbmVkLW9mZi1ieTogUGF1bCBCIE1haG9sIDxv bmVtZGFAZ21haWwuY29tPgotLS0KIGxpYmF2Zm9ybWF0L01ha2VmaWxlICAgICB8ICAgMSArCiBs aWJhdmZvcm1hdC9hbGxmb3JtYXRzLmMgfCAgIDEgKwogbGliYXZmb3JtYXQvd2F2YXJjLmMgICAg IHwgMTI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBj aGFuZ2VkLCAxMjkgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2Zm9ybWF0 L3dhdmFyYy5jCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvTWFrZWZpbGUgYi9saWJhdmZvcm1h dC9NYWtlZmlsZQppbmRleCAyZDExYmNkN2EzLi45MDUyYjAyM2E3IDEwMDY0NAotLS0gYS9saWJh dmZvcm1hdC9NYWtlZmlsZQorKysgYi9saWJhdmZvcm1hdC9NYWtlZmlsZQpAQCAtNTk4LDYgKzU5 OCw3IEBAIE9CSlMtJChDT05GSUdfVlFGX0RFTVVYRVIpICAgICAgICAgICAgICAgKz0gdnFmLm8K IE9CSlMtJChDT05GSUdfVzY0X0RFTVVYRVIpICAgICAgICAgICAgICAgKz0gd2F2ZGVjLm8gdzY0 Lm8gcGNtLm8KIE9CSlMtJChDT05GSUdfVzY0X01VWEVSKSAgICAgICAgICAgICAgICAgKz0gd2F2 ZW5jLm8gdzY0Lm8KIE9CSlMtJChDT05GSUdfV0FEWV9ERU1VWEVSKSAgICAgICAgICAgICAgKz0g d2FkeS5vIHBjbS5vCitPQkpTLSQoQ09ORklHX1dBVkFSQ19ERU1VWEVSKSAgICAgICAgICAgICs9 IHdhdmFyYy5vIHJhd2RlYy5vCiBPQkpTLSQoQ09ORklHX1dBVl9ERU1VWEVSKSAgICAgICAgICAg ICAgICs9IHdhdmRlYy5vIHBjbS5vCiBPQkpTLSQoQ09ORklHX1dBVl9NVVhFUikgICAgICAgICAg ICAgICAgICs9IHdhdmVuYy5vCiBPQkpTLSQoQ09ORklHX1dDM19ERU1VWEVSKSAgICAgICAgICAg ICAgICs9IHdjM21vdmllLm8KZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2FsbGZvcm1hdHMuYyBi L2xpYmF2Zm9ybWF0L2FsbGZvcm1hdHMuYwppbmRleCBiZjhhZmUyMDc4Li43YzAxYzdmMDk4IDEw MDY0NAotLS0gYS9saWJhdmZvcm1hdC9hbGxmb3JtYXRzLmMKKysrIGIvbGliYXZmb3JtYXQvYWxs Zm9ybWF0cy5jCkBAIC00ODAsNiArNDgwLDcgQEAgZXh0ZXJuIGNvbnN0IEFWSW5wdXRGb3JtYXQg IGZmX3ZxZl9kZW11eGVyOwogZXh0ZXJuIGNvbnN0IEFWSW5wdXRGb3JtYXQgIGZmX3c2NF9kZW11 eGVyOwogZXh0ZXJuIGNvbnN0IEFWT3V0cHV0Rm9ybWF0IGZmX3c2NF9tdXhlcjsKIGV4dGVybiBj b25zdCBBVklucHV0Rm9ybWF0ICBmZl93YWR5X2RlbXV4ZXI7CitleHRlcm4gY29uc3QgQVZJbnB1 dEZvcm1hdCAgZmZfd2F2YXJjX2RlbXV4ZXI7CiBleHRlcm4gY29uc3QgQVZJbnB1dEZvcm1hdCAg ZmZfd2F2X2RlbXV4ZXI7CiBleHRlcm4gY29uc3QgQVZPdXRwdXRGb3JtYXQgZmZfd2F2X211eGVy OwogZXh0ZXJuIGNvbnN0IEFWSW5wdXRGb3JtYXQgIGZmX3djM19kZW11eGVyOwpkaWZmIC0tZ2l0 IGEvbGliYXZmb3JtYXQvd2F2YXJjLmMgYi9saWJhdmZvcm1hdC93YXZhcmMuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5hNDc1Yzg1ZjhlCi0tLSAvZGV2L251bGwKKysr IGIvbGliYXZmb3JtYXQvd2F2YXJjLmMKQEAgLTAsMCArMSwxMjcgQEAKKy8qCisgKiBXYXZBcmMg ZGVtdXhlcgorICogQ29weXJpZ2h0IChjKSAyMDIzIFBhdWwgQiBNYWhvbAorICoKKyAqIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4KKyAqCisgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g Mi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorICoKKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug YWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAq IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rv biwgTUEgMDIxMTAtMTMwMSBVU0EKKyAqLworCisjaW5jbHVkZSAibGliYXZ1dGlsL2NoYW5uZWxf bGF5b3V0LmgiCisjaW5jbHVkZSAibGliYXZ1dGlsL2ludHJlYWR3cml0ZS5oIgorI2luY2x1ZGUg ImF2Zm9ybWF0LmgiCisjaW5jbHVkZSAiZGVtdXguaCIKKyNpbmNsdWRlICJpbnRlcm5hbC5oIgor I2luY2x1ZGUgInJhd2RlYy5oIgorCitzdGF0aWMgaW50IHdhdmFyY19wcm9iZShjb25zdCBBVlBy b2JlRGF0YSAqcCkKK3sKKyAgICBpbnQgbGVuID0gcC0+YnVmWzBdOworICAgIHVpbnQzMl90IGlk OworCisgICAgaWYgKGxlbiA9PSAwIHx8IGxlbiArIDYgPj0gcC0+YnVmX3NpemUpCisgICAgICAg IHJldHVybiAwOworCisgICAgaWYgKHAtPmJ1ZltsZW4gKyAxXSAhPSAwKQorICAgICAgICByZXR1 cm4gMDsKKworICAgIGlkID0gQVZfUkwzMihwLT5idWYgKyBsZW4gKyAyKTsKKyAgICBpZiAoaWQg IT0gTUtUQUcoJzEnLCdEJywnSScsJ0YnKSAmJgorICAgICAgICBpZCAhPSBNS1RBRygnMicsJ1Mn LCdMJywnUCcpICYmCisgICAgICAgIGlkICE9IE1LVEFHKCczJywnTicsJ0wnLCdQJykgJiYKKyAg ICAgICAgaWQgIT0gTUtUQUcoJzQnLCdBJywnTCcsJ1AnKSAmJgorICAgICAgICBpZCAhPSBNS1RB RygnNScsJ0UnLCdMJywnUCcpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBBVlBS T0JFX1NDT1JFX01BWCAvIDMgKiAyOworfQorCitzdGF0aWMgaW50IHdhdmFyY19yZWFkX2hlYWRl cihBVkZvcm1hdENvbnRleHQgKnMpCit7CisgICAgQVZJT0NvbnRleHQgKnBiID0gcy0+cGI7Cisg ICAgQVZDb2RlY1BhcmFtZXRlcnMgKnBhcjsKKyAgICBpbnQgZmlsZW5hbWVfbGVuLCBmbXRfbGVu LCByZXQ7CisgICAgdWludDhfdCBkYXRhWzM2XTsKKyAgICBBVlN0cmVhbSAqc3Q7CisgICAgdWlu dDMyX3QgaWQ7CisKKyAgICBmaWxlbmFtZV9sZW4gPSBhdmlvX3I4KHBiKTsKKyAgICBpZiAoZmls ZW5hbWVfbGVuID09IDApCisgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworICAg IGF2aW9fc2tpcChwYiwgZmlsZW5hbWVfbGVuKTsKKyAgICBpZiAoYXZpb19yOChwYikpCisgICAg ICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworICAgIGlkID0gYXZpb19ybDMyKHBiKTsK KyAgICBpZiAoYXZpb19yZWFkKHBiLCBkYXRhLCBzaXplb2YoZGF0YSkpICE9IHNpemVvZihkYXRh KSkKKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlPKTsKKyAgICBmbXRfbGVuID0gQVZfUkwzMihk YXRhICsgMzIpOworICAgIGlmIChmbXRfbGVuIDwgMTIpCisgICAgICAgIHJldHVybiBBVkVSUk9S X0lOVkFMSUREQVRBOworCisgICAgc3QgPSBhdmZvcm1hdF9uZXdfc3RyZWFtKHMsIE5VTEwpOwor ICAgIGlmICghc3QpCisgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisgICAgcGFyID0g c3QtPmNvZGVjcGFyOworCisgICAgcmV0ID0gZmZfYWxsb2NfZXh0cmFkYXRhKHBhciwgZm10X2xl biArIHNpemVvZihkYXRhKSk7CisgICAgaWYgKHJldCA8IDApCisgICAgICAgIHJldHVybiByZXQ7 CisgICAgbWVtY3B5KHBhci0+ZXh0cmFkYXRhLCBkYXRhLCBzaXplb2YoZGF0YSkpOworICAgIGF2 aW9fcmVhZChwYiwgcGFyLT5leHRyYWRhdGEgKyBzaXplb2YoZGF0YSksIGZtdF9sZW4pOworCisg ICAgcGFyLT5jb2RlY190eXBlID0gQVZNRURJQV9UWVBFX0FVRElPOworICAgIHBhci0+Y29kZWNf aWQgICA9IEFWX0NPREVDX0lEX1dBVkFSQzsKKyAgICBwYXItPmNvZGVjX3RhZyAgPSBpZDsKKwor ICAgIGRvIHsKKyAgICAgICAgaWQgPSBhdmlvX3JsMzIocGIpOworICAgICAgICBpZiAoaWQgIT0g TUtUQUcoJ2QnLCdhJywndCcsJ2EnKSkKKyAgICAgICAgICAgIGF2aW9fc2tpcChwYiwgYXZpb19y bDMyKHBiKSk7CisgICAgfSB3aGlsZSAoaWQgIT0gTUtUQUcoJ2QnLCdhJywndCcsJ2EnKSk7Cisg ICAgYXZpb19za2lwKHBiLCA0KTsKKworICAgIGlmIChBVl9STDMyKHBhci0+ZXh0cmFkYXRhICsg MTYpICE9IE1LVEFHKCdSJywnSScsJ0YnLCdGJykpCisgICAgICAgIHJldHVybiBBVkVSUk9SX0lO VkFMSUREQVRBOworICAgIGlmIChBVl9STDMyKHBhci0+ZXh0cmFkYXRhICsgMjQpICE9IE1LVEFH KCdXJywnQScsJ1YnLCdFJykpCisgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwor ICAgIGlmIChBVl9STDMyKHBhci0+ZXh0cmFkYXRhICsgMjgpICE9IE1LVEFHKCdmJywnbScsJ3Qn LCcgJykpCisgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworCisgICAgYXZfY2hh bm5lbF9sYXlvdXRfdW5pbml0KCZwYXItPmNoX2xheW91dCk7CisgICAgYXZfY2hhbm5lbF9sYXlv dXRfZGVmYXVsdCgmcGFyLT5jaF9sYXlvdXQsIEFWX1JMMTYocGFyLT5leHRyYWRhdGEgKyAzOCkp OworICAgIHBhci0+c2FtcGxlX3JhdGUgPSBBVl9STDMyKHBhci0+ZXh0cmFkYXRhICsgNDApOwor ICAgIGF2cHJpdl9zZXRfcHRzX2luZm8oc3QsIDY0LCAxLCBwYXItPnNhbXBsZV9yYXRlKTsKKyAg ICBzdC0+c3RhcnRfdGltZSA9IDA7CisKKyAgICBzd2l0Y2ggKHBhci0+ZXh0cmFkYXRhWzM2XSkg eworICAgIGNhc2UgMDogcGFyLT5mb3JtYXQgPSBBVl9TQU1QTEVfRk1UX1U4UDsgIGJyZWFrOwor ICAgIGNhc2UgMTogcGFyLT5mb3JtYXQgPSBBVl9TQU1QTEVfRk1UX1MxNlA7IGJyZWFrOworICAg IH0KKworICAgIHJldHVybiAwOworfQorCitjb25zdCBBVklucHV0Rm9ybWF0IGZmX3dhdmFyY19k ZW11eGVyID0geworICAgIC5uYW1lICAgICAgICAgICA9ICJ3YXZhcmMiLAorICAgIC5sb25nX25h bWUgICAgICA9IE5VTExfSUZfQ09ORklHX1NNQUxMKCJXYXZlZm9ybSBBcmNoaXZlciIpLAorICAg IC5yZWFkX3Byb2JlICAgICA9IHdhdmFyY19wcm9iZSwKKyAgICAucmVhZF9wYWNrZXQgICAgPSBm Zl9yYXdfcmVhZF9wYXJ0aWFsX3BhY2tldCwKKyAgICAuZmxhZ3MgICAgICAgICAgPSBBVkZNVF9O T0JJTlNFQVJDSCB8IEFWRk1UX05PR0VOU0VBUkNIIHwgQVZGTVRfTk9fQllURV9TRUVLIHwgQVZG TVRfTk9USU1FU1RBTVBTLAorICAgIC5yZWFkX2hlYWRlciAgICA9IHdhdmFyY19yZWFkX2hlYWRl ciwKKyAgICAuZXh0ZW5zaW9ucyAgICAgPSAid2EiLAorICAgIC5yYXdfY29kZWNfaWQgICA9IEFW X0NPREVDX0lEX1dBVkFSQywKKyAgICAucHJpdl9kYXRhX3NpemUgPSBzaXplb2YoRkZSYXdEZW11 eGVyQ29udGV4dCksCisgICAgLnByaXZfY2xhc3MgICAgID0gJmZmX3Jhd19kZW11eGVyX2NsYXNz LAorfTsKLS0gCjIuMzkuMQoK --000000000000167e9205f365d835 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". --000000000000167e9205f365d835--