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 399CF4585B for ; Fri, 24 Feb 2023 09:00:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 91C5868C115; Fri, 24 Feb 2023 11:00:33 +0200 (EET) Received: from mail.frobbit.se (mail.frobbit.se [85.30.129.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5AD3368C100 for ; Fri, 24 Feb 2023 11:00:27 +0200 (EET) Received: from [10.10.150.69] (1346516434.ip.84grams.net [134.65.164.34]) by mail.frobbit.se (Postfix) with ESMTPSA id E8BE9207DD for ; Fri, 24 Feb 2023 10:00:26 +0100 (CET) Message-ID: From: Tomas =?ISO-8859-1?Q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Fri, 24 Feb 2023 10:00:25 +0100 In-Reply-To: References: Content-Type: multipart/mixed; boundary="=-2sBimXXdhJVarKOzxIcz" User-Agent: Evolution 3.38.3-1+deb11u1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/4] lavc/mediacodec_wrapper: Refactor ff_AMediaCodecList_getCodecNameByType() 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: --=-2sBimXXdhJVarKOzxIcz Content-Type: text/plain Content-Transfer-Encoding: 7bit --=-2sBimXXdhJVarKOzxIcz Content-Disposition: attachment; filename*0=0002-lavc-mediacodec_wrapper-Refactor-ff_AMediaCodecList_.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0002-lavc-mediacodec_wrapper-Refactor-ff_AMediaCodecList_.patch"; charset="UTF-8" RnJvbSA5ZDRkZWZiYzkyZTQ5NzZmN2Q2NTIxNDlhMjE1ZTJjMTY1MjM5ZTQyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9tYXM9MjBIPUMzPUE0cmRpbj89IDxnaXRA aGFlcmRpbi5zZT4KRGF0ZTogV2VkLCAxMSBKYW4gMjAyMyAyMTo0OTozMCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMi80XSBsYXZjL21lZGlhY29kZWNfd3JhcHBlcjogUmVmYWN0b3IKIGZmX0FNZWRp YUNvZGVjTGlzdF9nZXRDb2RlY05hbWVCeVR5cGUoKQoKQSBsb3Qgc2hvcnRlciwgbmVzdGVkIHZh cmlhYmxlcyBhbmQga2VlcHMgZ29pbmcgaW4gY2FzZSBvZiBleGNlcHRpb25zLgpNYWtlcyB1c2Ug b2YgQzk5IGRlY2xhcmF0aW9ucy4KClRoaXMgcGF0Y2ggaGFzIGJlZW4gcmVsZWFzZWQgYnkgRXBp YyBHYW1lcycgbGVnYWwgZGVwYXJ0bWVudC4KLS0tCiBsaWJhdmNvZGVjL21lZGlhY29kZWNfd3Jh cHBlci5jIHwgMTYyICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMTE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp YmF2Y29kZWMvbWVkaWFjb2RlY193cmFwcGVyLmMgYi9saWJhdmNvZGVjL21lZGlhY29kZWNfd3Jh cHBlci5jCmluZGV4IDM0ZWMyMTM0YWEuLjgyZWVhZDI4MzMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29k ZWMvbWVkaWFjb2RlY193cmFwcGVyLmMKKysrIGIvbGliYXZjb2RlYy9tZWRpYWNvZGVjX3dyYXBw ZXIuYwpAQCAtMiw2ICsyLDcgQEAKICAqIEFuZHJvaWQgTWVkaWFDb2RlYyBXcmFwcGVyCiAgKgog ICogQ29weXJpZ2h0IChjKSAyMDE1LTIwMTYgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vy b24gc3R1cGVmbGl4LmNvbT4KKyAqIE1vZGlmaWNhdGlvbnMgYnkgRXBpYyBHYW1lcywgSW5jLiwg MjAyMy4KICAqCiAgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcuCiAgKgpAQCAtMzY1LDI2 ICszNjYsMTMgQEAgaW50IGZmX0FNZWRpYUNvZGVjUHJvZmlsZV9nZXRQcm9maWxlRnJvbUFWQ29k ZWNDb250ZXh0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKIGNoYXIgKmZmX0FNZWRpYUNvZGVjTGlz dF9nZXRDb2RlY05hbWVCeVR5cGUoY29uc3QgY2hhciAqbWltZSwgaW50IHByb2ZpbGUsIGludCBl bmNvZGVyLCB2b2lkICpsb2dfY3R4KQogewogICAgIGludCByZXQ7Ci0gICAgaW50IGk7Ci0gICAg aW50IGNvZGVjX2NvdW50OwogICAgIGludCBmb3VuZF9jb2RlYyA9IDA7CiAgICAgY2hhciAqbmFt ZSA9IE5VTEw7Ci0gICAgY2hhciAqc3VwcG9ydGVkX3R5cGUgPSBOVUxMOwogCiAgICAgSk5JRW52 ICplbnYgPSBOVUxMOwogICAgIHN0cnVjdCBKTklBTWVkaWFDb2RlY0xpc3RGaWVsZHMgamZpZWxk cyA9IHsgMCB9OwogICAgIHN0cnVjdCBKTklBTWVkaWFGb3JtYXRGaWVsZHMgbWVkaWFmb3JtYXRf amZpZWxkcyA9IHsgMCB9OwogCi0gICAgam9iamVjdCBjb2RlY19uYW1lID0gTlVMTDsKLQotICAg IGpvYmplY3QgaW5mbyA9IE5VTEw7Ci0gICAgam9iamVjdCB0eXBlID0gTlVMTDsKLSAgICBqb2Jq ZWN0QXJyYXkgdHlwZXMgPSBOVUxMOwotCi0gICAgam9iamVjdCBjYXBhYmlsaXRpZXMgPSBOVUxM OwotICAgIGpvYmplY3QgcHJvZmlsZV9sZXZlbCA9IE5VTEw7Ci0gICAgam9iamVjdEFycmF5IHBy b2ZpbGVfbGV2ZWxzID0gTlVMTDsKLQogICAgIEpOSV9HRVRfRU5WX09SX1JFVFVSTihlbnYsIGxv Z19jdHgsIE5VTEwpOwogCiAgICAgaWYgKChyZXQgPSBmZl9qbmlfaW5pdF9qZmllbGRzKGVudiwg JmpmaWVsZHMsIGpuaV9hbWVkaWFjb2RlY2xpc3RfbWFwcGluZywgMCwgbG9nX2N0eCkpIDwgMCkg ewpAQCAtMzk1LDI5ICszODMsMjYgQEAgY2hhciAqZmZfQU1lZGlhQ29kZWNMaXN0X2dldENvZGVj TmFtZUJ5VHlwZShjb25zdCBjaGFyICptaW1lLCBpbnQgcHJvZmlsZSwgaW50IGUKICAgICAgICAg Z290byBkb25lOwogICAgIH0KIAotICAgIGNvZGVjX2NvdW50ID0gKCplbnYpLT5DYWxsU3RhdGlj SW50TWV0aG9kKGVudiwgamZpZWxkcy5tZWRpYWNvZGVjX2xpc3RfY2xhc3MsIGpmaWVsZHMuZ2V0 X2NvZGVjX2NvdW50X2lkKTsKKyAgICBpbnQgY29kZWNfY291bnQgPSAoKmVudiktPkNhbGxTdGF0 aWNJbnRNZXRob2QoZW52LCBqZmllbGRzLm1lZGlhY29kZWNfbGlzdF9jbGFzcywgamZpZWxkcy5n ZXRfY29kZWNfY291bnRfaWQpOwogICAgIGlmIChmZl9qbmlfZXhjZXB0aW9uX2NoZWNrKGVudiwg MSwgbG9nX2N0eCkgPCAwKSB7CiAgICAgICAgIGdvdG8gZG9uZTsKICAgICB9CiAKLSAgICBmb3Io aSA9IDA7IGkgPCBjb2RlY19jb3VudDsgaSsrKSB7Ci0gICAgICAgIGludCBqOwotICAgICAgICBp bnQgdHlwZV9jb3VudDsKLSAgICAgICAgaW50IGlzX2VuY29kZXI7Ci0KLSAgICAgICAgaW5mbyA9 ICgqZW52KS0+Q2FsbFN0YXRpY09iamVjdE1ldGhvZChlbnYsIGpmaWVsZHMubWVkaWFjb2RlY19s aXN0X2NsYXNzLCBqZmllbGRzLmdldF9jb2RlY19pbmZvX2F0X2lkLCBpKTsKKyAgICBmb3IgKGlu dCBpID0gMDsgaSA8IGNvZGVjX2NvdW50ICYmICFmb3VuZF9jb2RlYzsgaSsrKSB7CisgICAgICAg IGpvYmplY3QgaW5mbyA9ICgqZW52KS0+Q2FsbFN0YXRpY09iamVjdE1ldGhvZChlbnYsIGpmaWVs ZHMubWVkaWFjb2RlY19saXN0X2NsYXNzLCBqZmllbGRzLmdldF9jb2RlY19pbmZvX2F0X2lkLCBp KTsKICAgICAgICAgaWYgKGZmX2puaV9leGNlcHRpb25fY2hlY2soZW52LCAxLCBsb2dfY3R4KSA8 IDApIHsKLSAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAgIGNvbnRpbnVlOwogICAg ICAgICB9CiAKLSAgICAgICAgdHlwZXMgPSAoKmVudiktPkNhbGxPYmplY3RNZXRob2QoZW52LCBp bmZvLCBqZmllbGRzLmdldF9zdXBwb3J0ZWRfdHlwZXNfaWQpOworICAgICAgICBqb2JqZWN0IGNv ZGVjX25hbWUgPSBOVUxMOworICAgICAgICBqb2JqZWN0QXJyYXkgdHlwZXMgPSAoKmVudiktPkNh bGxPYmplY3RNZXRob2QoZW52LCBpbmZvLCBqZmllbGRzLmdldF9zdXBwb3J0ZWRfdHlwZXNfaWQp OwogICAgICAgICBpZiAoZmZfam5pX2V4Y2VwdGlvbl9jaGVjayhlbnYsIDEsIGxvZ19jdHgpIDwg MCkgewotICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgICAgZ290byBkb25lX3dpdGhf aW5mbzsKICAgICAgICAgfQogCi0gICAgICAgIGlzX2VuY29kZXIgPSAoKmVudiktPkNhbGxCb29s ZWFuTWV0aG9kKGVudiwgaW5mbywgamZpZWxkcy5pc19lbmNvZGVyX2lkKTsKKyAgICAgICAgaW50 IGlzX2VuY29kZXIgPSAoKmVudiktPkNhbGxCb29sZWFuTWV0aG9kKGVudiwgaW5mbywgamZpZWxk cy5pc19lbmNvZGVyX2lkKTsKICAgICAgICAgaWYgKGZmX2puaV9leGNlcHRpb25fY2hlY2soZW52 LCAxLCBsb2dfY3R4KSA8IDApIHsKLSAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAg IGdvdG8gZG9uZV93aXRoX2luZm87CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoaXNfZW5jb2Rl ciAhPSBlbmNvZGVyKSB7CkBAIC00MjcsNyArNDEyLDcgQEAgY2hhciAqZmZfQU1lZGlhQ29kZWNM aXN0X2dldENvZGVjTmFtZUJ5VHlwZShjb25zdCBjaGFyICptaW1lLCBpbnQgcHJvZmlsZSwgaW50 IGUKICAgICAgICAgaWYgKGpmaWVsZHMuaXNfc29mdHdhcmVfb25seV9pZCkgewogICAgICAgICAg ICAgaW50IGlzX3NvZnR3YXJlX29ubHkgPSAoKmVudiktPkNhbGxCb29sZWFuTWV0aG9kKGVudiwg aW5mbywgamZpZWxkcy5pc19zb2Z0d2FyZV9vbmx5X2lkKTsKICAgICAgICAgICAgIGlmIChmZl9q bmlfZXhjZXB0aW9uX2NoZWNrKGVudiwgMSwgbG9nX2N0eCkgPCAwKSB7Ci0gICAgICAgICAgICAg ICAgZ290byBkb25lOworICAgICAgICAgICAgICAgIGdvdG8gZG9uZV93aXRoX2luZm87CiAgICAg ICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChpc19zb2Z0d2FyZV9vbmx5KSB7CkBAIC00Mzcs MTcgKzQyMiwxMiBAQCBjaGFyICpmZl9BTWVkaWFDb2RlY0xpc3RfZ2V0Q29kZWNOYW1lQnlUeXBl KGNvbnN0IGNoYXIgKm1pbWUsIGludCBwcm9maWxlLCBpbnQgZQogCiAgICAgICAgIGNvZGVjX25h bWUgPSAoKmVudiktPkNhbGxPYmplY3RNZXRob2QoZW52LCBpbmZvLCBqZmllbGRzLmdldF9uYW1l X2lkKTsKICAgICAgICAgaWYgKGZmX2puaV9leGNlcHRpb25fY2hlY2soZW52LCAxLCBsb2dfY3R4 KSA8IDApIHsKLSAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAgIGdvdG8gZG9uZV93 aXRoX2luZm87CiAgICAgICAgIH0KIAogICAgICAgICBuYW1lID0gZmZfam5pX2pzdHJpbmdfdG9f dXRmX2NoYXJzKGVudiwgY29kZWNfbmFtZSwgbG9nX2N0eCk7CiAgICAgICAgIGlmICghbmFtZSkg ewotICAgICAgICAgICAgZ290byBkb25lOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGNvZGVj X25hbWUpIHsKLSAgICAgICAgICAgICgqZW52KS0+RGVsZXRlTG9jYWxSZWYoZW52LCBjb2RlY19u YW1lKTsKLSAgICAgICAgICAgIGNvZGVjX25hbWUgPSBOVUxMOworICAgICAgICAgICAgZ290byBk b25lX3dpdGhfaW5mbzsKICAgICAgICAgfQogCiAgICAgICAgIC8qIFNraXAgc29mdHdhcmUgZGVj b2RlcnMgKi8KQEAgLTQ1OSwxNDEgKzQzOSw4OSBAQCBjaGFyICpmZl9BTWVkaWFDb2RlY0xpc3Rf Z2V0Q29kZWNOYW1lQnlUeXBlKGNvbnN0IGNoYXIgKm1pbWUsIGludCBwcm9maWxlLCBpbnQgZQog ICAgICAgICAgICAgZ290byBkb25lX3dpdGhfaW5mbzsKICAgICAgICAgfQogCi0gICAgICAgIHR5 cGVfY291bnQgPSAoKmVudiktPkdldEFycmF5TGVuZ3RoKGVudiwgdHlwZXMpOwotICAgICAgICBm b3IgKGogPSAwOyBqIDwgdHlwZV9jb3VudDsgaisrKSB7Ci0gICAgICAgICAgICBpbnQgazsKLSAg ICAgICAgICAgIGludCBwcm9maWxlX2NvdW50OwotCi0gICAgICAgICAgICB0eXBlID0gKCplbnYp LT5HZXRPYmplY3RBcnJheUVsZW1lbnQoZW52LCB0eXBlcywgaik7CisgICAgICAgIGludCB0eXBl X2NvdW50ID0gKCplbnYpLT5HZXRBcnJheUxlbmd0aChlbnYsIHR5cGVzKTsKKyAgICAgICAgZm9y IChpbnQgaiA9IDA7IGogPCB0eXBlX2NvdW50ICYmICFmb3VuZF9jb2RlYzsgaisrKSB7CisgICAg ICAgICAgICBqb2JqZWN0IHR5cGUgPSAoKmVudiktPkdldE9iamVjdEFycmF5RWxlbWVudChlbnYs IHR5cGVzLCBqKTsKICAgICAgICAgICAgIGlmIChmZl9qbmlfZXhjZXB0aW9uX2NoZWNrKGVudiwg MSwgbG9nX2N0eCkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAg ICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBzdXBwb3J0ZWRf dHlwZSA9IGZmX2puaV9qc3RyaW5nX3RvX3V0Zl9jaGFycyhlbnYsIHR5cGUsIGxvZ19jdHgpOwor ICAgICAgICAgICAgam9iamVjdCBjYXBhYmlsaXRpZXMgPSBOVUxMOworICAgICAgICAgICAgam9i amVjdEFycmF5IHByb2ZpbGVfbGV2ZWxzID0gTlVMTDsKKyAgICAgICAgICAgIGNoYXIgKnN1cHBv cnRlZF90eXBlID0gZmZfam5pX2pzdHJpbmdfdG9fdXRmX2NoYXJzKGVudiwgdHlwZSwgbG9nX2N0 eCk7CiAgICAgICAgICAgICBpZiAoIXN1cHBvcnRlZF90eXBlKSB7Ci0gICAgICAgICAgICAgICAg Z290byBkb25lOworICAgICAgICAgICAgICAgIGdvdG8gZG9uZV93aXRoX3R5cGU7CiAgICAgICAg ICAgICB9CiAKLSAgICAgICAgICAgIGlmIChhdl9zdHJjYXNlY21wKHN1cHBvcnRlZF90eXBlLCBt aW1lKSkgeworICAgICAgICAgICAgaW50IHN0cmNhc2VjbXBfcmV0ID0gYXZfc3RyY2FzZWNtcChz dXBwb3J0ZWRfdHlwZSwgbWltZSk7CisgICAgICAgICAgICBhdl9mcmVlcCgmc3VwcG9ydGVkX3R5 cGUpOworICAgICAgICAgICAgaWYgKHN0cmNhc2VjbXBfcmV0KSB7CiAgICAgICAgICAgICAgICAg Z290byBkb25lX3dpdGhfdHlwZTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgY2FwYWJp bGl0aWVzID0gKCplbnYpLT5DYWxsT2JqZWN0TWV0aG9kKGVudiwgaW5mbywgamZpZWxkcy5nZXRf Y29kZWNfY2FwYWJpbGl0aWVzX2lkLCB0eXBlKTsKICAgICAgICAgICAgIGlmIChmZl9qbmlfZXhj ZXB0aW9uX2NoZWNrKGVudiwgMSwgbG9nX2N0eCkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgZ290 byBkb25lOworICAgICAgICAgICAgICAgIGdvdG8gZG9uZV93aXRoX3R5cGU7CiAgICAgICAgICAg ICB9CiAKICAgICAgICAgICAgIHByb2ZpbGVfbGV2ZWxzID0gKCplbnYpLT5HZXRPYmplY3RGaWVs ZChlbnYsIGNhcGFiaWxpdGllcywgamZpZWxkcy5wcm9maWxlX2xldmVsc19pZCk7CiAgICAgICAg ICAgICBpZiAoZmZfam5pX2V4Y2VwdGlvbl9jaGVjayhlbnYsIDEsIGxvZ19jdHgpIDwgMCkgewot ICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAgICAgICBnb3RvIGRvbmVfd2l0 aF90eXBlOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBwcm9maWxlX2NvdW50ID0gKCpl bnYpLT5HZXRBcnJheUxlbmd0aChlbnYsIHByb2ZpbGVfbGV2ZWxzKTsKLSAgICAgICAgICAgIGlm ICghcHJvZmlsZV9jb3VudCkgeworICAgICAgICAgICAgLy8gbWF0Y2ggcHJvZmlsZSBpZiBkZXNp cmVkIGJ5IHVzZXIgKHByb2ZpbGUgPj0gMCkgYW5kIGNvZGVjIGhhcyBub24tZW1wdHkgcHJvZmls ZUxldmVscworICAgICAgICAgICAgaW50IHByb2ZpbGVfY291bnQgPSAoKmVudiktPkdldEFycmF5 TGVuZ3RoKGVudiwgcHJvZmlsZV9sZXZlbHMpOworICAgICAgICAgICAgaWYgKCFwcm9maWxlX2Nv dW50IHx8IHByb2ZpbGUgPCAwKSB7CiAgICAgICAgICAgICAgICAgZm91bmRfY29kZWMgPSAxOwot ICAgICAgICAgICAgfQotICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IHByb2ZpbGVfY291bnQ7 IGsrKykgewotICAgICAgICAgICAgICAgIGludCBzdXBwb3J0ZWRfcHJvZmlsZSA9IDA7Ci0KLSAg ICAgICAgICAgICAgICBpZiAocHJvZmlsZSA8IDApIHsKLSAgICAgICAgICAgICAgICAgICAgZm91 bmRfY29kZWMgPSAxOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg ICB9Ci0KLSAgICAgICAgICAgICAgICBwcm9maWxlX2xldmVsID0gKCplbnYpLT5HZXRPYmplY3RB cnJheUVsZW1lbnQoZW52LCBwcm9maWxlX2xldmVscywgayk7Ci0gICAgICAgICAgICAgICAgaWYg KGZmX2puaV9leGNlcHRpb25fY2hlY2soZW52LCAxLCBsb2dfY3R4KSA8IDApIHsKLSAgICAgICAg ICAgICAgICAgICAgZ290byBkb25lOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg ICAgIHN1cHBvcnRlZF9wcm9maWxlID0gKCplbnYpLT5HZXRJbnRGaWVsZChlbnYsIHByb2ZpbGVf bGV2ZWwsIGpmaWVsZHMucHJvZmlsZV9pZCk7Ci0gICAgICAgICAgICAgICAgaWYgKGZmX2puaV9l eGNlcHRpb25fY2hlY2soZW52LCAxLCBsb2dfY3R4KSA8IDApIHsKLSAgICAgICAgICAgICAgICAg ICAgZ290byBkb25lOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGZvdW5k X2NvZGVjID0gcHJvZmlsZSA9PSBzdXBwb3J0ZWRfcHJvZmlsZTsKKyAgICAgICAgICAgIH0gZWxz ZSB7CisgICAgICAgICAgICAgICAgZm9yIChpbnQgayA9IDA7IGsgPCBwcm9maWxlX2NvdW50ICYm ICFmb3VuZF9jb2RlYzsgaysrKSB7CisgICAgICAgICAgICAgICAgICAgIGpvYmplY3QgcHJvZmls ZV9sZXZlbCA9ICgqZW52KS0+R2V0T2JqZWN0QXJyYXlFbGVtZW50KGVudiwgcHJvZmlsZV9sZXZl bHMsIGspOworICAgICAgICAgICAgICAgICAgICBpZiAoZmZfam5pX2V4Y2VwdGlvbl9jaGVjayhl bnYsIDEsIGxvZ19jdHgpIDwgMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7 CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICBpbnQgc3VwcG9y dGVkX3Byb2ZpbGUgPSAoKmVudiktPkdldEludEZpZWxkKGVudiwgcHJvZmlsZV9sZXZlbCwgamZp ZWxkcy5wcm9maWxlX2lkKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGZmX2puaV9leGNlcHRp b25fY2hlY2soZW52LCAxLCBsb2dfY3R4KSA+PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAg ICBmb3VuZF9jb2RlYyA9IHByb2ZpbGUgPT0gc3VwcG9ydGVkX3Byb2ZpbGU7CisgICAgICAgICAg ICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIGlmIChwcm9maWxlX2xldmVsKSB7CiAgICAg ICAgICAgICAgICAgICAgICgqZW52KS0+RGVsZXRlTG9jYWxSZWYoZW52LCBwcm9maWxlX2xldmVs KTsKLSAgICAgICAgICAgICAgICAgICAgcHJvZmlsZV9sZXZlbCA9IE5VTEw7Ci0gICAgICAgICAg ICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKGZvdW5kX2NvZGVjKSB7Ci0gICAgICAgICAg ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAogZG9u ZV93aXRoX3R5cGU6CiAgICAgICAgICAgICBpZiAocHJvZmlsZV9sZXZlbHMpIHsKICAgICAgICAg ICAgICAgICAoKmVudiktPkRlbGV0ZUxvY2FsUmVmKGVudiwgcHJvZmlsZV9sZXZlbHMpOwotICAg ICAgICAgICAgICAgIHByb2ZpbGVfbGV2ZWxzID0gTlVMTDsKICAgICAgICAgICAgIH0KIAogICAg ICAgICAgICAgaWYgKGNhcGFiaWxpdGllcykgewogICAgICAgICAgICAgICAgICgqZW52KS0+RGVs ZXRlTG9jYWxSZWYoZW52LCBjYXBhYmlsaXRpZXMpOwotICAgICAgICAgICAgICAgIGNhcGFiaWxp dGllcyA9IE5VTEw7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICh0eXBlKSB7CiAg ICAgICAgICAgICAgICAgKCplbnYpLT5EZWxldGVMb2NhbFJlZihlbnYsIHR5cGUpOwotICAgICAg ICAgICAgICAgIHR5cGUgPSBOVUxMOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBhdl9m cmVlcCgmc3VwcG9ydGVkX3R5cGUpOwotCi0gICAgICAgICAgICBpZiAoZm91bmRfY29kZWMpIHsK LSAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCiBkb25l X3dpdGhfaW5mbzoKICAgICAgICAgaWYgKGluZm8pIHsKICAgICAgICAgICAgICgqZW52KS0+RGVs ZXRlTG9jYWxSZWYoZW52LCBpbmZvKTsKLSAgICAgICAgICAgIGluZm8gPSBOVUxMOwogICAgICAg ICB9CiAKICAgICAgICAgaWYgKHR5cGVzKSB7CiAgICAgICAgICAgICAoKmVudiktPkRlbGV0ZUxv Y2FsUmVmKGVudiwgdHlwZXMpOwotICAgICAgICAgICAgdHlwZXMgPSBOVUxMOwogICAgICAgICB9 CiAKLSAgICAgICAgaWYgKGZvdW5kX2NvZGVjKSB7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAg ICAgaWYgKGNvZGVjX25hbWUpIHsKKyAgICAgICAgICAgICgqZW52KS0+RGVsZXRlTG9jYWxSZWYo ZW52LCBjb2RlY19uYW1lKTsKICAgICAgICAgfQogCi0gICAgICAgIGF2X2ZyZWVwKCZuYW1lKTsK KyAgICAgICAgaWYgKCFmb3VuZF9jb2RlYykgeworICAgICAgICAgICAgYXZfZnJlZXAoJm5hbWUp OworICAgICAgICB9CiAgICAgfQogCiBkb25lOgotICAgIGlmIChjb2RlY19uYW1lKSB7Ci0gICAg ICAgICgqZW52KS0+RGVsZXRlTG9jYWxSZWYoZW52LCBjb2RlY19uYW1lKTsKLSAgICB9Ci0KLSAg ICBpZiAoaW5mbykgewotICAgICAgICAoKmVudiktPkRlbGV0ZUxvY2FsUmVmKGVudiwgaW5mbyk7 Ci0gICAgfQotCi0gICAgaWYgKHR5cGUpIHsKLSAgICAgICAgKCplbnYpLT5EZWxldGVMb2NhbFJl ZihlbnYsIHR5cGUpOwotICAgIH0KLQotICAgIGlmICh0eXBlcykgewotICAgICAgICAoKmVudikt PkRlbGV0ZUxvY2FsUmVmKGVudiwgdHlwZXMpOwotICAgIH0KLQotICAgIGlmIChjYXBhYmlsaXRp ZXMpIHsKLSAgICAgICAgKCplbnYpLT5EZWxldGVMb2NhbFJlZihlbnYsIGNhcGFiaWxpdGllcyk7 Ci0gICAgfQotCi0gICAgaWYgKHByb2ZpbGVfbGV2ZWwpIHsKLSAgICAgICAgKCplbnYpLT5EZWxl dGVMb2NhbFJlZihlbnYsIHByb2ZpbGVfbGV2ZWwpOwotICAgIH0KLQotICAgIGlmIChwcm9maWxl X2xldmVscykgewotICAgICAgICAoKmVudiktPkRlbGV0ZUxvY2FsUmVmKGVudiwgcHJvZmlsZV9s ZXZlbHMpOwotICAgIH0KLQotICAgIGF2X2ZyZWVwKCZzdXBwb3J0ZWRfdHlwZSk7Ci0KICAgICBm Zl9qbmlfcmVzZXRfamZpZWxkcyhlbnYsICZqZmllbGRzLCBqbmlfYW1lZGlhY29kZWNsaXN0X21h cHBpbmcsIDAsIGxvZ19jdHgpOwogICAgIGZmX2puaV9yZXNldF9qZmllbGRzKGVudiwgJm1lZGlh Zm9ybWF0X2pmaWVsZHMsIGpuaV9hbWVkaWFmb3JtYXRfbWFwcGluZywgMCwgbG9nX2N0eCk7CiAK LS0gCjIuMzAuMgoK --=-2sBimXXdhJVarKOzxIcz 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". --=-2sBimXXdhJVarKOzxIcz--