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 C1C3543DEA for ; Mon, 12 Sep 2022 09:40:11 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B87B068BB22; Mon, 12 Sep 2022 12:40:08 +0300 (EEST) Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6C41B68B779 for ; Mon, 12 Sep 2022 12:40:02 +0300 (EEST) Received: by mail-yb1-f180.google.com with SMTP id 198so6778580ybc.1 for ; Mon, 12 Sep 2022 02:40:02 -0700 (PDT) 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; bh=7Qu0X7RUI8ahwYuo0hWqXKENLiA1AcGUcwII9SjGpDw=; b=UIq5jXQxg4bfz/CZNRPUeDCtcLkF6yxZq3/tqzehBx7eB0GZi3cxyNuE8MjiT7SY58 fte3GLd0vcaTrasC6uEEV+y4KH+sr9o1rgWfYkxzwftH6wUdq3mJhpKAH7WlJ11f0KBJ H8NDRNhKA2o6Cq6PVHQlNFuhLzKd+LeTmODT/XNLi+D2cHqX1eZ99quaQ271rFUMMkUo Og+hmFh7ipEPxYKal8tg3tV1tm673c4+rQU9z8+qTBVpxWcEDrwTknvq+JEA9a0e94d5 /ol6RgtPUAsOhdv9VzEYXpUQE38Nyxn+1iyinbotRiCW5HbxdlvsEn47gZ2BUeRirCPa mn1g== 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; bh=7Qu0X7RUI8ahwYuo0hWqXKENLiA1AcGUcwII9SjGpDw=; b=eqJxcSt3GtDlaRCghlU9RVxxy+wWqn3WYeEx2tTLu4zjGlf+MjaWuMcggZ9mZ0g46u RZzyYHcEbOxCWeqFT7tu2mnS8pX1qgxZpjymSwiKbjlkcjxRyDjHAu7iqDxokOVmH2O6 dGkEq31IDKEoLX8NVIAvwPuCivE0RGoeo20+APFE+4TVH+XginFjXQKzdF1FUQdzB50s sr4IWl6A89M/kB1Xfd1IDYf3Aqac62hD879L+fy+x7pU6ru4z7VzPXHq3RTA6brxnEPr 3W3ApamW8rS4KqhhLbaRMu9OsmmpAjaok6YdZQRGN0ZVpU2b0GGUmEXZKCvVJm+QdjOF deug== X-Gm-Message-State: ACgBeo1KXNNGC1DwkCuTEBuBu3y4YYmJcpA8yMgubp39fdj0E/3jqz4y v26kAaN1LDAtrN5F2iq5AxM7htypWl3oUz27LM4vf/+j X-Google-Smtp-Source: AA6agR75BsSFKPU1GOkDy30eZXlhPPufy0aCAECAKAReO84ftR/PQYIQt82RXn4OiEudWAYeXNT+ImfOF+opQBzhjEA= X-Received: by 2002:a25:d78b:0:b0:6af:662c:f087 with SMTP id o133-20020a25d78b000000b006af662cf087mr1000189ybg.396.1662975601071; Mon, 12 Sep 2022 02:40:01 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a81:7402:0:0:0:0:0 with HTTP; Mon, 12 Sep 2022 02:40:00 -0700 (PDT) From: Paul B Mahol Date: Mon, 12 Sep 2022 11:40:00 +0200 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000f8f57305e877ad44" Subject: [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: --000000000000f8f57305e877ad44 Content-Type: text/plain; charset="UTF-8" Patch attached. --000000000000f8f57305e877ad44 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 RnJvbSBkODY3YjgyNTUwN2I1ZjM4YTA1MWRkMGNjZjQ2MTJiNzU3MGEyMDg4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IFN1biwgMTEgU2VwIDIwMjIgMjA6MTA6MjcgKzAyMDAKU3ViamVjdDogW1BBVENIXSBhdmZvcm1h dDogYWRkIExBRiBkZW11eGVyCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIEIgTWFob2wgPG9uZW1kYUBn bWFpbC5jb20+Ci0tLQogbGliYXZmb3JtYXQvTWFrZWZpbGUgICAgIHwgICAxICsKIGxpYmF2Zm9y bWF0L2FsbGZvcm1hdHMuYyB8ICAgMSArCiBsaWJhdmZvcm1hdC9sYWZkZWMuYyAgICAgfCAyNTMg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQs IDI1NSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZmb3JtYXQvbGFmZGVj LmMKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9NYWtlZmlsZSBiL2xpYmF2Zm9ybWF0L01ha2Vm aWxlCmluZGV4IDVjZGNkYTMyMzkuLjE5YTRiYTJhOGYgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0 L01ha2VmaWxlCisrKyBiL2xpYmF2Zm9ybWF0L01ha2VmaWxlCkBAIC0zMTksNiArMzE5LDcgQEAg T0JKUy0kKENPTkZJR19KVl9ERU1VWEVSKSAgICAgICAgICAgICAgICArPSBqdmRlYy5vCiBPQkpT LSQoQ09ORklHX0tVWF9ERU1VWEVSKSAgICAgICAgICAgICAgICs9IGZsdmRlYy5vCiBPQkpTLSQo Q09ORklHX0tWQUdfREVNVVhFUikgICAgICAgICAgICAgICs9IGt2YWcubwogT0JKUy0kKENPTkZJ R19LVkFHX01VWEVSKSAgICAgICAgICAgICAgICArPSBrdmFnLm8gcmF3ZW5jLm8KK09CSlMtJChD T05GSUdfTEFGX0RFTVVYRVIpICAgICAgICAgICAgICAgKz0gbGFmZGVjLm8KIE9CSlMtJChDT05G SUdfTEFUTV9NVVhFUikgICAgICAgICAgICAgICAgKz0gbGF0bWVuYy5vIHJhd2VuYy5vCiBPQkpT LSQoQ09ORklHX0xNTE00X0RFTVVYRVIpICAgICAgICAgICAgICs9IGxtbG00Lm8KIE9CSlMtJChD T05GSUdfTE9BU19ERU1VWEVSKSAgICAgICAgICAgICAgKz0gbG9hc2RlYy5vIHJhd2RlYy5vCmRp ZmYgLS1naXQgYS9saWJhdmZvcm1hdC9hbGxmb3JtYXRzLmMgYi9saWJhdmZvcm1hdC9hbGxmb3Jt YXRzLmMKaW5kZXggY2ViZDVlMGM2Ny4uYTU0NWI1ZmY0NSAxMDA2NDQKLS0tIGEvbGliYXZmb3Jt YXQvYWxsZm9ybWF0cy5jCisrKyBiL2xpYmF2Zm9ybWF0L2FsbGZvcm1hdHMuYwpAQCAtMjM2LDYg KzIzNiw3IEBAIGV4dGVybiBjb25zdCBBVklucHV0Rm9ybWF0ICBmZl9qdl9kZW11eGVyOwogZXh0 ZXJuIGNvbnN0IEFWSW5wdXRGb3JtYXQgIGZmX2t1eF9kZW11eGVyOwogZXh0ZXJuIGNvbnN0IEFW SW5wdXRGb3JtYXQgIGZmX2t2YWdfZGVtdXhlcjsKIGV4dGVybiBjb25zdCBBVk91dHB1dEZvcm1h dCBmZl9rdmFnX211eGVyOworZXh0ZXJuIGNvbnN0IEFWSW5wdXRGb3JtYXQgIGZmX2xhZl9kZW11 eGVyOwogZXh0ZXJuIGNvbnN0IEFWT3V0cHV0Rm9ybWF0IGZmX2xhdG1fbXV4ZXI7CiBleHRlcm4g Y29uc3QgQVZJbnB1dEZvcm1hdCAgZmZfbG1sbTRfZGVtdXhlcjsKIGV4dGVybiBjb25zdCBBVklu cHV0Rm9ybWF0ICBmZl9sb2FzX2RlbXV4ZXI7CmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9sYWZk ZWMuYyBiL2xpYmF2Zm9ybWF0L2xhZmRlYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAuLjM1YmNlMmIzMjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJhdmZvcm1hdC9sYWZk ZWMuYwpAQCAtMCwwICsxLDI1MyBAQAorLyoKKyAqIExpbWl0bGVzcyBBdWRpbyBGb3JtYXQgZGVt dXhlcgorICogQ29weXJpZ2h0IChjKSAyMDIyIFBhdWwgQiBNYWhvbAorICoKKyAqIFRoaXMgZmls ZSBpcyBwYXJ0IG9mIEZGbXBlZy4KKyAqCisgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMi4x IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor ICoKKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxv bmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZv dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg TUEgMDIxMTAtMTMwMSBVU0EKKyAqLworCisjaW5jbHVkZSAibGliYXZ1dGlsL2ludHJlYWR3cml0 ZS5oIgorI2luY2x1ZGUgImF2Zm9ybWF0LmgiCisjaW5jbHVkZSAiaW50ZXJuYWwuaCIKKwordHlw ZWRlZiBzdHJ1Y3QgU3RyZWFtUGFyYW1zIHsKKyAgICBmbG9hdCBob3Jpem9udGFsOworICAgIGZs b2F0IHZlcnRpY2FsOworICAgIGludCBsZmU7CisgICAgQVZDaGFubmVsTGF5b3V0IGxheW91dDsK K30gU3RyZWFtUGFyYW1zOworCit0eXBlZGVmIHN0cnVjdCBMQUZDb250ZXh0IHsKKyAgICB1aW50 OF90ICpkYXRhOworICAgIHVuc2lnbmVkIG5iX3N0b3JlZDsKKyAgICB1bnNpZ25lZCBzdG9yZWRf aW5kZXg7CisgICAgdW5zaWduZWQgaW5kZXg7CisgICAgdW5zaWduZWQgYnBwOworCisgICAgU3Ry ZWFtUGFyYW1zIHBbMTAyNF07Cit9IExBRkNvbnRleHQ7CisKK3R5cGVkZWYgc3RydWN0IExBRlN0 cmVhbSB7CisgICAgdW5zaWduZWQgc3RvcmVkOworfSBMQUZTdHJlYW07CisKK3N0YXRpYyBpbnQg bGFmX3Byb2JlKGNvbnN0IEFWUHJvYmVEYXRhICpwKQoreworICAgIGlmIChtZW1jbXAocC0+YnVm LCAiTElNSVRMRVNTIiwgOSkpCisgICAgICAgIHJldHVybiAwOworICAgIGlmIChtZW1jbXAocC0+ YnVmICsgOSwgIkhFQUQiLCA0KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIEFWUFJP QkVfU0NPUkVfTUFYOworfQorCitzdGF0aWMgaW50IGxhZl9yZWFkX2hlYWRlcihBVkZvcm1hdENv bnRleHQgKmN0eCkKK3sKKyAgICBMQUZDb250ZXh0ICpzID0gY3R4LT5wcml2X2RhdGE7CisgICAg QVZJT0NvbnRleHQgKnBiID0gY3R4LT5wYjsKKyAgICB1bnNpZ25lZCBzdF9jb3VudCwgbW9kZTsK KyAgICB1bnNpZ25lZCBzYW1wbGVfcmF0ZTsKKyAgICBpbnQ2NF90IGR1cmF0aW9uOworICAgIGlu dCBjb2RlY19pZDsKKyAgICBpbnQgcXVhbGl0eTsKKyAgICBpbnQgYnBwOworCisgICAgYXZpb19z a2lwKHBiLCA5KTsKKyAgICBpZiAoYXZpb19yYjMyKHBiKSAhPSBNS0JFVEFHKCdIJywnRScsJ0En LCdEJykpCisgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworCisgICAgcXVhbGl0 eSA9IGF2aW9fcjgocGIpOworICAgIGlmIChxdWFsaXR5ID4gMykKKyAgICAgICAgcmV0dXJuIEFW RVJST1JfSU5WQUxJRERBVEE7CisgICAgbW9kZSA9IGF2aW9fcjgocGIpOworICAgIGlmIChtb2Rl ID4gMSkKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisgICAgc3RfY291bnQg PSBhdmlvX3JsMzIocGIpOworICAgIGlmIChzdF9jb3VudCA9PSAwIHx8IHN0X2NvdW50ID4gMTAy NCkKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisKKyAgICBmb3IgKGludCBp ID0gMDsgaSA8IHN0X2NvdW50OyBpKyspIHsKKyAgICAgICAgU3RyZWFtUGFyYW1zICpzdHAgPSAm cy0+cFtpXTsKKworICAgICAgICBzdHAtPnZlcnRpY2FsID0gYXZfaW50MmZsb2F0KGF2aW9fcmwz MihwYikpOworICAgICAgICBzdHAtPmhvcml6b250YWwgPSBhdl9pbnQyZmxvYXQoYXZpb19ybDMy KHBiKSk7CisgICAgICAgIHN0cC0+bGZlID0gYXZpb19yOChwYik7CisgICAgICAgIGlmIChzdHAt PmxmZSkgeworICAgICAgICAgICAgc3RwLT5sYXlvdXQgPSAoQVZDaGFubmVsTGF5b3V0KUFWX0NI QU5ORUxfTEFZT1VUX01BU0soMSwgKEFWX0NIX0xPV19GUkVRVUVOQ1kpKTsKKyAgICAgICAgfSBl bHNlIGlmIChzdHAtPnZlcnRpY2FsID09IDAuZiAmJgorICAgICAgICAgICAgICAgICAgIHN0cC0+ aG9yaXpvbnRhbCA9PSAwLmYpIHsKKyAgICAgICAgICAgIHN0cC0+bGF5b3V0ID0gKEFWQ2hhbm5l bExheW91dClBVl9DSEFOTkVMX0xBWU9VVF9NQVNLKDEsIChBVl9DSF9GUk9OVF9DRU5URVIpKTsK KyAgICAgICAgfSBlbHNlIGlmIChzdHAtPnZlcnRpY2FsID09IDAuZiAmJgorICAgICAgICAgICAg ICAgICAgIHN0cC0+aG9yaXpvbnRhbCA9PSAtMzAuZikgeworICAgICAgICAgICAgc3RwLT5sYXlv dXQgPSAoQVZDaGFubmVsTGF5b3V0KUFWX0NIQU5ORUxfTEFZT1VUX01BU0soMSwgKEFWX0NIX0ZS T05UX0xFRlQpKTsKKyAgICAgICAgfSBlbHNlIGlmIChzdHAtPnZlcnRpY2FsID09IDAuZiAmJgor ICAgICAgICAgICAgICAgICAgIHN0cC0+aG9yaXpvbnRhbCA9PSAzMC5mKSB7CisgICAgICAgICAg ICBzdHAtPmxheW91dCA9IChBVkNoYW5uZWxMYXlvdXQpQVZfQ0hBTk5FTF9MQVlPVVRfTUFTSygx LCAoQVZfQ0hfRlJPTlRfUklHSFQpKTsKKyAgICAgICAgfSBlbHNlIGlmIChzdHAtPnZlcnRpY2Fs ID09IDAuZiAmJgorICAgICAgICAgICAgICAgICAgIHN0cC0+aG9yaXpvbnRhbCA9PSAtMTEwLmYp IHsKKyAgICAgICAgICAgIHN0cC0+bGF5b3V0ID0gKEFWQ2hhbm5lbExheW91dClBVl9DSEFOTkVM X0xBWU9VVF9NQVNLKDEsIChBVl9DSF9TSURFX0xFRlQpKTsKKyAgICAgICAgfSBlbHNlIGlmIChz dHAtPnZlcnRpY2FsID09IDAuZiAmJgorICAgICAgICAgICAgICAgICAgIHN0cC0+aG9yaXpvbnRh bCA9PSAxMTAuZikgeworICAgICAgICAgICAgc3RwLT5sYXlvdXQgPSAoQVZDaGFubmVsTGF5b3V0 KUFWX0NIQU5ORUxfTEFZT1VUX01BU0soMSwgKEFWX0NIX1NJREVfUklHSFQpKTsKKyAgICAgICAg fSBlbHNlIHsKKyAgICAgICAgICAgIHN0cC0+bGF5b3V0ID0gKEFWQ2hhbm5lbExheW91dClBVl9D SEFOTkVMX0xBWU9VVF9NT05POworICAgICAgICB9CisgICAgfQorCisgICAgc2FtcGxlX3JhdGUg PSBhdmlvX3JsMzIocGIpOworICAgIGR1cmF0aW9uID0gYXZpb19ybDY0KHBiKSAvIHN0X2NvdW50 OworICAgIHN3aXRjaCAocXVhbGl0eSkgeworICAgIGNhc2UgMDoKKyAgICAgICAgY29kZWNfaWQg PSBBVl9DT0RFQ19JRF9QQ01fVTg7CisgICAgICAgIGJwcCA9IDE7CisgICAgICAgIGJyZWFrOwor ICAgIGNhc2UgMToKKyAgICAgICAgY29kZWNfaWQgPSBBVl9DT0RFQ19JRF9QQ01fUzE2TEU7Cisg ICAgICAgIGJwcCA9IDI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgMjoKKyAgICAgICAgY29k ZWNfaWQgPSBBVl9DT0RFQ19JRF9QQ01fRjMyTEU7CisgICAgICAgIGJwcCA9IDQ7CisgICAgICAg IGJyZWFrOworICAgIGNhc2UgMzoKKyAgICAgICAgY29kZWNfaWQgPSBBVl9DT0RFQ19JRF9QQ01f UzI0TEU7CisgICAgICAgIGJwcCA9IDM7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHMt PmluZGV4ID0gMDsKKyAgICBzLT5zdG9yZWRfaW5kZXggPSAwOworICAgIHMtPmJwcCA9IGJwcDsK KyAgICBzLT5kYXRhID0gYXZfbWFsbG9jeihzdF9jb3VudCAqIHNhbXBsZV9yYXRlICogYnBwKTsK KyAgICBpZiAoIXMtPmRhdGEpCisgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisKKyAg ICBmb3IgKGludCBzdCA9IDA7IHN0IDwgc3RfY291bnQ7IHN0KyspIHsKKyAgICAgICAgU3RyZWFt UGFyYW1zICpzdHAgPSAmcy0+cFtzdF07CisgICAgICAgIExBRlN0cmVhbSAqbGFmc3Q7CisgICAg ICAgIEFWQ29kZWNQYXJhbWV0ZXJzICpwYXI7CisgICAgICAgIEFWU3RyZWFtICpzdCA9IGF2Zm9y bWF0X25ld19zdHJlYW0oY3R4LCBOVUxMKTsKKyAgICAgICAgaWYgKCFzdCkKKyAgICAgICAgICAg IHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisKKyAgICAgICAgcGFyID0gc3QtPmNvZGVjcGFyOwor ICAgICAgICBwYXItPmNvZGVjX2lkID0gY29kZWNfaWQ7CisgICAgICAgIHBhci0+Y29kZWNfdHlw ZSA9IEFWTUVESUFfVFlQRV9BVURJTzsKKyAgICAgICAgcGFyLT5jaF9sYXlvdXQubmJfY2hhbm5l bHMgPSAxOworICAgICAgICBwYXItPmNoX2xheW91dCA9IHN0cC0+bGF5b3V0OworICAgICAgICBw YXItPnNhbXBsZV9yYXRlID0gc2FtcGxlX3JhdGU7CisgICAgICAgIHN0LT5kdXJhdGlvbiA9IGR1 cmF0aW9uOworICAgICAgICBzdC0+cHJpdl9kYXRhID0gbGFmc3QgPSBhdl9tYWxsb2N6KHNpemVv ZihMQUZTdHJlYW0pKTsKKyAgICAgICAgaWYgKCFzdC0+cHJpdl9kYXRhKQorICAgICAgICAgICAg cmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKworICAgICAgICBhdnByaXZfc2V0X3B0c19pbmZvKHN0 LCA2NCwgMSwgc3QtPmNvZGVjcGFyLT5zYW1wbGVfcmF0ZSk7CisgICAgfQorCisgICAgcmV0dXJu IDA7Cit9CisKK3N0YXRpYyBpbnQgbGFmX3JlYWRfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqY3R4 LCBBVlBhY2tldCAqcGt0KQoreworICAgIEFWSU9Db250ZXh0ICpwYiA9IGN0eC0+cGI7CisgICAg TEFGQ29udGV4dCAqcyA9IGN0eC0+cHJpdl9kYXRhOworICAgIEFWU3RyZWFtICpzdCA9IGN0eC0+ c3RyZWFtc1swXTsKKyAgICBMQUZTdHJlYW0gKmxhZnN0ID0gc3QtPnByaXZfZGF0YTsKKyAgICBj b25zdCBpbnQgYnBwID0gcy0+YnBwOworICAgIGludCBoZWFkZXJfbGVuID0gKGN0eC0+bmJfc3Ry ZWFtcyAvIDgpICsgISEoY3R4LT5uYl9zdHJlYW1zICYgNyk7CisgICAgaW50NjRfdCBwb3M7Cisg ICAgaW50IHJldDsKKworYWdhaW46CisgICAgaWYgKGF2aW9fZmVvZihwYikpCisgICAgICAgIHJl dHVybiBBVkVSUk9SX0VPRjsKKworICAgIHBvcyA9IGF2aW9fdGVsbChwYik7CisKKyAgICBpZiAo cy0+aW5kZXggPj0gY3R4LT5uYl9zdHJlYW1zKSB7CisgICAgICAgIGludCBjdXJfc3QgPSAwLCBz dF9jb3VudCA9IDAsIHN0X2luZGV4ID0gMDsKKworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8 IGhlYWRlcl9sZW47IGkrKykgeworICAgICAgICAgICAgdWludDhfdCB2YWwgPSBhdmlvX3I4KHBi KTsKKworICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCA4ICYmIGN1cl9zdCA8IGN0eC0+ bmJfc3RyZWFtczsgaisrLCBjdXJfc3QrKykgeworICAgICAgICAgICAgICAgIEFWU3RyZWFtICpz dCA9IGN0eC0+c3RyZWFtc1tzdF9pbmRleF07CisgICAgICAgICAgICAgICAgTEFGU3RyZWFtICps YWZzdCA9IHN0LT5wcml2X2RhdGE7CisKKyAgICAgICAgICAgICAgICBsYWZzdC0+c3RvcmVkID0g MDsKKyAgICAgICAgICAgICAgICBpZiAodmFsICYgMSkgeworICAgICAgICAgICAgICAgICAgICBs YWZzdC0+c3RvcmVkID0gMTsKKyAgICAgICAgICAgICAgICAgICAgc3RfY291bnQrKzsKKyAgICAg ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdmFsID4+PSAxOworICAgICAgICAgICAgICAg IHN0X2luZGV4Kys7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBzLT5pbmRl eCA9IHMtPnN0b3JlZF9pbmRleCA9IDA7CisgICAgICAgIHMtPm5iX3N0b3JlZCA9IHN0X2NvdW50 OworICAgICAgICBpZiAoIXN0X2NvdW50KQorICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5W QUxJRERBVEE7CisgICAgICAgIHJldCA9IGF2aW9fcmVhZChwYiwgcy0+ZGF0YSwgc3RfY291bnQg KiBzdC0+Y29kZWNwYXItPnNhbXBsZV9yYXRlICogYnBwKTsKKyAgICAgICAgaWYgKHJldCA8IDAp CisgICAgICAgICAgICByZXR1cm4gcmV0OworICAgIH0KKworICAgIHN0ID0gY3R4LT5zdHJlYW1z W3MtPmluZGV4XTsKKyAgICBsYWZzdCA9IHN0LT5wcml2X2RhdGE7CisgICAgd2hpbGUgKCFsYWZz dC0+c3RvcmVkKSB7CisgICAgICAgIHMtPmluZGV4Kys7CisgICAgICAgIGlmIChzLT5pbmRleCA+ PSBjdHgtPm5iX3N0cmVhbXMpCisgICAgICAgICAgICBnb3RvIGFnYWluOworICAgICAgICBsYWZz dCA9IGN0eC0+c3RyZWFtc1tzLT5pbmRleF0tPnByaXZfZGF0YTsKKyAgICB9CisgICAgc3QgPSBj dHgtPnN0cmVhbXNbcy0+aW5kZXhdOworCisgICAgcmV0ID0gYXZfbmV3X3BhY2tldChwa3QsIHN0 LT5jb2RlY3Bhci0+c2FtcGxlX3JhdGUgKiBicHApOworICAgIGlmIChyZXQgPCAwKQorICAgICAg ICByZXR1cm4gcmV0OworCisgICAgZm9yIChpbnQgbiA9IDA7IG4gPCBzdC0+Y29kZWNwYXItPnNh bXBsZV9yYXRlOyBuKyspCisgICAgICAgIG1lbWNweShwa3QtPmRhdGEgKyBuICogYnBwLCBzLT5k YXRhICsgbiAqIHMtPm5iX3N0b3JlZCAqIGJwcCArIHMtPnN0b3JlZF9pbmRleCAqIGJwcCwgYnBw KTsKKworICAgIHBrdC0+c3RyZWFtX2luZGV4ID0gcy0+aW5kZXg7CisgICAgcGt0LT5wb3MgPSBw b3M7CisgICAgcy0+aW5kZXgrKzsKKyAgICBzLT5zdG9yZWRfaW5kZXgrKzsKKworICAgIHJldHVy biByZXQ7Cit9CisKK3N0YXRpYyBpbnQgbGFmX3JlYWRfc2VlayhBVkZvcm1hdENvbnRleHQgKmN0 eCwgaW50IHN0cmVhbV9pbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IHRp bWVzdGFtcCwgaW50IGZsYWdzKQoreworICAgIExBRkNvbnRleHQgKnMgPSBjdHgtPnByaXZfZGF0 YTsKKworICAgIHMtPnN0b3JlZF9pbmRleCA9IHMtPmluZGV4ID0gMDsKKworICAgIHJldHVybiAt MTsKK30KKworY29uc3QgQVZJbnB1dEZvcm1hdCBmZl9sYWZfZGVtdXhlciA9IHsKKyAgICAubmFt ZSAgICAgICAgICAgPSAibGFmIiwKKyAgICAubG9uZ19uYW1lICAgICAgPSBOVUxMX0lGX0NPTkZJ R19TTUFMTCgiTEFGIChMaW1pdGxlc3MgQXVkaW8gRm9ybWF0KSIpLAorICAgIC5wcml2X2RhdGFf c2l6ZSA9IHNpemVvZihMQUZDb250ZXh0KSwKKyAgICAucmVhZF9wcm9iZSAgICAgPSBsYWZfcHJv YmUsCisgICAgLnJlYWRfaGVhZGVyICAgID0gbGFmX3JlYWRfaGVhZGVyLAorICAgIC5yZWFkX3Bh Y2tldCAgICA9IGxhZl9yZWFkX3BhY2tldCwKKyAgICAucmVhZF9zZWVrICAgICAgPSBsYWZfcmVh ZF9zZWVrLAorICAgIC5leHRlbnNpb25zICAgICA9ICJsYWYiLAorICAgIC5mbGFncyAgICAgICAg ICA9IEFWRk1UX0dFTkVSSUNfSU5ERVgsCit9OwotLSAKMi4zNy4yCgo= --000000000000f8f57305e877ad44 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". --000000000000f8f57305e877ad44--