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 B3B79444A7 for ; Mon, 12 Sep 2022 19:16:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 83F4E68BAB7; Mon, 12 Sep 2022 22:16:40 +0300 (EEST) Received: from mail-yb1-f173.google.com (mail-yb1-f173.google.com [209.85.219.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1986768B95B for ; Mon, 12 Sep 2022 22:16:34 +0300 (EEST) Received: by mail-yb1-f173.google.com with SMTP id 130so14297537ybw.8 for ; Mon, 12 Sep 2022 12:16:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :from:to:cc:subject:date; bh=XFjzY8eZ/0fPJM1PrDaEwW3qMttJ5FwWQRM3bBNxL3I=; b=Na51XC7cRisC9RWJBlo0XAdK2yqti62gn0iEJKyFHyJQxxs+ygetbim6MKj6ZFB2L3 i8BsDFIs5zD9Yb3kEVW6YdQBPikLuegMYkDN6Ngt3l/thSHvVBDcAExfzTU7W1O6ACQd ad2JBdFvdvrHP5s6mRzdUSvARMfsSfQ2D9tN+0Q/+ZVjSBrDD9OOBgFzS1Pu+aZw4IWE JiVduIQIjOg78flG3QGq1gdw9ONwC1sSqB0Bol4iKVQZcxoGEL00PtFn5d8/jErglnNh ch1bQQwX/8SFC1WA+UZATZvbCvaSFOsWZQ+HQoWps0wdj65ulgPI+7leuhjLKjNADX0C QPZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :x-gm-message-state:from:to:cc:subject:date; bh=XFjzY8eZ/0fPJM1PrDaEwW3qMttJ5FwWQRM3bBNxL3I=; b=emD4sfSP2Ke83rEjJrCULaF1XbTjwzeaipQzgSEry3OOVzD1srZ8PuPKDWDUY5XTg0 lnrSXWGZhFBqI+X1BzbihP1js7kGkrjYRGvR+yVF5WmY1CipOvzWSj9ZhOL0klH5xig4 r4BPozvt+xfm6/r9zzXC2/aKd1yAmcrvhyNGzQQrq95tCPBTEFeYEIZrSx0jJw+MyFY6 MjKfmWeTYYtHzaVJxr/T6i5zT5X/z+Do3w6WhBwokJvT89stWyG8OdbTTzDrMM3N9Gpd GOZHUoCCOlnA/xS8tSt0afvxNP0VjI7gDxBhhhSrCqgL+lIwn9zSpaXdb2m0pSwUr00n rO7g== X-Gm-Message-State: ACgBeo0QRSKW8ZF8mEAR5rPocTv518PNfQslY4qwPDE3v+48pLeVX9rb OT39i55dfTS3rX2GgAMLsHhOlK++pzzpJMZtcuV/5HVL X-Google-Smtp-Source: AA6agR7itvjmlXdCh3CwHiJSTnIoUOuv7scSbMd13kSzSBK4t4jGPADkUIXTP2NZwai9PXJEVPElrAnxBRQFTrVm8hk= X-Received: by 2002:a05:6902:1143:b0:6af:1696:9730 with SMTP id p3-20020a056902114300b006af16969730mr5760645ybu.250.1663010192560; Mon, 12 Sep 2022 12:16:32 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a81:7402:0:0:0:0:0 with HTTP; Mon, 12 Sep 2022 12:16:31 -0700 (PDT) In-Reply-To: References: From: Paul B Mahol Date: Mon, 12 Sep 2022 21:16:31 +0200 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000c935f805e87fbbc0" Subject: Re: [FFmpeg-devel] [PATCH] avformat: add Limitless Audio Format 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: --000000000000c935f805e87fbbc0 Content-Type: text/plain; charset="UTF-8" On 9/12/22, Paul B Mahol wrote: > Patch attached. > Updated patch attached. --000000000000c935f805e87fbbc0 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avformat-add-LAF-demuxer.patch" Content-Disposition: attachment; filename="0001-avformat-add-LAF-demuxer.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 RnJvbSAzM2VmYTI1MmRiOTZkOWVhYzdmMTYyZjE3YjIyYzFjZDhiM2IxYzE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IFN1biwgMTEgU2VwIDIwMjIgMjA6MTA6MjcgKzAyMDAKU3ViamVjdDogW1BBVENIXSBhdmZvcm1h dDogYWRkIExBRiBkZW11eGVyCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIEIgTWFob2wgPG9uZW1kYUBn bWFpbC5jb20+Ci0tLQogbGliYXZmb3JtYXQvTWFrZWZpbGUgICAgIHwgICAxICsKIGxpYmF2Zm9y bWF0L2FsbGZvcm1hdHMuYyB8ICAgMSArCiBsaWJhdmZvcm1hdC9sYWZkZWMuYyAgICAgfCAyNzEg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQs IDI3MyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZmb3JtYXQvbGFmZGVj LmMKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9NYWtlZmlsZSBiL2xpYmF2Zm9ybWF0L01ha2Vm aWxlCmluZGV4IDVjZGNkYTMyMzkuLjE5YTRiYTJhOGYgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0 L01ha2VmaWxlCisrKyBiL2xpYmF2Zm9ybWF0L01ha2VmaWxlCkBAIC0zMTksNiArMzE5LDcgQEAg T0JKUy0kKENPTkZJR19KVl9ERU1VWEVSKSAgICAgICAgICAgICAgICArPSBqdmRlYy5vCiBPQkpT LSQoQ09ORklHX0tVWF9ERU1VWEVSKSAgICAgICAgICAgICAgICs9IGZsdmRlYy5vCiBPQkpTLSQo Q09ORklHX0tWQUdfREVNVVhFUikgICAgICAgICAgICAgICs9IGt2YWcubwogT0JKUy0kKENPTkZJ R19LVkFHX01VWEVSKSAgICAgICAgICAgICAgICArPSBrdmFnLm8gcmF3ZW5jLm8KK09CSlMtJChD T05GSUdfTEFGX0RFTVVYRVIpICAgICAgICAgICAgICAgKz0gbGFmZGVjLm8KIE9CSlMtJChDT05G SUdfTEFUTV9NVVhFUikgICAgICAgICAgICAgICAgKz0gbGF0bWVuYy5vIHJhd2VuYy5vCiBPQkpT LSQoQ09ORklHX0xNTE00X0RFTVVYRVIpICAgICAgICAgICAgICs9IGxtbG00Lm8KIE9CSlMtJChD T05GSUdfTE9BU19ERU1VWEVSKSAgICAgICAgICAgICAgKz0gbG9hc2RlYy5vIHJhd2RlYy5vCmRp ZmYgLS1naXQgYS9saWJhdmZvcm1hdC9hbGxmb3JtYXRzLmMgYi9saWJhdmZvcm1hdC9hbGxmb3Jt YXRzLmMKaW5kZXggY2ViZDVlMGM2Ny4uYTU0NWI1ZmY0NSAxMDA2NDQKLS0tIGEvbGliYXZmb3Jt YXQvYWxsZm9ybWF0cy5jCisrKyBiL2xpYmF2Zm9ybWF0L2FsbGZvcm1hdHMuYwpAQCAtMjM2LDYg KzIzNiw3IEBAIGV4dGVybiBjb25zdCBBVklucHV0Rm9ybWF0ICBmZl9qdl9kZW11eGVyOwogZXh0 ZXJuIGNvbnN0IEFWSW5wdXRGb3JtYXQgIGZmX2t1eF9kZW11eGVyOwogZXh0ZXJuIGNvbnN0IEFW SW5wdXRGb3JtYXQgIGZmX2t2YWdfZGVtdXhlcjsKIGV4dGVybiBjb25zdCBBVk91dHB1dEZvcm1h dCBmZl9rdmFnX211eGVyOworZXh0ZXJuIGNvbnN0IEFWSW5wdXRGb3JtYXQgIGZmX2xhZl9kZW11 eGVyOwogZXh0ZXJuIGNvbnN0IEFWT3V0cHV0Rm9ybWF0IGZmX2xhdG1fbXV4ZXI7CiBleHRlcm4g Y29uc3QgQVZJbnB1dEZvcm1hdCAgZmZfbG1sbTRfZGVtdXhlcjsKIGV4dGVybiBjb25zdCBBVklu cHV0Rm9ybWF0ICBmZl9sb2FzX2RlbXV4ZXI7CmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9sYWZk ZWMuYyBiL2xpYmF2Zm9ybWF0L2xhZmRlYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAuLjEyYjBkODU0MGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJhdmZvcm1hdC9sYWZk ZWMuYwpAQCAtMCwwICsxLDI3MSBAQAorLyoKKyAqIExpbWl0bGVzcyBBdWRpbyBGb3JtYXQgZGVt dXhlcgorICogQ29weXJpZ2h0IChjKSAyMDIyIFBhdWwgQiBNYWhvbAorICoKKyAqIFRoaXMgZmls ZSBpcyBwYXJ0IG9mIEZGbXBlZy4KKyAqCisgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMi4x IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor ICoKKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxv bmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZv dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg TUEgMDIxMTAtMTMwMSBVU0EKKyAqLworCisjaW5jbHVkZSAibGliYXZ1dGlsL2ludHJlYWR3cml0 ZS5oIgorI2luY2x1ZGUgImF2Zm9ybWF0LmgiCisjaW5jbHVkZSAiaW50ZXJuYWwuaCIKKworI2Rl ZmluZSBNQVhfU1RSRUFNUyA0MDk2CisKK3R5cGVkZWYgc3RydWN0IFN0cmVhbVBhcmFtcyB7Cisg ICAgQVZDaGFubmVsTGF5b3V0IGxheW91dDsKKyAgICBmbG9hdCBob3Jpem9udGFsOworICAgIGZs b2F0IHZlcnRpY2FsOworICAgIGludCBsZmU7CisgICAgaW50IHN0b3JlZDsKK30gU3RyZWFtUGFy YW1zOworCit0eXBlZGVmIHN0cnVjdCBMQUZDb250ZXh0IHsKKyAgICB1aW50OF90ICpkYXRhOwor ICAgIHVuc2lnbmVkIG5iX3N0b3JlZDsKKyAgICB1bnNpZ25lZCBzdG9yZWRfaW5kZXg7CisgICAg dW5zaWduZWQgaW5kZXg7CisgICAgdW5zaWduZWQgYnBwOworCisgICAgU3RyZWFtUGFyYW1zIHBb TUFYX1NUUkVBTVNdOworCisgICAgaW50IGhlYWRlcl9sZW47CisgICAgdWludDhfdCBoZWFkZXJb KE1BWF9TVFJFQU1TICsgNykgLyA4XTsKK30gTEFGQ29udGV4dDsKKworc3RhdGljIGludCBsYWZf cHJvYmUoY29uc3QgQVZQcm9iZURhdGEgKnApCit7CisgICAgaWYgKG1lbWNtcChwLT5idWYsICJM SU1JVExFU1MiLCA5KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKG1lbWNtcChwLT5idWYg KyA5LCAiSEVBRCIsIDQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gQVZQUk9CRV9T Q09SRV9NQVg7Cit9CisKK3N0YXRpYyBpbnQgbGFmX3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4 dCAqY3R4KQoreworICAgIExBRkNvbnRleHQgKnMgPSBjdHgtPnByaXZfZGF0YTsKKyAgICBBVklP Q29udGV4dCAqcGIgPSBjdHgtPnBiOworICAgIHVuc2lnbmVkIHN0X2NvdW50LCBtb2RlOworICAg IHVuc2lnbmVkIHNhbXBsZV9yYXRlOworICAgIGludDY0X3QgZHVyYXRpb247CisgICAgaW50IGNv ZGVjX2lkOworICAgIGludCBxdWFsaXR5OworICAgIGludCBicHA7CisKKyAgICBhdmlvX3NraXAo cGIsIDkpOworICAgIGlmIChhdmlvX3JiMzIocGIpICE9IE1LQkVUQUcoJ0gnLCdFJywnQScsJ0Qn KSkKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisKKyAgICBxdWFsaXR5ID0g YXZpb19yOChwYik7CisgICAgaWYgKHF1YWxpdHkgPiAzKQorICAgICAgICByZXR1cm4gQVZFUlJP Ul9JTlZBTElEREFUQTsKKyAgICBtb2RlID0gYXZpb19yOChwYik7CisgICAgaWYgKG1vZGUgPiAx KQorICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKKyAgICBzdF9jb3VudCA9IGF2 aW9fcmwzMihwYik7CisgICAgaWYgKHN0X2NvdW50ID09IDAgfHwgc3RfY291bnQgPiBNQVhfU1RS RUFNUykKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisKKyAgICBmb3IgKGlu dCBpID0gMDsgaSA8IHN0X2NvdW50OyBpKyspIHsKKyAgICAgICAgU3RyZWFtUGFyYW1zICpzdHAg PSAmcy0+cFtpXTsKKworICAgICAgICBzdHAtPnZlcnRpY2FsID0gYXZfaW50MmZsb2F0KGF2aW9f cmwzMihwYikpOworICAgICAgICBzdHAtPmhvcml6b250YWwgPSBhdl9pbnQyZmxvYXQoYXZpb19y bDMyKHBiKSk7CisgICAgICAgIHN0cC0+bGZlID0gYXZpb19yOChwYik7CisgICAgICAgIGlmIChz dHAtPmxmZSkgeworICAgICAgICAgICAgc3RwLT5sYXlvdXQgPSAoQVZDaGFubmVsTGF5b3V0KUFW X0NIQU5ORUxfTEFZT1VUX01BU0soMSwgKEFWX0NIX0xPV19GUkVRVUVOQ1kpKTsKKyAgICAgICAg fSBlbHNlIGlmIChzdHAtPnZlcnRpY2FsID09IDAuZiAmJgorICAgICAgICAgICAgICAgICAgIHN0 cC0+aG9yaXpvbnRhbCA9PSAwLmYpIHsKKyAgICAgICAgICAgIHN0cC0+bGF5b3V0ID0gKEFWQ2hh bm5lbExheW91dClBVl9DSEFOTkVMX0xBWU9VVF9NQVNLKDEsIChBVl9DSF9GUk9OVF9DRU5URVIp KTsKKyAgICAgICAgfSBlbHNlIGlmIChzdHAtPnZlcnRpY2FsID09IDAuZiAmJgorICAgICAgICAg ICAgICAgICAgIHN0cC0+aG9yaXpvbnRhbCA9PSAtMzAuZikgeworICAgICAgICAgICAgc3RwLT5s YXlvdXQgPSAoQVZDaGFubmVsTGF5b3V0KUFWX0NIQU5ORUxfTEFZT1VUX01BU0soMSwgKEFWX0NI X0ZST05UX0xFRlQpKTsKKyAgICAgICAgfSBlbHNlIGlmIChzdHAtPnZlcnRpY2FsID09IDAuZiAm JgorICAgICAgICAgICAgICAgICAgIHN0cC0+aG9yaXpvbnRhbCA9PSAzMC5mKSB7CisgICAgICAg ICAgICBzdHAtPmxheW91dCA9IChBVkNoYW5uZWxMYXlvdXQpQVZfQ0hBTk5FTF9MQVlPVVRfTUFT SygxLCAoQVZfQ0hfRlJPTlRfUklHSFQpKTsKKyAgICAgICAgfSBlbHNlIGlmIChzdHAtPnZlcnRp Y2FsID09IDAuZiAmJgorICAgICAgICAgICAgICAgICAgIHN0cC0+aG9yaXpvbnRhbCA9PSAtMTEw LmYpIHsKKyAgICAgICAgICAgIHN0cC0+bGF5b3V0ID0gKEFWQ2hhbm5lbExheW91dClBVl9DSEFO TkVMX0xBWU9VVF9NQVNLKDEsIChBVl9DSF9TSURFX0xFRlQpKTsKKyAgICAgICAgfSBlbHNlIGlm IChzdHAtPnZlcnRpY2FsID09IDAuZiAmJgorICAgICAgICAgICAgICAgICAgIHN0cC0+aG9yaXpv bnRhbCA9PSAxMTAuZikgeworICAgICAgICAgICAgc3RwLT5sYXlvdXQgPSAoQVZDaGFubmVsTGF5 b3V0KUFWX0NIQU5ORUxfTEFZT1VUX01BU0soMSwgKEFWX0NIX1NJREVfUklHSFQpKTsKKyAgICAg ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHN0cC0+bGF5b3V0ID0gKEFWQ2hhbm5lbExheW91dClB Vl9DSEFOTkVMX0xBWU9VVF9NT05POworICAgICAgICB9CisgICAgfQorCisgICAgc2FtcGxlX3Jh dGUgPSBhdmlvX3JsMzIocGIpOworICAgIGR1cmF0aW9uID0gYXZpb19ybDY0KHBiKSAvIHN0X2Nv dW50OworCisgICAgc3dpdGNoIChxdWFsaXR5KSB7CisgICAgY2FzZSAwOgorICAgICAgICBjb2Rl Y19pZCA9IEFWX0NPREVDX0lEX1BDTV9VODsKKyAgICAgICAgYnBwID0gMTsKKyAgICAgICAgYnJl YWs7CisgICAgY2FzZSAxOgorICAgICAgICBjb2RlY19pZCA9IEFWX0NPREVDX0lEX1BDTV9TMTZM RTsKKyAgICAgICAgYnBwID0gMjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAyOgorICAgICAg ICBjb2RlY19pZCA9IEFWX0NPREVDX0lEX1BDTV9GMzJMRTsKKyAgICAgICAgYnBwID0gNDsKKyAg ICAgICAgYnJlYWs7CisgICAgY2FzZSAzOgorICAgICAgICBjb2RlY19pZCA9IEFWX0NPREVDX0lE X1BDTV9TMjRMRTsKKyAgICAgICAgYnBwID0gMzsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisg ICAgcy0+aW5kZXggPSAwOworICAgIHMtPnN0b3JlZF9pbmRleCA9IDA7CisgICAgcy0+YnBwID0g YnBwOworICAgIGlmICgoaW50NjRfdClicHAgKiBzdF9jb3VudCAqIChpbnQ2NF90KXNhbXBsZV9y YXRlID49IElOVDMyX01BWCkKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7Cisg ICAgcy0+ZGF0YSA9IGF2X2NhbGxvYyhzdF9jb3VudCAqIHNhbXBsZV9yYXRlLCBicHApOworICAg IGlmICghcy0+ZGF0YSkKKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKworICAgIGZv ciAoaW50IHN0ID0gMDsgc3QgPCBzdF9jb3VudDsgc3QrKykgeworICAgICAgICBTdHJlYW1QYXJh bXMgKnN0cCA9ICZzLT5wW3N0XTsKKyAgICAgICAgQVZDb2RlY1BhcmFtZXRlcnMgKnBhcjsKKyAg ICAgICAgQVZTdHJlYW0gKnN0ID0gYXZmb3JtYXRfbmV3X3N0cmVhbShjdHgsIE5VTEwpOworICAg ICAgICBpZiAoIXN0KQorICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKworICAg ICAgICBwYXIgPSBzdC0+Y29kZWNwYXI7CisgICAgICAgIHBhci0+Y29kZWNfaWQgPSBjb2RlY19p ZDsKKyAgICAgICAgcGFyLT5jb2RlY190eXBlID0gQVZNRURJQV9UWVBFX0FVRElPOworICAgICAg ICBwYXItPmNoX2xheW91dC5uYl9jaGFubmVscyA9IDE7CisgICAgICAgIHBhci0+Y2hfbGF5b3V0 ID0gc3RwLT5sYXlvdXQ7CisgICAgICAgIHBhci0+c2FtcGxlX3JhdGUgPSBzYW1wbGVfcmF0ZTsK KyAgICAgICAgc3QtPmR1cmF0aW9uID0gZHVyYXRpb247CisKKyAgICAgICAgYXZwcml2X3NldF9w dHNfaW5mbyhzdCwgNjQsIDEsIHN0LT5jb2RlY3Bhci0+c2FtcGxlX3JhdGUpOworICAgIH0KKwor ICAgIHMtPmhlYWRlcl9sZW4gPSAoY3R4LT5uYl9zdHJlYW1zICsgNykgLyA4OworCisgICAgcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbGFmX3JlYWRfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAq Y3R4LCBBVlBhY2tldCAqcGt0KQoreworICAgIEFWSU9Db250ZXh0ICpwYiA9IGN0eC0+cGI7Cisg ICAgTEFGQ29udGV4dCAqcyA9IGN0eC0+cHJpdl9kYXRhOworICAgIEFWU3RyZWFtICpzdCA9IGN0 eC0+c3RyZWFtc1swXTsKKyAgICBjb25zdCBpbnQgYnBwID0gcy0+YnBwOworICAgIFN0cmVhbVBh cmFtcyAqc3RwOworICAgIGludDY0X3QgcG9zOworICAgIGludCByZXQ7CisKKyAgICBwb3MgPSBh dmlvX3RlbGwocGIpOworCithZ2FpbjoKKyAgICBpZiAoYXZpb19mZW9mKHBiKSkKKyAgICAgICAg cmV0dXJuIEFWRVJST1JfRU9GOworCisgICAgaWYgKHMtPmluZGV4ID49IGN0eC0+bmJfc3RyZWFt cykgeworICAgICAgICBpbnQgY3VyX3N0ID0gMCwgc3RfY291bnQgPSAwLCBzdF9pbmRleCA9IDA7 CisKKyAgICAgICAgYXZpb19yZWFkKHBiLCBzLT5oZWFkZXIsIHMtPmhlYWRlcl9sZW4pOworICAg ICAgICBmb3IgKGludCBpID0gMDsgaSA8IHMtPmhlYWRlcl9sZW47IGkrKykgeworICAgICAgICAg ICAgdWludDhfdCB2YWwgPSBzLT5oZWFkZXJbaV07CisKKyAgICAgICAgICAgIGZvciAoaW50IGog PSAwOyBqIDwgOCAmJiBjdXJfc3QgPCBjdHgtPm5iX3N0cmVhbXM7IGorKywgY3VyX3N0KyspIHsK KyAgICAgICAgICAgICAgICBTdHJlYW1QYXJhbXMgKnN0cCA9ICZzLT5wW3N0X2luZGV4XTsKKwor ICAgICAgICAgICAgICAgIHN0cC0+c3RvcmVkID0gMDsKKyAgICAgICAgICAgICAgICBpZiAodmFs ICYgMSkgeworICAgICAgICAgICAgICAgICAgICBzdHAtPnN0b3JlZCA9IDE7CisgICAgICAgICAg ICAgICAgICAgIHN0X2NvdW50Kys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg IHZhbCA+Pj0gMTsKKyAgICAgICAgICAgICAgICBzdF9pbmRleCsrOworICAgICAgICAgICAgfQor ICAgICAgICB9CisKKyAgICAgICAgcy0+aW5kZXggPSBzLT5zdG9yZWRfaW5kZXggPSAwOworICAg ICAgICBzLT5uYl9zdG9yZWQgPSBzdF9jb3VudDsKKyAgICAgICAgaWYgKCFzdF9jb3VudCkKKyAg ICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworICAgICAgICByZXQgPSBhdmlv X3JlYWQocGIsIHMtPmRhdGEsIHN0X2NvdW50ICogc3QtPmNvZGVjcGFyLT5zYW1wbGVfcmF0ZSAq IGJwcCk7CisgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAg ICB9CisKKyAgICBzdCA9IGN0eC0+c3RyZWFtc1tzLT5pbmRleF07CisgICAgc3RwID0gJnMtPnBb cy0+aW5kZXhdOworICAgIHdoaWxlICghc3RwLT5zdG9yZWQpIHsKKyAgICAgICAgcy0+aW5kZXgr KzsKKyAgICAgICAgaWYgKHMtPmluZGV4ID49IGN0eC0+bmJfc3RyZWFtcykKKyAgICAgICAgICAg IGdvdG8gYWdhaW47CisgICAgICAgIHN0cCA9ICZzLT5wW3MtPmluZGV4XTsKKyAgICB9CisgICAg c3QgPSBjdHgtPnN0cmVhbXNbcy0+aW5kZXhdOworCisgICAgcmV0ID0gYXZfbmV3X3BhY2tldChw a3QsIHN0LT5jb2RlY3Bhci0+c2FtcGxlX3JhdGUgKiBicHApOworICAgIGlmIChyZXQgPCAwKQor ICAgICAgICByZXR1cm4gcmV0OworCisgICAgc3dpdGNoIChicHApIHsKKyAgICBjYXNlIDE6Cisg ICAgICAgIGZvciAoaW50IG4gPSAwOyBuIDwgc3QtPmNvZGVjcGFyLT5zYW1wbGVfcmF0ZTsgbisr KQorICAgICAgICAgICAgcGt0LT5kYXRhW25dID0gcy0+ZGF0YVtuICogcy0+bmJfc3RvcmVkICsg cy0+c3RvcmVkX2luZGV4XTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAyOgorICAgICAgICBm b3IgKGludCBuID0gMDsgbiA8IHN0LT5jb2RlY3Bhci0+c2FtcGxlX3JhdGU7IG4rKykKKyAgICAg ICAgICAgIEFWX1dOMTYocGt0LT5kYXRhICsgbiAqIDIsIEFWX1JOMTYocy0+ZGF0YSArIG4gKiBz LT5uYl9zdG9yZWQgKiAyICsgcy0+c3RvcmVkX2luZGV4ICogMikpOworICAgICAgICBicmVhazsK KyAgICBjYXNlIDM6CisgICAgICAgIGZvciAoaW50IG4gPSAwOyBuIDwgc3QtPmNvZGVjcGFyLT5z YW1wbGVfcmF0ZTsgbisrKQorICAgICAgICAgICAgQVZfV0wyNChwa3QtPmRhdGEgKyBuICogMywg QVZfUkwyNChzLT5kYXRhICsgbiAqIHMtPm5iX3N0b3JlZCAqIDMgKyBzLT5zdG9yZWRfaW5kZXgg KiAzKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgNDoKKyAgICAgICAgZm9yIChpbnQgbiA9 IDA7IG4gPCBzdC0+Y29kZWNwYXItPnNhbXBsZV9yYXRlOyBuKyspCisgICAgICAgICAgICBBVl9X TjMyKHBrdC0+ZGF0YSArIG4gKiA0LCBBVl9STjMyKHMtPmRhdGEgKyBuICogcy0+bmJfc3RvcmVk ICogNCArIHMtPnN0b3JlZF9pbmRleCAqIDQpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisg ICAgcGt0LT5zdHJlYW1faW5kZXggPSBzLT5pbmRleDsKKyAgICBwa3QtPnBvcyA9IHBvczsKKyAg ICBzLT5pbmRleCsrOworICAgIHMtPnN0b3JlZF9pbmRleCsrOworCisgICAgcmV0dXJuIDA7Cit9 CisKK3N0YXRpYyBpbnQgbGFmX3JlYWRfc2VlayhBVkZvcm1hdENvbnRleHQgKmN0eCwgaW50IHN0 cmVhbV9pbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IHRpbWVzdGFtcCwg aW50IGZsYWdzKQoreworICAgIExBRkNvbnRleHQgKnMgPSBjdHgtPnByaXZfZGF0YTsKKworICAg IHMtPnN0b3JlZF9pbmRleCA9IHMtPmluZGV4ID0gcy0+bmJfc3RvcmVkID0gMDsKKworICAgIHJl dHVybiAtMTsKK30KKworY29uc3QgQVZJbnB1dEZvcm1hdCBmZl9sYWZfZGVtdXhlciA9IHsKKyAg ICAubmFtZSAgICAgICAgICAgPSAibGFmIiwKKyAgICAubG9uZ19uYW1lICAgICAgPSBOVUxMX0lG X0NPTkZJR19TTUFMTCgiTEFGIChMaW1pdGxlc3MgQXVkaW8gRm9ybWF0KSIpLAorICAgIC5wcml2 X2RhdGFfc2l6ZSA9IHNpemVvZihMQUZDb250ZXh0KSwKKyAgICAucmVhZF9wcm9iZSAgICAgPSBs YWZfcHJvYmUsCisgICAgLnJlYWRfaGVhZGVyICAgID0gbGFmX3JlYWRfaGVhZGVyLAorICAgIC5y ZWFkX3BhY2tldCAgICA9IGxhZl9yZWFkX3BhY2tldCwKKyAgICAucmVhZF9zZWVrICAgICAgPSBs YWZfcmVhZF9zZWVrLAorICAgIC5leHRlbnNpb25zICAgICA9ICJsYWYiLAorICAgIC5mbGFncyAg ICAgICAgICA9IEFWRk1UX0dFTkVSSUNfSU5ERVgsCit9OwotLSAKMi4zNy4yCgo= --000000000000c935f805e87fbbc0 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". --000000000000c935f805e87fbbc0--