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 9694941069 for ; Tue, 14 Jun 2022 14:39:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D28EA68B62A; Tue, 14 Jun 2022 17:39:09 +0300 (EEST) Received: from mail.acc.umu.se (mail.acc.umu.se [130.239.18.156]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2CBFF68B194 for ; Tue, 14 Jun 2022 17:39:03 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id 3A0A744DCB for ; Tue, 14 Jun 2022 16:39:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1655217542; bh=Pus9GxSPzoGwuHuJRUx9JMCn+j9BxbZfSxUlhOwV9C8=; h=Subject:From:To:Date:From; b=Ma236UBTdfPLvzIa0hQiZHfT04uNDonLipv26ZoAaBy5DFS4ydOqGd10ac8U/1VXU UjVHGllP+YoG5BCSE7FJLaQPvFXV+otD43ftVqAFGrg6OXIxscFB3LGkfzEfrh47Pd qHm65LkwtyEbQrEUknDY97eDlduE4SR4SJXJMkkYYLsC2FFJbPvZ89kNvDDW4I8blu Sb/IzcQKt04sqGYA0lU2xbtMbvtX8zh8tMx0Kee/6shKzCKXHthkc2CzWr7X43iUDH kp9X050HAMOT0P5MkuDUn9Oqx5Xek8BQo/9hmAvej9cDcmo8L4dL6vToY4O75gjApx g1dxpNEmhtxcg== Received: from debian.lan (unknown [IPv6:2a00:66c0:a::72c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: tjoppen) by mail.acc.umu.se (Postfix) with ESMTPSA id 6463644DC6 for ; Tue, 14 Jun 2022 16:39:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1655217541; bh=Pus9GxSPzoGwuHuJRUx9JMCn+j9BxbZfSxUlhOwV9C8=; h=Subject:From:To:Date:From; b=Ur96UjzAH9MaHzCJ0qV1AyMcuVYjPtUg5WRNKdWq7mGctLGyGnveQBv+Hr1uM0tGy vekNQlb94EyHYPA3Bz+EreA47mJNfVKA5ghqyIgEj5IWCVGgbtn+dEuDDzpfU4wuOj +qAaVOf8P9afHepxgcsAl98k5/qVX/2Mz6bFNhY19Wo99EQF4eWTJyGm0gkt5e1OpZ qKUcx8jBQwTIo7TlYGY7w+Hlx7VTCyAlOrA1OeW5Pa5NOXSEBP40kmg4zu0mzfjrhv GrP2zdI0jGx8ZPrzXcbhYYlUENt6INOUisoe1rAYjycgN189ggLZsz5rL7DyqYF4bS 9pZeWY8bCjEVQ== Message-ID: <10ec51ef44325c2de6d5de7b994a9b6c8eb5e3a2.camel@acc.umu.se> From: Tomas =?ISO-8859-1?Q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 14 Jun 2022 16:39:00 +0200 Content-Type: multipart/mixed; boundary="=-7jgQB53eperpXhkD56WF" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 01/13] lavc/jpeg2000dec: Finer granularity threading 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: --=-7jgQB53eperpXhkD56WF Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Patch 12 in this series is optional since it's just me getting the speed up on a specific machine /Tomas --=-7jgQB53eperpXhkD56WF Content-Disposition: attachment; filename="0001-lavc-jpeg2000dec-Finer-granularity-threading.patch" Content-Type: text/x-patch; name="0001-lavc-jpeg2000dec-Finer-granularity-threading.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAxMTVhYTI2YzM0MzQxOWU4MWMxYjViYTBiZmRiMTYxNWNiZWMyN2U5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9tYXM9MjBIPUMzPUE0cmRpbj89IDxnaXRA aGFlcmRpbi5zZT4KRGF0ZTogRnJpLCAxMCBKdW4gMjAyMiAxNDoxMDowMiArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDEvMTNdIGxhdmMvanBlZzIwMDBkZWM6IEZpbmVyIGdyYW51bGFyaXR5IHRocmVh ZGluZwoKRGVjb2RpbmcgYW5kIGRlcXVhbnQgaXMgbm93IHRocmVhZGVkIG9uIGNvZGVibG9jayBs ZXZlbC4KSURXVCBpcyB0aHJlYWRlZCBvbiBjb21wb25lbnQgbGV2ZWwuCk1DVCBhbmQgd3JpdGVf ZnJhbWUoKSByZW1haW4gdGhyZWFkZWQgb24gdGlsZSBsZXZlbC4KClRoaXMgYnJpbmdzIGxvc3Ns ZXNzIDRLIEoySyB3aXRoIC1sb3dyZXMgMiAtdGhyZWFkX3R5cGUgc2xpY2UgLXRocmVhZHMgOTYg b24gYW4gQU1EIEVQWUMgN1IzMiBmcm9tIDQuOCBmcHMgKDE3NyUgQ1BVKSB0byAzMSBmcHMgKDEy ODQlIENQVSkuCi0tLQogbGliYXZjb2RlYy9qcGVnMjAwMGRlYy5jIHwgMTk2ICsrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE0MiBpbnNlcnRp b25zKCspLCA1NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2pwZWcyMDAw ZGVjLmMgYi9saWJhdmNvZGVjL2pwZWcyMDAwZGVjLmMKaW5kZXggOTI5NjZiMTFmNS4uZDk3NTRm YzUwZSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9qcGVnMjAwMGRlYy5jCisrKyBiL2xpYmF2Y29k ZWMvanBlZzIwMDBkZWMuYwpAQCAtOTIsNiArOTIsMTUgQEAgdHlwZWRlZiBzdHJ1Y3QgSnBlZzIw MDBUaWxlIHsKICAgICBpbnQgY29vcmRbMl1bMl07ICAgICAgICAgICAgICAgICAgICAvLyBib3Jk ZXIgY29vcmRpbmF0ZXMge3t4MCwgeDF9LCB7eTAsIHkxfX0KIH0gSnBlZzIwMDBUaWxlOwogCit0 eXBlZGVmIHN0cnVjdCBKcGVnMjAwMElkd3RUaHJlYWQgeworICAgIGludCBjYl9zdGFydCwgY2Jf ZW5kOworfSBKcGVnMjAwMElkd3RUaHJlYWQ7CisKK3R5cGVkZWYgc3RydWN0IEpwZWcyMDAwQ29k ZWJsb2NrVGhyZWFkIHsKKyAgICBpbnQgdGlsZW5vLCBjb21wbm8sIHJlc2xldmVsbm8sIGJhbmRu bywgcHJlY25vLCBjYmxrbm87CisgICAgaW50IGNvZGVkOworfSBKcGVnMjAwMENvZGVibG9ja1Ro cmVhZDsKKwogdHlwZWRlZiBzdHJ1Y3QgSnBlZzIwMDBEZWNvZGVyQ29udGV4dCB7CiAgICAgQVZD bGFzcyAgICAgICAgICpjbGFzczsKICAgICBBVkNvZGVjQ29udGV4dCAgKmF2Y3R4OwpAQCAtMTM2 LDYgKzE0NSwxMSBAQCB0eXBlZGVmIHN0cnVjdCBKcGVnMjAwMERlY29kZXJDb250ZXh0IHsKIAog ICAgIC8qb3B0aW9ucyBwYXJhbWV0ZXJzKi8KICAgICBpbnQgICAgICAgICAgICAgcmVkdWN0aW9u X2ZhY3RvcjsKKworICAgIEpwZWcyMDAwSWR3dFRocmVhZCAqaWR3dDsKKyAgICB1bnNpZ25lZCBp bnQgaWR3dF9zaXplOworICAgIEpwZWcyMDAwQ29kZWJsb2NrVGhyZWFkICpjYjsKKyAgICB1bnNp Z25lZCBpbnQgY2Jfc2l6ZTsKIH0gSnBlZzIwMDBEZWNvZGVyQ29udGV4dDsKIAogLyogZ2V0X2Jp dHMgZnVuY3Rpb25zIGZvciBKUEVHMjAwMCBwYWNrZXQgYml0c3RyZWFtCkBAIC0xOTM3LDU0ICsx OTUxLDMzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCByb2lfc2NhbGVfY2JsayhKcGVnMjAwMENibGsg KmNibGssCiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgdGlsZV9jb2RlYmxvY2tzKEpw ZWcyMDAwRGVjb2RlckNvbnRleHQgKnMsIEpwZWcyMDAwVGlsZSAqdGlsZSkKK3N0YXRpYyBpbnQg anBlZzIwMDBfZGVjb2RlX2NiKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgdm9pZCAqdGQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgam9ibnIsIGludCB0aHJlYWRucikKIHsKICAg ICBKcGVnMjAwMFQxQ29udGV4dCB0MTsKLQotICAgIGludCBjb21wbm8sIHJlc2xldmVsbm8sIGJh bmRubzsKLQotICAgIC8qIExvb3Agb24gdGlsZSBjb21wb25lbnRzICovCi0gICAgZm9yIChjb21w bm8gPSAwOyBjb21wbm8gPCBzLT5uY29tcG9uZW50czsgY29tcG5vKyspIHsKLSAgICAgICAgSnBl ZzIwMDBDb21wb25lbnQgKmNvbXAgICAgID0gdGlsZS0+Y29tcCArIGNvbXBubzsKLSAgICAgICAg SnBlZzIwMDBDb2RpbmdTdHlsZSAqY29kc3R5ID0gdGlsZS0+Y29kc3R5ICsgY29tcG5vOwotICAg ICAgICBpbnQgY29kZWQgPSAwOwotCi0gICAgICAgIHQxLnN0cmlkZSA9ICgxPDxjb2RzdHktPmxv ZzJfY2Jsa193aWR0aCkgKyAyOwotCi0gICAgICAgIC8qIExvb3Agb24gcmVzb2x1dGlvbiBsZXZl bHMgKi8KLSAgICAgICAgZm9yIChyZXNsZXZlbG5vID0gMDsgcmVzbGV2ZWxubyA8IGNvZHN0eS0+ bnJlc2xldmVsczJkZWNvZGU7IHJlc2xldmVsbm8rKykgewotICAgICAgICAgICAgSnBlZzIwMDBS ZXNMZXZlbCAqcmxldmVsID0gY29tcC0+cmVzbGV2ZWwgKyByZXNsZXZlbG5vOwotICAgICAgICAg ICAgLyogTG9vcCBvbiBiYW5kcyAqLwotICAgICAgICAgICAgZm9yIChiYW5kbm8gPSAwOyBiYW5k bm8gPCBybGV2ZWwtPm5iYW5kczsgYmFuZG5vKyspIHsKLSAgICAgICAgICAgICAgICBpbnQgbmJf cHJlY2luY3RzLCBwcmVjbm87Ci0gICAgICAgICAgICAgICAgSnBlZzIwMDBCYW5kICpiYW5kID0g cmxldmVsLT5iYW5kICsgYmFuZG5vOwotICAgICAgICAgICAgICAgIGludCBjYmxrbm8gPSAwLCBi YW5kcG9zOwotCi0gICAgICAgICAgICAgICAgYmFuZHBvcyA9IGJhbmRubyArIChyZXNsZXZlbG5v ID4gMCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoYmFuZC0+Y29vcmRbMF1bMF0gPT0gYmFuZC0+ Y29vcmRbMF1bMV0gfHwKLSAgICAgICAgICAgICAgICAgICAgYmFuZC0+Y29vcmRbMV1bMF0gPT0g YmFuZC0+Y29vcmRbMV1bMV0pCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAg ICAgICAgICAgICAgbmJfcHJlY2luY3RzID0gcmxldmVsLT5udW1fcHJlY2luY3RzX3ggKiBybGV2 ZWwtPm51bV9wcmVjaW5jdHNfeTsKLSAgICAgICAgICAgICAgICAvKiBMb29wIG9uIHByZWNpbmN0 cyAqLwotICAgICAgICAgICAgICAgIGZvciAocHJlY25vID0gMDsgcHJlY25vIDwgbmJfcHJlY2lu Y3RzOyBwcmVjbm8rKykgewotICAgICAgICAgICAgICAgICAgICBKcGVnMjAwMFByZWMgKnByZWMg PSBiYW5kLT5wcmVjICsgcHJlY25vOwotCi0gICAgICAgICAgICAgICAgICAgIC8qIExvb3Agb24g Y29kZWJsb2NrcyAqLwotICAgICAgICAgICAgICAgICAgICBmb3IgKGNibGtubyA9IDA7Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgY2Jsa25vIDwgcHJlYy0+bmJfY29kZWJsb2Nrc193aWR0aCAq IHByZWMtPm5iX2NvZGVibG9ja3NfaGVpZ2h0OwotICAgICAgICAgICAgICAgICAgICAgICAgIGNi bGtubysrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwgeTsKLSAgICAgICAgICAg ICAgICAgICAgICAgIEpwZWcyMDAwQ2JsayAqY2JsayA9IHByZWMtPmNibGsgKyBjYmxrbm87Ci0g ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmV0ID0gZGVjb2RlX2NibGsocywgY29kc3R5LCAm dDEsIGNibGssCisgICAgSnBlZzIwMDBEZWNvZGVyQ29udGV4dCAqcyAgID0gYXZjdHgtPnByaXZf ZGF0YTsKKyAgICBKcGVnMjAwMENvZGVibG9ja1RocmVhZCAqY2IgPSBzLT5jYiArIGpvYm5yOwor ICAgIEpwZWcyMDAwVGlsZSAqdGlsZSAgICAgICAgICA9IHMtPnRpbGUgKyBjYi0+dGlsZW5vOwor ICAgIEpwZWcyMDAwQ29tcG9uZW50ICpjb21wICAgICA9IHRpbGUtPmNvbXAgKyBjYi0+Y29tcG5v OworICAgIEpwZWcyMDAwQ29kaW5nU3R5bGUgKmNvZHN0eSA9IHRpbGUtPmNvZHN0eSArIGNiLT5j b21wbm87CisgICAgSnBlZzIwMDBSZXNMZXZlbCAqcmxldmVsICAgID0gY29tcC0+cmVzbGV2ZWwg KyBjYi0+cmVzbGV2ZWxubzsKKyAgICBKcGVnMjAwMEJhbmQgKmJhbmQgICAgICAgICAgPSBybGV2 ZWwtPmJhbmQgKyBjYi0+YmFuZG5vOworICAgIEpwZWcyMDAwUHJlYyAqcHJlYyAgICAgICAgICA9 IGJhbmQtPnByZWMgKyBjYi0+cHJlY25vOworICAgIEpwZWcyMDAwQ2JsayAqY2JsayAgICAgICAg ICA9IHByZWMtPmNibGsgKyBjYi0+Y2Jsa25vOworICAgIGludCByZXQsIHgsIHksIGJhbmRwb3Mg ICAgICA9IGNiLT5iYW5kbm8gKyAoY2ItPnJlc2xldmVsbm8gPiAwKTsKKworICAgIHQxLnN0cmlk ZSA9ICgxPDxjb2RzdHktPmxvZzJfY2Jsa193aWR0aCkgKyAyOworICAgIGNiLT5jb2RlZCA9IDA7 CisKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IGRlY29kZV9jYmxrKHMsIGNvZHN0eSwg JnQxLCBjYmxrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Jsay0+Y29v cmRbMF1bMV0gLSBjYmxrLT5jb29yZFswXVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNibGstPmNvb3JkWzFdWzFdIC0gY2Jsay0+Y29vcmRbMV1bMF0sCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYW5kcG9zLCBjb21wLT5yb2lfc2hpZnQpOwog ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb2RlZCA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ItPmNvZGVkID0g MTsKICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKwog ICAgICAgICAgICAgICAgICAgICAgICAgeCA9IGNibGstPmNvb3JkWzBdWzBdIC0gYmFuZC0+Y29v cmRbMF1bMF07CiAgICAgICAgICAgICAgICAgICAgICAgICB5ID0gY2Jsay0+Y29vcmRbMV1bMF0g LSBiYW5kLT5jb29yZFsxXVswXTsKIApAQCAtMTk5NiwxNiArMTk4OSwyOCBAQCBzdGF0aWMgaW5s aW5lIHZvaWQgdGlsZV9jb2RlYmxvY2tzKEpwZWcyMDAwRGVjb2RlckNvbnRleHQgKnMsIEpwZWcy MDAwVGlsZSAqdGlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcXVhbnRpemF0aW9u X2ludF85Nyh4LCB5LCBjYmxrLCBjb21wLCAmdDEsIGJhbmQpOwogICAgICAgICAgICAgICAgICAg ICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcXVhbnRpemF0aW9uX2lu dCh4LCB5LCBjYmxrLCBjb21wLCAmdDEsIGJhbmQpOwotICAgICAgICAgICAgICAgICAgIH0gLyog ZW5kIGNibGsgKi8KLSAgICAgICAgICAgICAgICB9IC8qZW5kIHByZWMgKi8KLSAgICAgICAgICAg IH0gLyogZW5kIGJhbmQgKi8KLSAgICAgICAgfSAvKiBlbmQgcmVzbGV2ZWwgKi8KIAotICAgICAg ICAvKiBpbnZlcnNlIERXVCAqLwotICAgICAgICBpZiAoY29kZWQpCisgICAgcmV0dXJuIDA7Cit9 CisKK3N0YXRpYyBpbnQganBlZzIwMDBfaWR3dChBVkNvZGVjQ29udGV4dCAqYXZjdHgsIHZvaWQg KnRkLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBqb2JuciwgaW50IHRocmVhZG5yKQor eworICAgIEpwZWcyMDAwRGVjb2RlckNvbnRleHQgKnMgICA9IGF2Y3R4LT5wcml2X2RhdGE7Cisg ICAgSnBlZzIwMDBJZHd0VGhyZWFkICppZHd0ICAgID0gcy0+aWR3dCArIGpvYm5yOworICAgIEpw ZWcyMDAwVGlsZSAqdGlsZSAgICAgICAgICA9IHMtPnRpbGUgKyBqb2JuciAvIHMtPm5jb21wb25l bnRzOworICAgIGludCBjb21wbm8gICAgICAgICAgICAgICAgICA9IGpvYm5yICUgcy0+bmNvbXBv bmVudHM7CisgICAgSnBlZzIwMDBDb21wb25lbnQgKmNvbXAgICAgID0gdGlsZS0+Y29tcCArIGNv bXBubzsKKyAgICBKcGVnMjAwMENvZGluZ1N0eWxlICpjb2RzdHkgPSB0aWxlLT5jb2RzdHkgKyBj b21wbm87CisKKyAgICBmb3IgKGludCBpID0gaWR3dC0+Y2Jfc3RhcnQ7IGkgPCBpZHd0LT5jYl9l bmQ7IGkrKykgeworICAgICAgICBpZiAocy0+Y2JbaV0uY29kZWQpIHsKICAgICAgICAgICAgIGZm X2R3dF9kZWNvZGUoJmNvbXAtPmR3dCwgY29kc3R5LT50cmFuc2Zvcm0gPT0gRkZfRFdUOTcgPyAo dm9pZCopY29tcC0+Zl9kYXRhIDogKHZvaWQqKWNvbXAtPmlfZGF0YSk7CisgICAgICAgICAgICBi cmVhazsKKyAgICAgICAgfQorICAgIH0KIAotICAgIH0gLyplbmQgY29tcCAqLworICAgIHJldHVy biAwOwogfQogCiAjZGVmaW5lIFdSSVRFX0ZSQU1FKEQsIFBJWEVMKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAg LTIwNzUsMTUgKzIwODAsMTMgQEAgV1JJVEVfRlJBTUUoMTYsIHVpbnQxNl90KQogCiAjdW5kZWYg V1JJVEVfRlJBTUUKIAotc3RhdGljIGludCBqcGVnMjAwMF9kZWNvZGVfdGlsZShBVkNvZGVjQ29u dGV4dCAqYXZjdHgsIHZvaWQgKnRkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgam9ibnIsIGludCB0aHJlYWRucikKK3N0YXRpYyBpbnQganBlZzIwMDBfbWN0X3dyaXRlX2Zy YW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgdm9pZCAqdGQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgam9ibnIsIGludCB0aHJlYWRucikKIHsKICAgICBKcGVnMjAw MERlY29kZXJDb250ZXh0ICpzID0gYXZjdHgtPnByaXZfZGF0YTsKICAgICBBVkZyYW1lICpwaWN0 dXJlID0gdGQ7CiAgICAgSnBlZzIwMDBUaWxlICp0aWxlID0gcy0+dGlsZSArIGpvYm5yOwogCi0g ICAgdGlsZV9jb2RlYmxvY2tzKHMsIHRpbGUpOwotCiAgICAgLyogaW52ZXJzZSBNQ1QgdHJhbnNm b3JtYXRpb24gKi8KICAgICBpZiAodGlsZS0+Y29kc3R5WzBdLm1jdCkKICAgICAgICAgbWN0X2Rl Y29kZShzLCB0aWxlKTsKQEAgLTI0NzMsMTEgKzI0NzYsODAgQEAgc3RhdGljIGF2X2NvbGQgaW50 IGpwZWcyMDAwX2RlY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKICAgICByZXR1cm4g MDsKIH0KIAorc3RhdGljIGludCBqcGVnMjAwMF9zZXR1cF9jYnMoSnBlZzIwMDBEZWNvZGVyQ29u dGV4dCAqcywgaW50ICpjYnNfb3V0KQoreworICAgIGlmIChzLT5udW1YdGlsZXMgKiBzLT5udW1Z dGlsZXMgPiBJTlRfTUFYL3NpemVvZigqcy0+aWR3dCkvcy0+bmNvbXBvbmVudHMpCisgICAgICAg IHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisKKyAgICBhdl9mYXN0X21hbGxvYygmcy0+aWR3dCwg JnMtPmlkd3Rfc2l6ZSwgcy0+bnVtWHRpbGVzICogcy0+bnVtWXRpbGVzICogcy0+bmNvbXBvbmVu dHMgKiBzaXplb2YoKnMtPmlkd3QpKTsKKyAgICBpZiAoIXMtPmlkd3QpCisgICAgICAgIHJldHVy biBBVkVSUk9SKEVOT01FTSk7CisKKyAgICBmb3IgKGludCBwYXNzID0gMDsgcGFzcyA8IDI7IHBh c3MrKykgeworICAgICAgICBpbnQgY2JzID0gMDsKKyAgICAgICAgZm9yIChpbnQgdGlsZW5vID0g MDsgdGlsZW5vIDwgcy0+bnVtWHRpbGVzICogcy0+bnVtWXRpbGVzOyB0aWxlbm8rKykgeworICAg ICAgICAgICAgZm9yIChpbnQgY29tcG5vID0gMDsgY29tcG5vIDwgcy0+bmNvbXBvbmVudHM7IGNv bXBubysrKSB7CisgICAgICAgICAgICAgICAgSnBlZzIwMDBUaWxlICp0aWxlICAgICAgICAgID0g cy0+dGlsZSArIHRpbGVubzsKKyAgICAgICAgICAgICAgICBKcGVnMjAwMENvbXBvbmVudCAqY29t cCAgICAgPSB0aWxlLT5jb21wICsgY29tcG5vOworICAgICAgICAgICAgICAgIEpwZWcyMDAwQ29k aW5nU3R5bGUgKmNvZHN0eSA9IHRpbGUtPmNvZHN0eSArIGNvbXBubzsKKyAgICAgICAgICAgICAg ICBKcGVnMjAwMElkd3RUaHJlYWQgKmlkd3QgICAgPSBzLT5pZHd0ICsgY29tcG5vICsgdGlsZW5v ICogcy0+bmNvbXBvbmVudHM7CisKKyAgICAgICAgICAgICAgICBpZHd0LT5jYl9zdGFydCA9IGNi czsKKworICAgICAgICAgICAgICAgIGZvciAoaW50IHJlc2xldmVsbm8gPSAwOyByZXNsZXZlbG5v IDwgY29kc3R5LT5ucmVzbGV2ZWxzMmRlY29kZTsgcmVzbGV2ZWxubysrKSB7CisgICAgICAgICAg ICAgICAgICAgIEpwZWcyMDAwUmVzTGV2ZWwgKnJsZXZlbCA9IGNvbXAtPnJlc2xldmVsICsgcmVz bGV2ZWxubzsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChpbnQgYmFuZG5vID0gMDsgYmFuZG5v IDwgcmxldmVsLT5uYmFuZHM7IGJhbmRubysrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp bnQgbmJfcHJlY2luY3RzID0gcmxldmVsLT5udW1fcHJlY2luY3RzX3ggKiBybGV2ZWwtPm51bV9w cmVjaW5jdHNfeTsKKyAgICAgICAgICAgICAgICAgICAgICAgIEpwZWcyMDAwQmFuZCAqYmFuZCA9 IHJsZXZlbC0+YmFuZCArIGJhbmRubzsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJh bmQtPmNvb3JkWzBdWzBdID09IGJhbmQtPmNvb3JkWzBdWzFdIHx8CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmFuZC0+Y29vcmRbMV1bMF0gPT0gYmFuZC0+Y29vcmRbMV1bMV0pCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAgICAg ICAgIGZvciAoaW50IHByZWNubyA9IDA7IHByZWNubyA8IG5iX3ByZWNpbmN0czsgcHJlY25vKysp IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBKcGVnMjAwMFByZWMgKnByZWMgPSBiYW5k LT5wcmVjICsgcHJlY25vOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwcmVjX2Ni cyA9IHByZWMtPm5iX2NvZGVibG9ja3Nfd2lkdGggKiBwcmVjLT5uYl9jb2RlYmxvY2tzX2hlaWdo dDsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYnMgPiBJTlRfTUFYIC0gcHJl Y19jYnMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVO T01FTSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGludCBjYmxrbm8gPSAw OyBjYmxrbm8gPCBwcmVjX2NiczsgY2Jsa25vKyssIGNicysrKSB7CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmIChwYXNzID09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEpwZWcyMDAwQ29kZWJsb2NrVGhyZWFkICpjYiA9IHMtPmNiICsgY2JzOwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ItPnRpbGVubyA9IHRpbGVubzsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiLT5jb21wbm8gPSBjb21wbm87 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYi0+cmVzbGV2ZWxubyA9IHJl c2xldmVsbm87CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYi0+YmFuZG5v ID0gYmFuZG5vOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ItPnByZWNu byA9IHByZWNubzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiLT5jYmxr bm8gPSBjYmxrbm87CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZHd0 LT5jYl9lbmQgPSBjYnM7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAo cGFzcyA9PSAwKSB7CisgICAgICAgICAgICBpZiAoY2JzID4gSU5UX01BWC9zaXplb2YoKnMtPmNi KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworICAgICAgICAgICAg YXZfZmFzdF9tYWxsb2MoJnMtPmNiLCAmcy0+Y2Jfc2l6ZSwgY2JzKnNpemVvZigqcy0+Y2IpKTsK KyAgICAgICAgICAgIGlmICghcy0+Y2IpCisgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1Io RU5PTUVNKTsKKyAgICAgICAgfQorCisgICAgICAgICpjYnNfb3V0ID0gY2JzOworICAgIH0KKyAg ICByZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBqcGVnMjAwMF9kZWNvZGVfZnJhbWUoQVZDb2Rl Y0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpwaWN0dXJlLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50ICpnb3RfZnJhbWUsIEFWUGFja2V0ICphdnBrdCkKIHsKICAgICBKcGVn MjAwMERlY29kZXJDb250ZXh0ICpzID0gYXZjdHgtPnByaXZfZGF0YTsKLSAgICBpbnQgcmV0Owor ICAgIGludCByZXQsIGNiczsKIAogICAgIHMtPmF2Y3R4ICAgICA9IGF2Y3R4OwogICAgIGJ5dGVz dHJlYW0yX2luaXQoJnMtPmcsIGF2cGt0LT5kYXRhLCBhdnBrdC0+c2l6ZSk7CkBAIC0yNTM1LDcg KzI2MDcsMTIgQEAgc3RhdGljIGludCBqcGVnMjAwMF9kZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRl eHQgKmF2Y3R4LCBBVkZyYW1lICpwaWN0dXJlLAogICAgICAgICB9CiAgICAgfQogCi0gICAgYXZj dHgtPmV4ZWN1dGUyKGF2Y3R4LCBqcGVnMjAwMF9kZWNvZGVfdGlsZSwgcGljdHVyZSwgTlVMTCwg cy0+bnVtWHRpbGVzICogcy0+bnVtWXRpbGVzKTsKKyAgICBpZiAoKHJldCA9IGpwZWcyMDAwX3Nl dHVwX2NicyhzLCAmY2JzKSkpCisgICAgICAgIGdvdG8gZW5kOworCisgICAgYXZjdHgtPmV4ZWN1 dGUyKGF2Y3R4LCBqcGVnMjAwMF9kZWNvZGVfY2IsIE5VTEwsIE5VTEwsIGNicyk7CisgICAgYXZj dHgtPmV4ZWN1dGUyKGF2Y3R4LCBqcGVnMjAwMF9pZHd0LCBOVUxMLCBOVUxMLCBzLT5udW1YdGls ZXMgKiBzLT5udW1ZdGlsZXMgKiBzLT5uY29tcG9uZW50cyk7CisgICAgYXZjdHgtPmV4ZWN1dGUy KGF2Y3R4LCBqcGVnMjAwMF9tY3Rfd3JpdGVfZnJhbWUsIHBpY3R1cmUsIE5VTEwsIHMtPm51bVh0 aWxlcyAqIHMtPm51bVl0aWxlcyk7CiAKICAgICBqcGVnMjAwMF9kZWNfY2xlYW51cChzKTsKIApA QCAtMjU1NCw2ICsyNjMxLDE2IEBAIGVuZDoKICAgICByZXR1cm4gcmV0OwogfQogCitzdGF0aWMg YXZfY29sZCBpbnQganBlZzIwMDBfZGVjb2RlX2Nsb3NlKEFWQ29kZWNDb250ZXh0ICphdmN0eCkK K3sKKyAgICBKcGVnMjAwMERlY29kZXJDb250ZXh0ICpzID0gYXZjdHgtPnByaXZfZGF0YTsKKwor ICAgIGF2X2ZyZWVwKCZzLT5pZHd0KTsKKyAgICBhdl9mcmVlcCgmcy0+Y2IpOworCisgICAgcmV0 dXJuIDA7Cit9CisKICNkZWZpbmUgT0ZGU0VUKHgpIG9mZnNldG9mKEpwZWcyMDAwRGVjb2RlckNv bnRleHQsIHgpCiAjZGVmaW5lIFZEIEFWX09QVF9GTEFHX1ZJREVPX1BBUkFNIHwgQVZfT1BUX0ZM QUdfREVDT0RJTkdfUEFSQU0KIApAQCAtMjU3OSw2ICsyNjY2LDcgQEAgY29uc3QgRkZDb2RlYyBm Zl9qcGVnMjAwMF9kZWNvZGVyID0gewogICAgIC5wcml2X2RhdGFfc2l6ZSAgID0gc2l6ZW9mKEpw ZWcyMDAwRGVjb2RlckNvbnRleHQpLAogICAgIC5pbml0ICAgICAgICAgICAgID0ganBlZzIwMDBf ZGVjb2RlX2luaXQsCiAgICAgRkZfQ09ERUNfREVDT0RFX0NCKGpwZWcyMDAwX2RlY29kZV9mcmFt ZSksCisgICAgLmNsb3NlICAgICAgICAgICAgPSBqcGVnMjAwMF9kZWNvZGVfY2xvc2UsCiAgICAg LnAucHJpdl9jbGFzcyAgICAgPSAmanBlZzIwMDBfY2xhc3MsCiAgICAgLnAubWF4X2xvd3JlcyAg ICAgPSA1LAogICAgIC5wLnByb2ZpbGVzICAgICAgID0gTlVMTF9JRl9DT05GSUdfU01BTEwoZmZf anBlZzIwMDBfcHJvZmlsZXMpLAotLSAKMi4zMC4yCgo= --=-7jgQB53eperpXhkD56WF 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". --=-7jgQB53eperpXhkD56WF--