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 B361445F90 for ; Sat, 22 Apr 2023 16:19:10 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A30F468BF7F; Sat, 22 Apr 2023 19:19:06 +0300 (EEST) Received: from mail-ua1-f48.google.com (mail-ua1-f48.google.com [209.85.222.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A73F96804B4 for ; Sat, 22 Apr 2023 19:18:59 +0300 (EEST) Received: by mail-ua1-f48.google.com with SMTP id a1e0cc1a2514c-773c30de3a4so830063241.1 for ; Sat, 22 Apr 2023 09:18:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682180338; x=1684772338; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=TEu1MDshh51oMVZAknyRXJ0eWdS67GNzcl4kEwhr5W0=; b=EVd8AufutC3KFfPaFsbrCK3WVobfrdJheps747MjKeFY03toZNwTCFjigC67leYDXt R6kOtHqK1s0xfntewotQIypKV0BLpPRD5Yj4hAaYwgE2GN0NkO0+k/w78F94qMR4kg3h a7+tl5OUwjfzqge/xH80xqocnmAuFJgb6LZBeJeE6M58PbTMiL4g6MSu3PrgIAOMN2Tb s8+p5Tc8PO/p3MAXXQ/Et0goj1RQymbjVQLBvgvma7WRYri4JCA7D+w+DGU81iFiymZ/ t2K/1jeaC+AgIiRo/apjz6rPJxAGDiajV3R4X2Xu3EgyzbvRhOH885XK4H8WRcrB05cX uszQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682180338; x=1684772338; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=TEu1MDshh51oMVZAknyRXJ0eWdS67GNzcl4kEwhr5W0=; b=WNu1BdEgMDc8AmnYmAaM3QKN4+zVwF/fb4Ss2wLHwjzMdhrCYyeIz429G+BSNl80Cr fZiCJmO0dz7HfbFYTRtPK5O/KgKSduwp/8lXCd61rwtUdFnZkW0L7Q2jIVVfVKy28hrm Yb8jjav6MHfjuEjQ7FZc1965y1SnUkxUfs0ihF1WOLQtmuTRn8szCMR0Hc3Px1q1xmVW qWQkMiR77DVpQ0yIokXap8BwEFZzVfQxhd6oMWXSNT9ssQW6vHWXyPY6ovbcD39SNz+/ MrHaFUpa/VRNF+eIhM/hxsTPkt1tWFSbbt2am9W8K6yCUratzzsQoRWkLX0UMmYE5Swm PFVA== X-Gm-Message-State: AAQBX9d44TjyYnYAZ2VvaNlRHNxggRpdylh3eJA77ezfoEr8JkaTDJp6 Ts4FfWaDfjEJqjEOkrXWtDUNSfub7Zufb4k03Rv9cyN/ X-Google-Smtp-Source: AKy350YMgwbQSLitjaOx+GY+z+bvyonHHbt5YQmHr6MWTI6AIy2P+O1RFgbmYSw4m8fsjNuFbnZmdrNwnrFh9BQ95OU= X-Received: by 2002:a1f:3f42:0:b0:43c:2acb:2c3f with SMTP id m63-20020a1f3f42000000b0043c2acb2c3fmr1881943vka.5.1682180337865; Sat, 22 Apr 2023 09:18:57 -0700 (PDT) MIME-Version: 1.0 From: Paul B Mahol Date: Sat, 22 Apr 2023 18:18:44 +0200 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="0000000000007cabba05f9ef21cf" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] avfilter: add audio rls filter 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: --0000000000007cabba05f9ef21cf Content-Type: text/plain; charset="UTF-8" Attached. --0000000000007cabba05f9ef21cf Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avfilter-add-arls-filter.patch" Content-Disposition: attachment; filename="0001-avfilter-add-arls-filter.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lgs6putm0 RnJvbSBjZGEyMWExZTEyYzhkYmM1ZGJmMzk1NTZjZWMyNmIzZTI1NTE4NGVjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IFN1biwgMTYgQXByIDIwMjMgMTg6NTM6MDcgKzAyMDAKU3ViamVjdDogW1BBVENIXSBhdmZpbHRl cjogYWRkIGFybHMgZmlsdGVyCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIEIgTWFob2wgPG9uZW1kYUBn bWFpbC5jb20+Ci0tLQogbGliYXZmaWx0ZXIvTWFrZWZpbGUgICAgIHwgICAxICsKIGxpYmF2Zmls dGVyL2FmX2FybHMuYyAgICB8IDM1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIGxpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYyB8ICAgMSArCiAzIGZpbGVzIGNoYW5nZWQs IDM1NSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZmaWx0ZXIvYWZfYXJs cy5jCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvTWFrZWZpbGUgYi9saWJhdmZpbHRlci9NYWtl ZmlsZQppbmRleCBjZmIzMTA0ZDQzLi5jNDYzZjQ1Njg5IDEwMDY0NAotLS0gYS9saWJhdmZpbHRl ci9NYWtlZmlsZQorKysgYi9saWJhdmZpbHRlci9NYWtlZmlsZQpAQCAtOTAsNiArOTAsNyBAQCBP QkpTLSQoQ09ORklHX0FQVUxTQVRPUl9GSUxURVIpICAgICAgICAgICAgICArPSBhZl9hcHVsc2F0 b3IubwogT0JKUy0kKENPTkZJR19BUkVBTFRJTUVfRklMVEVSKSAgICAgICAgICAgICAgKz0gZl9y ZWFsdGltZS5vCiBPQkpTLSQoQ09ORklHX0FSRVNBTVBMRV9GSUxURVIpICAgICAgICAgICAgICAr PSBhZl9hcmVzYW1wbGUubwogT0JKUy0kKENPTkZJR19BUkVWRVJTRV9GSUxURVIpICAgICAgICAg ICAgICAgKz0gZl9yZXZlcnNlLm8KK09CSlMtJChDT05GSUdfQVJMU19GSUxURVIpICAgICAgICAg ICAgICAgICAgICs9IGFmX2FybHMubwogT0JKUy0kKENPTkZJR19BUk5ORE5fRklMVEVSKSAgICAg ICAgICAgICAgICAgKz0gYWZfYXJubmRuLm8KIE9CSlMtJChDT05GSUdfQVNEUl9GSUxURVIpICAg ICAgICAgICAgICAgICAgICs9IGFmX2FzZHIubwogT0JKUy0kKENPTkZJR19BU0VHTUVOVF9GSUxU RVIpICAgICAgICAgICAgICAgKz0gZl9zZWdtZW50Lm8KZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVy L2FmX2FybHMuYyBiL2xpYmF2ZmlsdGVyL2FmX2FybHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwLi4xZDkxOTU0YzAyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYXZmaWx0 ZXIvYWZfYXJscy5jCkBAIC0wLDAgKzEsMzUzIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDIz IFBhdWwgQiBNYWhvbAorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4KKyAqCisg KiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg R05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIg R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3Jp dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKyAqLworCisj aW5jbHVkZSAibGliYXZ1dGlsL2NvbW1vbi5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9mbG9hdF9k c3AuaCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCisKKyNpbmNsdWRlICJhdWRpby5oIgor I2luY2x1ZGUgImF2ZmlsdGVyLmgiCisjaW5jbHVkZSAiZm9ybWF0cy5oIgorI2luY2x1ZGUgImZp bHRlcnMuaCIKKyNpbmNsdWRlICJpbnRlcm5hbC5oIgorCitlbnVtIE91dE1vZGVzIHsKKyAgICBJ Tl9NT0RFLAorICAgIERFU0lSRURfTU9ERSwKKyAgICBPVVRfTU9ERSwKKyAgICBOT0lTRV9NT0RF LAorICAgIE5CX09NT0RFUworfTsKKwordHlwZWRlZiBzdHJ1Y3QgQXVkaW9STFNDb250ZXh0IHsK KyAgICBjb25zdCBBVkNsYXNzICpjbGFzczsKKworICAgIGludCBvcmRlcjsKKyAgICBmbG9hdCBs YW1iZGE7CisgICAgZmxvYXQgZGVsdGE7CisgICAgaW50IG91dHB1dF9tb2RlOworCisgICAgaW50 IGtlcm5lbF9zaXplOworICAgIEFWRnJhbWUgKm9mZnNldDsKKyAgICBBVkZyYW1lICpkZWxheTsK KyAgICBBVkZyYW1lICpjb2VmZnM7CisgICAgQVZGcmFtZSAqcCwgKmRwOworICAgIEFWRnJhbWUg KmdhaW5zOworICAgIEFWRnJhbWUgKnUsICp0bXA7CisKKyAgICBBVkZyYW1lICpmcmFtZVsyXTsK KworICAgIEFWRmxvYXREU1BDb250ZXh0ICpmZHNwOworfSBBdWRpb1JMU0NvbnRleHQ7CisKKyNk ZWZpbmUgT0ZGU0VUKHgpIG9mZnNldG9mKEF1ZGlvUkxTQ29udGV4dCwgeCkKKyNkZWZpbmUgQSBB Vl9PUFRfRkxBR19BVURJT19QQVJBTXxBVl9PUFRfRkxBR19GSUxURVJJTkdfUEFSQU0KKyNkZWZp bmUgQVQgQVZfT1BUX0ZMQUdfQVVESU9fUEFSQU18QVZfT1BUX0ZMQUdfRklMVEVSSU5HX1BBUkFN fEFWX09QVF9GTEFHX1JVTlRJTUVfUEFSQU0KKworc3RhdGljIGNvbnN0IEFWT3B0aW9uIGFybHNf b3B0aW9uc1tdID0geworICAgIHsgIm9yZGVyIiwgICAgInNldCB0aGUgZmlsdGVyIG9yZGVyIiwg IE9GRlNFVChvcmRlciksICBBVl9PUFRfVFlQRV9JTlQsICAgey5pNjQ9MTZ9LCAxLCBJTlQxNl9N QVgsIEEgfSwKKyAgICB7ICJsYW1iZGEiLCAgICJzZXQgdGhlIGZpbHRlciBsYW1iZGEiLCBPRkZT RVQobGFtYmRhKSwgQVZfT1BUX1RZUEVfRkxPQVQsIHsuZGJsPTEuZn0sIDAsIDEsIEFUIH0sCisg ICAgeyAiZGVsdGEiLCAgICAic2V0IHRoZSBmaWx0ZXIgZGVsdGEiLCAgT0ZGU0VUKGRlbHRhKSwg IEFWX09QVF9UWVBFX0ZMT0FULCB7LmRibD0yLmZ9LCAwLCBJTlQxNl9NQVgsIEEgfSwKKyAgICB7 ICJvdXRfbW9kZSIsICJzZXQgb3V0cHV0IG1vZGUiLCAgICAgICBPRkZTRVQob3V0cHV0X21vZGUp LCBBVl9PUFRfVFlQRV9JTlQsIHsuaTY0PU9VVF9NT0RFfSwgMCwgTkJfT01PREVTLTEsIEFULCAi bW9kZSIgfSwKKyAgICB7ICAiaSIsICJpbnB1dCIsICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsu aTY0PUlOX01PREV9LCAgICAgIDAsIDAsIEFULCAibW9kZSIgfSwKKyAgICB7ICAiZCIsICJkZXNp cmVkIiwgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsuaTY0PURFU0lSRURfTU9ERX0sIDAsIDAsIEFU LCAibW9kZSIgfSwKKyAgICB7ICAibyIsICJvdXRwdXQiLCAgMCwgQVZfT1BUX1RZUEVfQ09OU1Qs IHsuaTY0PU9VVF9NT0RFfSwgICAgIDAsIDAsIEFULCAibW9kZSIgfSwKKyAgICB7ICAibiIsICJu b2lzZSIsICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsuaTY0PU5PSVNFX01PREV9LCAgIDAsIDAs IEFULCAibW9kZSIgfSwKKyAgICB7IE5VTEwgfQorfTsKKworQVZGSUxURVJfREVGSU5FX0NMQVNT KGFybHMpOworCitzdGF0aWMgZmxvYXQgZmlyX3NhbXBsZShBdWRpb1JMU0NvbnRleHQgKnMsIGZs b2F0IHNhbXBsZSwgZmxvYXQgKmRlbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQg KmNvZWZmcywgZmxvYXQgKnRtcCwgaW50ICpvZmZzZXQpCit7CisgICAgY29uc3QgaW50IG9yZGVy ID0gcy0+b3JkZXI7CisgICAgZmxvYXQgb3V0cHV0OworCisgICAgZGVsYXlbKm9mZnNldF0gPSBz YW1wbGU7CisKKyAgICBtZW1jcHkodG1wLCBjb2VmZnMgKyBvcmRlciAtICpvZmZzZXQsIG9yZGVy ICogc2l6ZW9mKGZsb2F0KSk7CisKKyAgICBvdXRwdXQgPSBzLT5mZHNwLT5zY2FsYXJwcm9kdWN0 X2Zsb2F0KGRlbGF5LCB0bXAsIHMtPmtlcm5lbF9zaXplKTsKKworICAgIGlmICgtLSgqb2Zmc2V0 KSA8IDApCisgICAgICAgICpvZmZzZXQgPSBvcmRlciAtIDE7CisKKyAgICByZXR1cm4gb3V0cHV0 OworfQorCitzdGF0aWMgZmxvYXQgcHJvY2Vzc19zYW1wbGUoQXVkaW9STFNDb250ZXh0ICpzLCBm bG9hdCBpbnB1dCwgZmxvYXQgZGVzaXJlZCwgaW50IGNoKQoreworICAgIGZsb2F0ICpjb2VmZnMg PSAoZmxvYXQgKilzLT5jb2VmZnMtPmV4dGVuZGVkX2RhdGFbY2hdOworICAgIGZsb2F0ICpkZWxh eSA9IChmbG9hdCAqKXMtPmRlbGF5LT5leHRlbmRlZF9kYXRhW2NoXTsKKyAgICBmbG9hdCAqZ2Fp bnMgPSAoZmxvYXQgKilzLT5nYWlucy0+ZXh0ZW5kZWRfZGF0YVtjaF07CisgICAgZmxvYXQgKnRt cCA9IChmbG9hdCAqKXMtPnRtcC0+ZXh0ZW5kZWRfZGF0YVtjaF07CisgICAgZmxvYXQgKnUgPSAo ZmxvYXQgKilzLT51LT5leHRlbmRlZF9kYXRhW2NoXTsKKyAgICBmbG9hdCAqcCA9IChmbG9hdCAq KXMtPnAtPmV4dGVuZGVkX2RhdGFbY2hdOworICAgIGZsb2F0ICpkcCA9IChmbG9hdCAqKXMtPmRw LT5leHRlbmRlZF9kYXRhW2NoXTsKKyAgICBpbnQgKm9mZnNldHAgPSAoaW50ICopcy0+b2Zmc2V0 LT5leHRlbmRlZF9kYXRhW2NoXTsKKyAgICBjb25zdCBpbnQga2VybmVsX3NpemUgPSBzLT5rZXJu ZWxfc2l6ZTsKKyAgICBjb25zdCBpbnQgb3JkZXIgPSBzLT5vcmRlcjsKKyAgICBjb25zdCBmbG9h dCBsYW1iZGEgPSBzLT5sYW1iZGE7CisgICAgaW50IG9mZnNldCA9ICpvZmZzZXRwOworICAgIGZs b2F0IGcgPSBsYW1iZGE7CisgICAgZmxvYXQgb3V0cHV0LCBlOworCisgICAgZGVsYXlbb2Zmc2V0 ICsgb3JkZXJdID0gaW5wdXQ7CisKKyAgICBvdXRwdXQgPSBmaXJfc2FtcGxlKHMsIGlucHV0LCBk ZWxheSwgY29lZmZzLCB0bXAsIG9mZnNldHApOworICAgIGUgPSBkZXNpcmVkIC0gb3V0cHV0Owor CisgICAgZm9yIChpbnQgaSA9IDAsIHBvcyA9IG9mZnNldDsgaSA8IG9yZGVyOyBpKyssIHBvcysr KSB7CisgICAgICAgIGNvbnN0IGludCBpa2VybmVsX3NpemUgPSBpICoga2VybmVsX3NpemU7CisK KyAgICAgICAgdVtpXSA9IDAuZjsKKyAgICAgICAgZm9yIChpbnQgayA9IDAsIHBvcyA9IG9mZnNl dDsgayA8IG9yZGVyOyBrKyssIHBvcysrKQorICAgICAgICAgICAgdVtpXSArPSBwW2lrZXJuZWxf c2l6ZSArIGtdICogZGVsYXlbcG9zXTsKKworICAgICAgICBnICs9IHVbaV0gKiBkZWxheVtwb3Nd OworICAgIH0KKworICAgIGcgPSAxLmYgLyBnOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBv cmRlcjsgaSsrKSB7CisgICAgICAgIGNvbnN0IGludCBpa2VybmVsX3NpemUgPSBpICoga2VybmVs X3NpemU7CisKKyAgICAgICAgZ2FpbnNbaV0gPSB1W2ldICogZzsKKyAgICAgICAgY29lZmZzW2ld ID0gY29lZmZzW29yZGVyICsgaV0gPSBjb2VmZnNbaV0gKyBnYWluc1tpXSAqIGU7CisgICAgICAg IHRtcFtpXSA9IDAuZjsKKyAgICAgICAgZm9yIChpbnQgayA9IDAsIHBvcyA9IG9mZnNldDsgayA8 IG9yZGVyOyBrKyssIHBvcysrKQorICAgICAgICAgICAgdG1wW2ldICs9IHBbaWtlcm5lbF9zaXpl ICsga10gKiBkZWxheVtwb3NdOworICAgIH0KKworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgb3Jk ZXI7IGkrKykgeworICAgICAgICBjb25zdCBpbnQgaWtlcm5lbF9zaXplID0gaSAqIGtlcm5lbF9z aXplOworCisgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgb3JkZXI7IGsrKykKKyAgICAgICAg ICAgIGRwW2lrZXJuZWxfc2l6ZSArIGtdID0gZ2FpbnNbaV0gKiB0bXBba107CisgICAgfQorCisg ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBvcmRlcjsgaSsrKSB7CisgICAgICAgIGNvbnN0IGludCBp a2VybmVsX3NpemUgPSBpICoga2VybmVsX3NpemU7CisKKyAgICAgICAgZm9yIChpbnQgayA9IDA7 IGsgPCBvcmRlcjsgaysrKQorICAgICAgICAgICAgcFtpa2VybmVsX3NpemUgKyBrXSA9IChwW2lr ZXJuZWxfc2l6ZSArIGtdIC0gKGRwW2lrZXJuZWxfc2l6ZSArIGtdICsgZHBba2VybmVsX3NpemUg KiBrICsgaV0pICogMC41ZikgKiBsYW1iZGE7CisgICAgfQorCisgICAgc3dpdGNoIChzLT5vdXRw dXRfbW9kZSkgeworICAgIGNhc2UgSU5fTU9ERTogICAgICAgb3V0cHV0ID0gaW5wdXQ7ICAgICAg ICAgYnJlYWs7CisgICAgY2FzZSBERVNJUkVEX01PREU6ICBvdXRwdXQgPSBkZXNpcmVkOyAgICAg ICBicmVhazsKKyAgICBjYXNlIE9VVF9NT0RFOiAgIG91dHB1dCA9IGRlc2lyZWQgLSBvdXRwdXQ7 IGJyZWFrOworICAgIGNhc2UgTk9JU0VfTU9ERTogb3V0cHV0ID0gaW5wdXQgLSBvdXRwdXQ7ICAg YnJlYWs7CisgICAgfQorICAgIHJldHVybiBvdXRwdXQ7Cit9CisKK3N0YXRpYyBpbnQgcHJvY2Vz c19jaGFubmVscyhBVkZpbHRlckNvbnRleHQgKmN0eCwgdm9pZCAqYXJnLCBpbnQgam9ibnIsIGlu dCBuYl9qb2JzKQoreworICAgIEF1ZGlvUkxTQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsKKyAgICBB VkZyYW1lICpvdXQgPSBhcmc7CisgICAgY29uc3QgaW50IHN0YXJ0ID0gKG91dC0+Y2hfbGF5b3V0 Lm5iX2NoYW5uZWxzICogam9ibnIpIC8gbmJfam9iczsKKyAgICBjb25zdCBpbnQgZW5kID0gKG91 dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzICogKGpvYm5yKzEpKSAvIG5iX2pvYnM7CisKKyAgICBm b3IgKGludCBjID0gc3RhcnQ7IGMgPCBlbmQ7IGMrKykgeworICAgICAgICBjb25zdCBmbG9hdCAq aW5wdXQgPSAoY29uc3QgZmxvYXQgKilzLT5mcmFtZVswXS0+ZXh0ZW5kZWRfZGF0YVtjXTsKKyAg ICAgICAgY29uc3QgZmxvYXQgKmRlc2lyZWQgPSAoY29uc3QgZmxvYXQgKilzLT5mcmFtZVsxXS0+ ZXh0ZW5kZWRfZGF0YVtjXTsKKyAgICAgICAgZmxvYXQgKm91dHB1dCA9IChmbG9hdCAqKW91dC0+ ZXh0ZW5kZWRfZGF0YVtjXTsKKworICAgICAgICBmb3IgKGludCBuID0gMDsgbiA8IG91dC0+bmJf c2FtcGxlczsgbisrKSB7CisgICAgICAgICAgICBvdXRwdXRbbl0gPSBwcm9jZXNzX3NhbXBsZShz LCBpbnB1dFtuXSwgZGVzaXJlZFtuXSwgYyk7CisgICAgICAgICAgICBpZiAoY3R4LT5pc19kaXNh YmxlZCkKKyAgICAgICAgICAgICAgICBvdXRwdXRbbl0gPSBpbnB1dFtuXTsKKyAgICAgICAgfQor ICAgIH0KKworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFjdGl2YXRlKEFWRmlsdGVy Q29udGV4dCAqY3R4KQoreworICAgIEF1ZGlvUkxTQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsKKyAg ICBpbnQgaSwgcmV0LCBzdGF0dXM7CisgICAgaW50IG5iX3NhbXBsZXM7CisgICAgaW50NjRfdCBw dHM7CisKKyAgICBGRl9GSUxURVJfRk9SV0FSRF9TVEFUVVNfQkFDS19BTEwoY3R4LT5vdXRwdXRz WzBdLCBjdHgpOworCisgICAgbmJfc2FtcGxlcyA9IEZGTUlOKGZmX2lubGlua19xdWV1ZWRfc2Ft cGxlcyhjdHgtPmlucHV0c1swXSksCisgICAgICAgICAgICAgICAgICAgICAgIGZmX2lubGlua19x dWV1ZWRfc2FtcGxlcyhjdHgtPmlucHV0c1sxXSkpOworICAgIGZvciAoaSA9IDA7IGkgPCBjdHgt Pm5iX2lucHV0cyAmJiBuYl9zYW1wbGVzID4gMDsgaSsrKSB7CisgICAgICAgIGlmIChzLT5mcmFt ZVtpXSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGlmIChmZl9pbmxpbmtfY2hl Y2tfYXZhaWxhYmxlX3NhbXBsZXMoY3R4LT5pbnB1dHNbaV0sIG5iX3NhbXBsZXMpID4gMCkgewor ICAgICAgICAgICAgcmV0ID0gZmZfaW5saW5rX2NvbnN1bWVfc2FtcGxlcyhjdHgtPmlucHV0c1tp XSwgbmJfc2FtcGxlcywgbmJfc2FtcGxlcywgJnMtPmZyYW1lW2ldKTsKKyAgICAgICAgICAgIGlm IChyZXQgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgIH0KKyAgICB9 CisKKyAgICBpZiAocy0+ZnJhbWVbMF0gJiYgcy0+ZnJhbWVbMV0pIHsKKyAgICAgICAgQVZGcmFt ZSAqb3V0OworCisgICAgICAgIG91dCA9IGZmX2dldF9hdWRpb19idWZmZXIoY3R4LT5vdXRwdXRz WzBdLCBzLT5mcmFtZVswXS0+bmJfc2FtcGxlcyk7CisgICAgICAgIGlmICghb3V0KSB7CisgICAg ICAgICAgICBhdl9mcmFtZV9mcmVlKCZzLT5mcmFtZVswXSk7CisgICAgICAgICAgICBhdl9mcmFt ZV9mcmVlKCZzLT5mcmFtZVsxXSk7CisgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0p OworICAgICAgICB9CisKKyAgICAgICAgZmZfZmlsdGVyX2V4ZWN1dGUoY3R4LCBwcm9jZXNzX2No YW5uZWxzLCBvdXQsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgIEZGTUlOKGN0eC0+ b3V0cHV0c1swXS0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzLCBmZl9maWx0ZXJfZ2V0X25iX3RocmVh ZHMoY3R4KSkpOworCisgICAgICAgIG91dC0+cHRzID0gcy0+ZnJhbWVbMF0tPnB0czsKKworICAg ICAgICBhdl9mcmFtZV9mcmVlKCZzLT5mcmFtZVswXSk7CisgICAgICAgIGF2X2ZyYW1lX2ZyZWUo JnMtPmZyYW1lWzFdKTsKKworICAgICAgICByZXQgPSBmZl9maWx0ZXJfZnJhbWUoY3R4LT5vdXRw dXRzWzBdLCBvdXQpOworICAgICAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgICAgIHJldHVybiBy ZXQ7CisgICAgfQorCisgICAgaWYgKCFuYl9zYW1wbGVzKSB7CisgICAgICAgIGZvciAoaSA9IDA7 IGkgPCAyOyBpKyspIHsKKyAgICAgICAgICAgIGlmIChmZl9pbmxpbmtfYWNrbm93bGVkZ2Vfc3Rh dHVzKGN0eC0+aW5wdXRzW2ldLCAmc3RhdHVzLCAmcHRzKSkgeworICAgICAgICAgICAgICAgIGZm X291dGxpbmtfc2V0X3N0YXR1cyhjdHgtPm91dHB1dHNbMF0sIHN0YXR1cywgcHRzKTsKKyAgICAg ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKwor ICAgIGlmIChmZl9vdXRsaW5rX2ZyYW1lX3dhbnRlZChjdHgtPm91dHB1dHNbMF0pKSB7CisgICAg ICAgIGZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKKyAgICAgICAgICAgIGlmIChmZl9pbmxpbmtf cXVldWVkX3NhbXBsZXMoY3R4LT5pbnB1dHNbaV0pID4gMCkKKyAgICAgICAgICAgICAgICBjb250 aW51ZTsKKyAgICAgICAgICAgIGZmX2lubGlua19yZXF1ZXN0X2ZyYW1lKGN0eC0+aW5wdXRzW2ld KTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAw OworfQorCitzdGF0aWMgaW50IGNvbmZpZ19vdXRwdXQoQVZGaWx0ZXJMaW5rICpvdXRsaW5rKQor eworICAgIEFWRmlsdGVyQ29udGV4dCAqY3R4ID0gb3V0bGluay0+c3JjOworICAgIEF1ZGlvUkxT Q29udGV4dCAqcyA9IGN0eC0+cHJpdjsKKworICAgIHMtPmtlcm5lbF9zaXplID0gRkZBTElHTihz LT5vcmRlciwgMTYpOworCisgICAgaWYgKCFzLT5vZmZzZXQpCisgICAgICAgIHMtPm9mZnNldCA9 IGZmX2dldF9hdWRpb19idWZmZXIob3V0bGluaywgMSk7CisgICAgaWYgKCFzLT5kZWxheSkKKyAg ICAgICAgcy0+ZGVsYXkgPSBmZl9nZXRfYXVkaW9fYnVmZmVyKG91dGxpbmssIDIgKiBzLT5rZXJu ZWxfc2l6ZSk7CisgICAgaWYgKCFzLT5jb2VmZnMpCisgICAgICAgIHMtPmNvZWZmcyA9IGZmX2dl dF9hdWRpb19idWZmZXIob3V0bGluaywgMiAqIHMtPmtlcm5lbF9zaXplKTsKKyAgICBpZiAoIXMt PmdhaW5zKQorICAgICAgICBzLT5nYWlucyA9IGZmX2dldF9hdWRpb19idWZmZXIob3V0bGluaywg cy0+a2VybmVsX3NpemUpOworICAgIGlmICghcy0+cCkKKyAgICAgICAgcy0+cCA9IGZmX2dldF9h dWRpb19idWZmZXIob3V0bGluaywgcy0+a2VybmVsX3NpemUgKiBzLT5rZXJuZWxfc2l6ZSk7Cisg ICAgaWYgKCFzLT5kcCkKKyAgICAgICAgcy0+ZHAgPSBmZl9nZXRfYXVkaW9fYnVmZmVyKG91dGxp bmssIHMtPmtlcm5lbF9zaXplICogcy0+a2VybmVsX3NpemUpOworICAgIGlmICghcy0+dSkKKyAg ICAgICAgcy0+dSA9IGZmX2dldF9hdWRpb19idWZmZXIob3V0bGluaywgcy0+a2VybmVsX3NpemUp OworICAgIGlmICghcy0+dG1wKQorICAgICAgICBzLT50bXAgPSBmZl9nZXRfYXVkaW9fYnVmZmVy KG91dGxpbmssIHMtPmtlcm5lbF9zaXplKTsKKworICAgIGlmICghcy0+ZGVsYXkgfHwgIXMtPmNv ZWZmcyB8fCAhcy0+cCB8fCAhcy0+ZHAgfHwgIXMtPmdhaW5zIHx8ICFzLT5vZmZzZXQgfHwgIXMt PnUgfHwgIXMtPnRtcCkKKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKworICAgIGZv ciAoaW50IGNoID0gMDsgY2ggPCBzLT5vZmZzZXQtPmNoX2xheW91dC5uYl9jaGFubmVsczsgY2gr KykgeworICAgICAgICBpbnQgKmRzdCA9IChpbnQgKilzLT5vZmZzZXQtPmV4dGVuZGVkX2RhdGFb Y2hdOworCisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcy0+a2VybmVsX3NpemU7IGkrKykK KyAgICAgICAgICAgIGRzdFswXSA9IHMtPmtlcm5lbF9zaXplIC0gMTsKKyAgICB9CisKKyAgICBm b3IgKGludCBjaCA9IDA7IGNoIDwgcy0+cC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOyBjaCsrKSB7 CisgICAgICAgIGZsb2F0ICpkc3QgPSAoZmxvYXQgKilzLT5wLT5leHRlbmRlZF9kYXRhW2NoXTsK KworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHMtPmtlcm5lbF9zaXplOyBpKyspCisgICAg ICAgICAgICBkc3RbaSAqIHMtPmtlcm5lbF9zaXplICsgaV0gPSBzLT5kZWx0YTsKKyAgICB9CisK KyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGF2X2NvbGQgaW50IGluaXQoQVZGaWx0ZXJDb250 ZXh0ICpjdHgpCit7CisgICAgQXVkaW9STFNDb250ZXh0ICpzID0gY3R4LT5wcml2OworCisgICAg cy0+ZmRzcCA9IGF2cHJpdl9mbG9hdF9kc3BfYWxsb2MoMCk7CisgICAgaWYgKCFzLT5mZHNwKQor ICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0 YXRpYyBhdl9jb2xkIHZvaWQgdW5pbml0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQoreworICAgIEF1 ZGlvUkxTQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsKKworICAgIGF2X2ZyZWVwKCZzLT5mZHNwKTsK KyAgICBhdl9mcmFtZV9mcmVlKCZzLT5kZWxheSk7CisgICAgYXZfZnJhbWVfZnJlZSgmcy0+Y29l ZmZzKTsKKyAgICBhdl9mcmFtZV9mcmVlKCZzLT5nYWlucyk7CisgICAgYXZfZnJhbWVfZnJlZSgm cy0+b2Zmc2V0KTsKKyAgICBhdl9mcmFtZV9mcmVlKCZzLT5wKTsKKyAgICBhdl9mcmFtZV9mcmVl KCZzLT5kcCk7CisgICAgYXZfZnJhbWVfZnJlZSgmcy0+dSk7CisgICAgYXZfZnJhbWVfZnJlZSgm cy0+dG1wKTsKK30KKworc3RhdGljIGNvbnN0IEFWRmlsdGVyUGFkIGlucHV0c1tdID0geworICAg IHsKKyAgICAgICAgLm5hbWUgPSAiaW5wdXQiLAorICAgICAgICAudHlwZSA9IEFWTUVESUFfVFlQ RV9BVURJTywKKyAgICB9LAorICAgIHsKKyAgICAgICAgLm5hbWUgPSAiZGVzaXJlZCIsCisgICAg ICAgIC50eXBlID0gQVZNRURJQV9UWVBFX0FVRElPLAorICAgIH0sCit9OworCitzdGF0aWMgY29u c3QgQVZGaWx0ZXJQYWQgb3V0cHV0c1tdID0geworICAgIHsKKyAgICAgICAgLm5hbWUgICAgICAg ICA9ICJkZWZhdWx0IiwKKyAgICAgICAgLnR5cGUgICAgICAgICA9IEFWTUVESUFfVFlQRV9BVURJ TywKKyAgICAgICAgLmNvbmZpZ19wcm9wcyA9IGNvbmZpZ19vdXRwdXQsCisgICAgfSwKK307CisK K2NvbnN0IEFWRmlsdGVyIGZmX2FmX2FybHMgPSB7CisgICAgLm5hbWUgICAgICAgICAgID0gImFy bHMiLAorICAgIC5kZXNjcmlwdGlvbiAgICA9IE5VTExfSUZfQ09ORklHX1NNQUxMKCJBcHBseSBS ZWN1cnNpdmUgTGVhc3QgU3F1YXJlcyBhbGdvcml0aG0gdG8gZmlyc3QgYXVkaW8gc3RyZWFtLiIp LAorICAgIC5wcml2X3NpemUgICAgICA9IHNpemVvZihBdWRpb1JMU0NvbnRleHQpLAorICAgIC5w cml2X2NsYXNzICAgICA9ICZhcmxzX2NsYXNzLAorICAgIC5pbml0ICAgICAgICAgICA9IGluaXQs CisgICAgLnVuaW5pdCAgICAgICAgID0gdW5pbml0LAorICAgIC5hY3RpdmF0ZSAgICAgICA9IGFj dGl2YXRlLAorICAgIEZJTFRFUl9JTlBVVFMoaW5wdXRzKSwKKyAgICBGSUxURVJfT1VUUFVUUyhv dXRwdXRzKSwKKyAgICBGSUxURVJfU0lOR0xFX1NBTVBMRUZNVChBVl9TQU1QTEVfRk1UX0ZMVFAp LAorICAgIC5mbGFncyAgICAgICAgICA9IEFWRklMVEVSX0ZMQUdfU1VQUE9SVF9USU1FTElORV9J TlRFUk5BTCB8CisgICAgICAgICAgICAgICAgICAgICAgQVZGSUxURVJfRkxBR19TTElDRV9USFJF QURTLAorICAgIC5wcm9jZXNzX2NvbW1hbmQgPSBmZl9maWx0ZXJfcHJvY2Vzc19jb21tYW5kLAor fTsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYyBiL2xpYmF2ZmlsdGVyL2Fs bGZpbHRlcnMuYwppbmRleCA0MzMzZWViNmFhLi41ZTM4ZDVhN2RhIDEwMDY0NAotLS0gYS9saWJh dmZpbHRlci9hbGxmaWx0ZXJzLmMKKysrIGIvbGliYXZmaWx0ZXIvYWxsZmlsdGVycy5jCkBAIC03 Nyw2ICs3Nyw3IEBAIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl9hZl9hcHVsc2F0b3I7CiBleHRl cm4gY29uc3QgQVZGaWx0ZXIgZmZfYWZfYXJlYWx0aW1lOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVy IGZmX2FmX2FyZXNhbXBsZTsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl9hZl9hcmV2ZXJzZTsK K2V4dGVybiBjb25zdCBBVkZpbHRlciBmZl9hZl9hcmxzOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVy IGZmX2FmX2Fybm5kbjsKIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl9hZl9hc2RyOwogZXh0ZXJu IGNvbnN0IEFWRmlsdGVyIGZmX2FmX2FzZWdtZW50OwotLSAKMi4zOS4xCgo= --0000000000007cabba05f9ef21cf 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". --0000000000007cabba05f9ef21cf--