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 74520465DC for ; Mon, 22 May 2023 16:19:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EBCAE68C033; Mon, 22 May 2023 19:19:18 +0300 (EEST) Received: from mail-vs1-f50.google.com (mail-vs1-f50.google.com [209.85.217.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C130368AC15 for ; Mon, 22 May 2023 19:19:12 +0300 (EEST) Received: by mail-vs1-f50.google.com with SMTP id ada2fe7eead31-4394b1820a8so280630137.3 for ; Mon, 22 May 2023 09:19:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684772351; x=1687364351; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=IRrUodEqGM0XrHo7UNXR4Wfzi3bvRMmd2O6yDEs7QU4=; b=LmdgaY1xyZ3q18yhMnhbVbK5zlvXpFqxcJQMHa21q6nde0bN/avRdBQWyIaGjmV1MY fpahUwXU9+Sw/ow+r5sjjmmrMExF4OxgQ/S2b2byHFto+AopZ29dahh7QgvT/Vdi1vqX 6hWC5KsGGOnpLzg1z4cajBqwmIuinXp4Cr9BnEo0peUz9aq5tisdpljgCmuzKIHJSpZx ruTK40leWoseZ5TRVZdiWLJM0lzoSspBYLaWQgbrT0kYcvS7Wy5ra++cszPXGqkwnmCx i61TBY459EUQh3q1gBhf9Qz3MiLI7Nb218strGE2a9PCNCL1F9wEWhuC5avVpETKP9+k Wk+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684772351; x=1687364351; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=IRrUodEqGM0XrHo7UNXR4Wfzi3bvRMmd2O6yDEs7QU4=; b=QsXp0jEl8fCmrAWuYG/EVMHj0A5mFWIdq3lzqI33wm0d2JBxnyELRXbj/z28LSQHpp ax114bF8Wu6vze2M/4fcs1WmhYWrSIoEiQujaiLJX8P8Z2R1qQT022iTzbJOHSyIokLj sT9pV7VZL0reX1sLkUxoVAZBtwlGsF5ktygFIQbWlzmS7F8nw4LBDRZog8ODLJ9IB23q F0NdAa6xbvG3GdLFJycL3KLJFpIrwx3jiqhgYxThm2JsooNp0BrIYGcSJgQG9dYbWzdP xDeVkK7hGZZHf6XmjY+QAZzbckpVQnYshqE9cSipK1iBjcWS/L9yLNEzZ/kKJSKknV/3 8uWg== X-Gm-Message-State: AC+VfDykM0EHyv/I+vmKgdKAFdtOfy8YbvYzgqNaO6uC2tFBN4RJDMdQ B8NlcW4jsFMyOxskLNX59V9UZmUc69qcQDGzFekfiehD X-Google-Smtp-Source: ACHHUZ5ASyTFnhXgQMsxGvTPD7PqptIb9rUNWhMs85PHxKBmsetIKSDDnN0U5WWhE4r8VwJx1SMChaa2fhO/D1iVGoY= X-Received: by 2002:a67:ff12:0:b0:436:1f9:d1c2 with SMTP id v18-20020a67ff12000000b0043601f9d1c2mr2827125vsp.1.1684772351253; Mon, 22 May 2023 09:19:11 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a59:cd03:0:b0:3b6:f9a0:5488 with HTTP; Mon, 22 May 2023 09:19:09 -0700 (PDT) In-Reply-To: References: From: Paul B Mahol Date: Mon, 22 May 2023 18:19:09 +0200 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="0000000000008641ba05fc4aa14e" Subject: Re: [FFmpeg-devel] [PATCH] avformat/gifdec: cleanup 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: --0000000000008641ba05fc4aa14e Content-Type: text/plain; charset="UTF-8" On 5/21/23, Paul B Mahol wrote: > Attached patches. > > This finally removes giant hacks in gif demuxer and allows using gif > files via pipe reliably. > Hopefully final version. --0000000000008641ba05fc4aa14e Content-Type: text/x-patch; charset="US-ASCII"; name="0001-avformat-demux-add-support-to-derive-timestamps-from.patch" Content-Disposition: attachment; filename="0001-avformat-demux-add-support-to-derive-timestamps-from.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file1 RnJvbSA0ZGVlNzI0ZmYxMTI5NjdiOGFhMmU4Y2E1YTQ1ZWMyNzI2YTdmNDA5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IFN1biwgMjEgTWF5IDIwMjMgMDI6MTU6MjYgKzAyMDAKU3ViamVjdDogW1BBVENIIDEvMl0gYXZm b3JtYXQvZGVtdXg6IGFkZCBzdXBwb3J0IHRvIGRlcml2ZSB0aW1lc3RhbXBzIGZyb20KIHBhY2tl dCBkdXJhdGlvbnMgZm9yIHZpZGVvCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIEIgTWFob2wgPG9uZW1k YUBnbWFpbC5jb20+Ci0tLQogbGliYXZmb3JtYXQvZGVtdXguYyB8IDUgKysrKysKIDEgZmlsZSBj aGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9kZW11eC5j IGIvbGliYXZmb3JtYXQvZGVtdXguYwppbmRleCBkZWMwMmExYTZiLi5iM2Y1NjNjY2M3IDEwMDY0 NAotLS0gYS9saWJhdmZvcm1hdC9kZW11eC5jCisrKyBiL2xpYmF2Zm9ybWF0L2RlbXV4LmMKQEAg LTExOTUsNiArMTE5NSwxMSBAQCBzdGF0aWMgaW50IHBhcnNlX3BhY2tldChBVkZvcm1hdENvbnRl eHQgKnMsIEFWUGFja2V0ICpwa3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3QtPnRpbWVfYmFzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBB Vl9ST1VORF9ET1dOKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmICgocy0+aWZv cm1hdC0+ZmxhZ3MgJiBBVkZNVF9OT1RJTUVTVEFNUFMpICYmIHN0LT5jb2RlY3Bhci0+Y29kZWNf dHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8pIHsKKyAgICAgICAgICAgIGlmIChzdC0+dGltZV9i YXNlLm51bSA+IDAgJiYgc3QtPnRpbWVfYmFzZS5kZW4gPiAwICYmCisgICAgICAgICAgICAgICAg c3RpLT5wYXJzZXItPmR1cmF0aW9uKSB7CisgICAgICAgICAgICAgICAgb3V0X3BrdC0+ZHVyYXRp b24gPSBzdGktPnBhcnNlci0+ZHVyYXRpb247CisgICAgICAgICAgICB9CiAgICAgICAgIH0KIAog ICAgICAgICBvdXRfcGt0LT5zdHJlYW1faW5kZXggPSBzdC0+aW5kZXg7Ci0tIAoyLjM5LjEKCg== --0000000000008641ba05fc4aa14e Content-Type: text/x-patch; charset="US-ASCII"; name="0002-avformat-gifdec-switch-to-using-gif-parser.patch" Content-Disposition: attachment; filename="0002-avformat-gifdec-switch-to-using-gif-parser.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file2 RnJvbSA4OTlhZmUwMGJmOTY5YjhjNDdjNmZiNWFmYmRlM2E4ZjliZTE1MzZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+CkRhdGU6 IFNhdCwgMjAgTWF5IDIwMjMgMTQ6MTM6MjcgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvMl0gYXZm b3JtYXQvZ2lmZGVjOiBzd2l0Y2ggdG8gdXNpbmcgZ2lmIHBhcnNlcgoKVXBkYXRlIGZhdGUgdGVz dCwgbW9yZSBjb3JyZWN0IGFzIGxhc3QgcGFja2V0IGlzIG5vdCB0cnVuY2F0ZWQuCgpTaWduZWQt b2ZmLWJ5OiBQYXVsIEIgTWFob2wgPG9uZW1kYUBnbWFpbC5jb20+Ci0tLQogbGliYXZjb2RlYy9n aWZkZWMuYyAgICAgIHwgIDExICstCiBsaWJhdmZvcm1hdC9naWZkZWMuYyAgICAgfCAyNDQgKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB0ZXN0cy9yZWYvZmF0ZS9naWYt ZGVtdXggfCAgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgMTg3IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZ2lmZGVjLmMgYi9saWJhdmNvZGVj L2dpZmRlYy5jCmluZGV4IDA4MzVjNWJkZDAuLmYyYWI3ODNlZjAgMTAwNjQ0Ci0tLSBhL2xpYmF2 Y29kZWMvZ2lmZGVjLmMKKysrIGIvbGliYXZjb2RlYy9naWZkZWMuYwpAQCAtNDcyLDEwICs0NzIs NiBAQCBzdGF0aWMgaW50IGdpZl9kZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBB VkZyYW1lICpyZnJhbWUsCiAKICAgICBieXRlc3RyZWFtMl9pbml0KCZzLT5nYiwgYXZwa3QtPmRh dGEsIGF2cGt0LT5zaXplKTsKIAotICAgIHMtPmZyYW1lLT5wdHMgICAgID0gYXZwa3QtPnB0czsK LSAgICBzLT5mcmFtZS0+cGt0X2R0cyA9IGF2cGt0LT5kdHM7Ci0gICAgcy0+ZnJhbWUtPmR1cmF0 aW9uID0gYXZwa3QtPmR1cmF0aW9uOwotCiAgICAgaWYgKGF2cGt0LT5zaXplID49IDYpIHsKICAg ICAgICAgcy0+a2V5ZnJhbWUgPSBtZW1jbXAoYXZwa3QtPmRhdGEsIGdpZjg3YV9zaWcsIDYpID09 IDAgfHwKICAgICAgICAgICAgICAgICAgICAgICBtZW1jbXAoYXZwa3QtPmRhdGEsIGdpZjg5YV9z aWcsIDYpID09IDA7CkBAIC01MjIsNiArNTE4LDEzIEBAIHN0YXRpYyBpbnQgZ2lmX2RlY29kZV9m cmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKnJmcmFtZSwKIAogICAgIGlmICgo cmV0ID0gYXZfZnJhbWVfcmVmKHJmcmFtZSwgcy0+ZnJhbWUpKSA8IDApCiAgICAgICAgIHJldHVy biByZXQ7CisgICAgaWYgKHMtPmtleWZyYW1lKSB7CisgICAgICAgIHJmcmFtZS0+cGljdF90eXBl ID0gQVZfUElDVFVSRV9UWVBFX0k7CisgICAgICAgIHJmcmFtZS0+ZmxhZ3MgfD0gQVZfRlJBTUVf RkxBR19LRVk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmZyYW1lLT5waWN0X3R5cGUgPSBBVl9Q SUNUVVJFX1RZUEVfUDsKKyAgICAgICAgcmZyYW1lLT5mbGFncyAmPSB+QVZfRlJBTUVfRkxBR19L RVk7CisgICAgfQogICAgICpnb3RfZnJhbWUgPSAxOwogCiAgICAgcmV0dXJuIGJ5dGVzdHJlYW0y X3RlbGwoJnMtPmdiKTsKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2dpZmRlYy5jIGIvbGliYXZm b3JtYXQvZ2lmZGVjLmMKaW5kZXggMTk3N2Y0NmUzYS4uMTFmY2RlMzZiNyAxMDA2NDQKLS0tIGEv bGliYXZmb3JtYXQvZ2lmZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvZ2lmZGVjLmMKQEAgLTI4LDkg KzI4LDEyIEBACiAjaW5jbHVkZSAibGliYXZ1dGlsL2JwcmludC5oIgogI2luY2x1ZGUgImxpYmF2 dXRpbC9pbnRyZWFkd3JpdGUuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCisjaW5jbHVk ZSAiYXZpb19pbnRlcm5hbC5oIgogI2luY2x1ZGUgImludGVybmFsLmgiCiAjaW5jbHVkZSAibGli YXZjb2RlYy9naWYuaCIKIAorI2RlZmluZSBHSUZfUEFDS0VUX1NJWkUgMTAyNAorCiB0eXBlZGVm IHN0cnVjdCBHSUZEZW11eENvbnRleHQgewogICAgIGNvbnN0IEFWQ2xhc3MgKmNsYXNzOwogICAg IC8qKgpAQCAtNTMsOSArNTYsNiBAQCB0eXBlZGVmIHN0cnVjdCBHSUZEZW11eENvbnRleHQgewog ICAgIGludCB0b3RhbF9pdGVyOwogICAgIGludCBpdGVyX2NvdW50OwogICAgIGludCBpZ25vcmVf bG9vcDsKLQotICAgIGludCBuYl9mcmFtZXM7Ci0gICAgaW50IGxhc3RfZHVyYXRpb247CiB9IEdJ RkRlbXV4Q29udGV4dDsKIAogLyoqCkBAIC04NCw4ICs4NCw4IEBAIHN0YXRpYyBpbnQgZ2lmX3By b2JlKGNvbnN0IEFWUHJvYmVEYXRhICpwKQogCiBzdGF0aWMgaW50IHJlc3luYyhBVklPQ29udGV4 dCAqcGIpCiB7Ci0gICAgaW50IGk7Ci0gICAgZm9yIChpID0gMDsgaSA8IDY7IGkrKykgeworICAg IGZmaW9fZW5zdXJlX3NlZWtiYWNrKHBiLCAxMyk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCA2 OyBpKyspIHsKICAgICAgICAgaW50IGIgPSBhdmlvX3I4KHBiKTsKICAgICAgICAgaWYgKGIgIT0g Z2lmODdhX3NpZ1tpXSAmJiBiICE9IGdpZjg5YV9zaWdbaV0pCiAgICAgICAgICAgICBpID0gLShi ICE9ICdHJyk7CkBAIC0xMzIsNiArMTMyLDkgQEAgc3RhdGljIGludCBnaWZfcmVhZF9oZWFkZXIo QVZGb3JtYXRDb250ZXh0ICpzKQogICAgIGlmICghc3QpCiAgICAgICAgIHJldHVybiBBVkVSUk9S KEVOT01FTSk7CiAKKyAgICBpZiAoIShwYi0+c2Vla2FibGUgJiBBVklPX1NFRUtBQkxFX05PUk1B TCkpCisgICAgICAgIGdvdG8gc2tpcDsKKwogICAgIGlmIChmbGFncyAmIDB4ODApCiAgICAgICAg IGF2aW9fc2tpcChwYiwgMyAqICgxIDw8ICgoZmxhZ3MgJiAweDA3KSArIDEpKSk7CiAKQEAgLTE1 OCwxNSArMTYxLDM3IEBAIHN0YXRpYyBpbnQgZ2lmX3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4 dCAqcykKIAogICAgICAgICAgICAgICAgICAgICBhdmlvX3NraXAocGIsIDEpOwogICAgICAgICAg ICAgICAgICAgICBkZWxheSA9IGF2aW9fcmwxNihwYik7Ci0gICAgICAgICAgICAgICAgICAgIGlm IChkZWxheSA8IGdkYy0+bWluX2RlbGF5KQotICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXkg PSBnZGMtPmRlZmF1bHRfZGVsYXk7Ci0gICAgICAgICAgICAgICAgICAgIGRlbGF5ID0gRkZNSU4o ZGVsYXksIGdkYy0+bWF4X2RlbGF5KTsKKyAgICAgICAgICAgICAgICAgICAgZGVsYXkgPSBkZWxh eSA/IGRlbGF5IDogZ2RjLT5kZWZhdWx0X2RlbGF5OwogICAgICAgICAgICAgICAgICAgICBkdXJh dGlvbiArPSBkZWxheTsKICAgICAgICAgICAgICAgICAgICAgYXZpb19za2lwKHBiLCAxKTsKICAg ICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICBhdmlvX3NraXAocGIs IGJsb2NrX3NpemUpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBnaWZfc2tp cF9zdWJibG9ja3MocGIpOworICAgICAgICAgICAgfSBlbHNlIGlmIChzdWJ0eXBlID09IEdJRl9B UFBfRVhUX0xBQkVMKSB7CisgICAgICAgICAgICAgICAgdWludDhfdCBkYXRhWzI1Nl07CisgICAg ICAgICAgICAgICAgaW50IHNiX3NpemU7CisKKyAgICAgICAgICAgICAgICBzYl9zaXplID0gYXZp b19yOChwYik7CisgICAgICAgICAgICAgICAgcmV0ID0gYXZpb19yZWFkKHBiLCBkYXRhLCBzYl9z aXplKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0IDwgMCB8fCAhc2Jfc2l6ZSkKKyAgICAgICAg ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBpZiAoc2Jfc2l6ZSA9PSBzdHJs ZW4oTkVUU0NBUEVfRVhUX1NUUikpIHsKKyAgICAgICAgICAgICAgICAgICAgc2Jfc2l6ZSA9IGF2 aW9fcjgocGIpOworICAgICAgICAgICAgICAgICAgICByZXQgPSBhdmlvX3JlYWQocGIsIGRhdGEs IHNiX3NpemUpOworICAgICAgICAgICAgICAgICAgICBpZiAocmV0IDwgMCB8fCAhc2Jfc2l6ZSkK KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgIGlm IChzYl9zaXplID09IDMgJiYgZGF0YVswXSA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgICAg ICBnZGMtPnRvdGFsX2l0ZXIgPSBBVl9STDE2KGRhdGErMSk7CisgICAgICAgICAgICAgICAgICAg ICAgICBhdl9sb2cocywgQVZfTE9HX0RFQlVHLCAiTG9vcCBjb3VudCBpcyAlZFxuIiwgZ2RjLT50 b3RhbF9pdGVyKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdkYy0+dG90YWxfaXRl ciA9PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdkYy0+dG90YWxfaXRlciA9IC0x OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg ICAgIGdpZl9za2lwX3N1YmJsb2NrcyhwYik7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg ICAgICAgICAgIGdpZl9za2lwX3N1YmJsb2NrcyhwYik7CiAgICAgICAgICAgICB9CkBAIC0xODMs MjAzICsyMDgsNTcgQEAgc3RhdGljIGludCBnaWZfcmVhZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0 ICpzKQogICAgICAgICB9CiAgICAgfQogCitza2lwOgorICAgIC8qIGp1bXAgdG8gc3RhcnQgYmVj YXVzZSBnaWYgZGVjb2RlciBuZWVkcyBoZWFkZXIgZGF0YSB0b28gKi8KKyAgICBpZiAoYXZpb19z ZWVrKHBiLCAwLCBTRUVLX1NFVCkgIT0gMCkKKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlPKTsK KwogICAgIC8qIEdJRiBmb3JtYXQgb3BlcmF0ZXMgd2l0aCB0aW1lIGluICJodW5kcmVkdGhzIG9m IHNlY29uZCIsCiAgICAgICogdGhlcmVmb3JlIHRpbWViYXNlIGlzIDEvMTAwICovCiAgICAgYXZw cml2X3NldF9wdHNfaW5mbyhzdCwgNjQsIDEsIDEwMCk7CisgICAgZmZzdHJlYW0oc3QpLT5uZWVk X3BhcnNpbmcgPSBBVlNUUkVBTV9QQVJTRV9GVUxMX1JBVzsKICAgICBzdC0+Y29kZWNwYXItPmNv ZGVjX3R5cGUgPSBBVk1FRElBX1RZUEVfVklERU87CiAgICAgc3QtPmNvZGVjcGFyLT5jb2RlY19p ZCAgID0gQVZfQ09ERUNfSURfR0lGOwogICAgIHN0LT5jb2RlY3Bhci0+d2lkdGggICAgICA9IHdp ZHRoOwogICAgIHN0LT5jb2RlY3Bhci0+aGVpZ2h0ICAgICA9IGhlaWdodDsKKyAgICBpZiAobmJf ZnJhbWVzID4gMSkgeworICAgICAgICBhdl9yZWR1Y2UoJnN0LT5hdmdfZnJhbWVfcmF0ZS5udW0s ICZzdC0+YXZnX2ZyYW1lX3JhdGUuZGVuLAorICAgICAgICAgICAgICAgICAgMTAwLCBkdXJhdGlv biAvIG5iX2ZyYW1lcywgSU5UX01BWCk7CisgICAgfSBlbHNlIGlmIChkdXJhdGlvbikgeworICAg ICAgICBzdC0+YXZnX2ZyYW1lX3JhdGUgICA9IChBVlJhdGlvbmFsKSB7IDEwMCwgZHVyYXRpb24g fTsKKyAgICB9CiAgICAgc3QtPnN0YXJ0X3RpbWUgICAgICAgICAgID0gMDsKICAgICBzdC0+ZHVy YXRpb24gICAgICAgICAgICAgPSBkdXJhdGlvbjsKICAgICBzdC0+bmJfZnJhbWVzICAgICAgICAg ICAgPSBuYl9mcmFtZXM7Ci0gICAgaWYgKG4pIHsKLSAgICAgICAgc3QtPmNvZGVjcGFyLT5zYW1w bGVfYXNwZWN0X3JhdGlvLm51bSA9IG4gKyAxNTsKLSAgICAgICAgc3QtPmNvZGVjcGFyLT5zYW1w bGVfYXNwZWN0X3JhdGlvLmRlbiA9IDY0OwotICAgIH0KLQotICAgIC8qIGp1bXAgdG8gc3RhcnQg YmVjYXVzZSBnaWYgZGVjb2RlciBuZWVkcyBoZWFkZXIgZGF0YSB0b28gKi8KLSAgICBpZiAoYXZp b19zZWVrKHBiLCAwLCBTRUVLX1NFVCkgIT0gMCkKLSAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlP KTsKKyAgICBpZiAobikKKyAgICAgICAgc3QtPmNvZGVjcGFyLT5zYW1wbGVfYXNwZWN0X3JhdGlv ID0gYXZfbWFrZV9xKG4gKyAxNSwgNjQpOwogCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBp bnQgZ2lmX3JlYWRfZXh0KEFWRm9ybWF0Q29udGV4dCAqcykKK3N0YXRpYyBpbnQgZ2lmX3JlYWRf cGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywgQVZQYWNrZXQgKnBrdCkKIHsKICAgICBHSUZEZW11 eENvbnRleHQgKmdkYyA9IHMtPnByaXZfZGF0YTsKICAgICBBVklPQ29udGV4dCAqcGIgPSBzLT5w YjsKLSAgICBpbnQgc2Jfc2l6ZSwgZXh0X2xhYmVsID0gYXZpb19yOChwYik7CiAgICAgaW50IHJl dDsKIAotICAgIGlmIChleHRfbGFiZWwgPT0gR0lGX0dDRV9FWFRfTEFCRUwpIHsKLSAgICAgICAg aWYgKChzYl9zaXplID0gYXZpb19yOChwYikpIDwgNCkgewotICAgICAgICAgICAgYXZfbG9nKHMs IEFWX0xPR19GQVRBTCwgIkdyYXBoaWMgQ29udHJvbCBFeHRlbnNpb24gYmxvY2sncyBzaXplIGxl c3MgdGhhbiA0LlxuIik7Ci0gICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsK LSAgICAgICAgfQotCi0gICAgICAgIC8qIHNraXAgcGFja2VkIGZpZWxkcyAqLwotICAgICAgICBp ZiAoKHJldCA9IGF2aW9fc2tpcChwYiwgMSkpIDwgMCkKLSAgICAgICAgICAgIHJldHVybiByZXQ7 Ci0KLSAgICAgICAgZ2RjLT5kZWxheSA9IGF2aW9fcmwxNihwYik7Ci0KLSAgICAgICAgaWYgKGdk Yy0+ZGVsYXkgPCBnZGMtPm1pbl9kZWxheSkKLSAgICAgICAgICAgIGdkYy0+ZGVsYXkgPSBnZGMt PmRlZmF1bHRfZGVsYXk7Ci0gICAgICAgIGdkYy0+ZGVsYXkgPSBGRk1JTihnZGMtPmRlbGF5LCBn ZGMtPm1heF9kZWxheSk7Ci0KLSAgICAgICAgLyogc2tpcCB0aGUgcmVzdCBvZiB0aGUgR3JhcGhp YyBDb250cm9sIEV4dGVuc2lvbiBibG9jayAqLwotICAgICAgICBpZiAoKHJldCA9IGF2aW9fc2tp cChwYiwgc2Jfc2l6ZSAtIDMpKSA8IDAgKQotICAgICAgICAgICAgcmV0dXJuIHJldDsKLSAgICB9 IGVsc2UgaWYgKGV4dF9sYWJlbCA9PSBHSUZfQVBQX0VYVF9MQUJFTCkgewotICAgICAgICB1aW50 OF90IGRhdGFbMjU2XTsKLQotICAgICAgICBzYl9zaXplID0gYXZpb19yOChwYik7Ci0gICAgICAg IHJldCA9IGF2aW9fcmVhZChwYiwgZGF0YSwgc2Jfc2l6ZSk7Ci0gICAgICAgIGlmIChyZXQgPCAw IHx8ICFzYl9zaXplKQotICAgICAgICAgICAgcmV0dXJuIHJldDsKLQotICAgICAgICBpZiAoc2Jf c2l6ZSA9PSBzdHJsZW4oTkVUU0NBUEVfRVhUX1NUUikpIHsKLSAgICAgICAgICAgIHNiX3NpemUg PSBhdmlvX3I4KHBiKTsKLSAgICAgICAgICAgIHJldCA9IGF2aW9fcmVhZChwYiwgZGF0YSwgc2Jf c2l6ZSk7Ci0gICAgICAgICAgICBpZiAocmV0IDwgMCB8fCAhc2Jfc2l6ZSkKLSAgICAgICAgICAg ICAgICByZXR1cm4gcmV0OwotCi0gICAgICAgICAgICBpZiAoc2Jfc2l6ZSA9PSAzICYmIGRhdGFb MF0gPT0gMSkgewotICAgICAgICAgICAgICAgIGdkYy0+dG90YWxfaXRlciA9IEFWX1JMMTYoZGF0 YSsxKTsKLSAgICAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0RFQlVHLCAiTG9vcCBjb3Vu dCBpcyAlZFxuIiwgZ2RjLT50b3RhbF9pdGVyKTsKLQotICAgICAgICAgICAgICAgIGlmIChnZGMt PnRvdGFsX2l0ZXIgPT0gMCkKLSAgICAgICAgICAgICAgICAgICAgZ2RjLT50b3RhbF9pdGVyID0g LTE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICBpZiAoKHBiLT5zZWVrYWJsZSAmIEFW SU9fU0VFS0FCTEVfTk9STUFMKSAmJgorICAgICAgICAhZ2RjLT5pZ25vcmVfbG9vcCAmJiBhdmlv X2Zlb2YocGIpICYmCisgICAgICAgIChnZGMtPnRvdGFsX2l0ZXIgPCAwIHx8ICgrK2dkYy0+aXRl cl9jb3VudCA8IGdkYy0+dG90YWxfaXRlcikpKSB7CisgICAgICAgIGF2aW9fc2VlayhwYiwgMCwg U0VFS19TRVQpOwogICAgIH0KLQotICAgIGlmICgocmV0ID0gZ2lmX3NraXBfc3ViYmxvY2tzKHBi KSkgPCAwKQorICAgIGlmICgocmV0ID0gYXZfbmV3X3BhY2tldChwa3QsIEdJRl9QQUNLRVRfU0la RSkpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIAotICAgIHJldHVybiAwOwotfQotCi1zdGF0 aWMgaW50IGdpZl9yZWFkX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsIEFWUGFja2V0ICpwa3Qp Ci17Ci0gICAgR0lGRGVtdXhDb250ZXh0ICpnZGMgPSBzLT5wcml2X2RhdGE7Ci0gICAgQVZJT0Nv bnRleHQgKnBiID0gcy0+cGI7Ci0gICAgaW50IHBhY2tlZF9maWVsZHMsIGJsb2NrX2xhYmVsLCBj dF9zaXplLAotICAgICAgICBrZXlmcmFtZSwgZnJhbWVfcGFyc2VkID0gMCwgcmV0OwotICAgIGlu dDY0X3QgZnJhbWVfc3RhcnQgPSBhdmlvX3RlbGwocGIpLCBmcmFtZV9lbmQ7Ci0gICAgdW5zaWdu ZWQgY2hhciBidWZbNl07Ci0KLSAgICBpZiAoKHJldCA9IGF2aW9fcmVhZChwYiwgYnVmLCA2KSkg PT0gNikgewotICAgICAgICBrZXlmcmFtZSA9IG1lbWNtcChidWYsIGdpZjg3YV9zaWcsIDYpID09 IDAgfHwKLSAgICAgICAgICAgICAgICAgICBtZW1jbXAoYnVmLCBnaWY4OWFfc2lnLCA2KSA9PSAw OwotICAgIH0gZWxzZSBpZiAocmV0IDwgMCkgeworICAgIHBrdC0+cG9zID0gYXZpb190ZWxsKHBi KTsKKyAgICBwa3QtPnN0cmVhbV9pbmRleCA9IDA7CisgICAgcmV0ID0gYXZpb19yZWFkX3BhcnRp YWwocGIsIHBrdC0+ZGF0YSwgR0lGX1BBQ0tFVF9TSVpFKTsKKyAgICBpZiAocmV0IDwgMCkgewor ICAgICAgICBhdl9wYWNrZXRfdW5yZWYocGt0KTsKICAgICAgICAgcmV0dXJuIHJldDsKLSAgICB9 IGVsc2UgewotICAgICAgICBrZXlmcmFtZSA9IDA7Ci0gICAgfQotCi0gICAgaWYgKGtleWZyYW1l KSB7Ci1wYXJzZV9rZXlmcmFtZToKLSAgICAgICAgLyogc2tpcCAyIGJ5dGVzIG9mIHdpZHRoIGFu ZCAyIG9mIGhlaWdodCAqLwotICAgICAgICBpZiAoKHJldCA9IGF2aW9fc2tpcChwYiwgNCkpIDwg MCkKLSAgICAgICAgICAgIHJldHVybiByZXQ7Ci0KLSAgICAgICAgcGFja2VkX2ZpZWxkcyA9IGF2 aW9fcjgocGIpOwotCi0gICAgICAgIC8qIHNraXAgMSBieXRlIG9mIEJhY2tncm91bmQgQ29sb3Ig SW5kZXggYW5kIDEgYnl0ZSBvZiBQaXhlbCBBc3BlY3QgUmF0aW8gKi8KLSAgICAgICAgaWYgKChy ZXQgPSBhdmlvX3NraXAocGIsIDIpKSA8IDApCi0gICAgICAgICAgICByZXR1cm4gcmV0OwotCi0g ICAgICAgIC8qIGdsb2JhbCBjb2xvciB0YWJsZSBwcmVzZW5jZSAqLwotICAgICAgICBpZiAocGFj a2VkX2ZpZWxkcyAmIDB4ODApIHsKLSAgICAgICAgICAgIGN0X3NpemUgPSAzICogKDEgPDwgKChw YWNrZWRfZmllbGRzICYgMHgwNykgKyAxKSk7Ci0KLSAgICAgICAgICAgIGlmICgocmV0ID0gYXZp b19za2lwKHBiLCBjdF9zaXplKSkgPCAwKQotICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Ci0g ICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBhdmlvX3NlZWsocGIsIC1yZXQsIFNFRUtf Q1VSKTsKLSAgICAgICAgcmV0ID0gQVZFUlJPUl9FT0Y7CiAgICAgfQotCi0gICAgd2hpbGUgKEdJ Rl9UUkFJTEVSICE9IChibG9ja19sYWJlbCA9IGF2aW9fcjgocGIpKSAmJiAhYXZpb19mZW9mKHBi KSkgewotICAgICAgICBpZiAoYmxvY2tfbGFiZWwgPT0gR0lGX0VYVEVOU0lPTl9JTlRST0RVQ0VS KSB7Ci0gICAgICAgICAgICBpZiAoKHJldCA9IGdpZl9yZWFkX2V4dCAocykpIDwgMCApCi0gICAg ICAgICAgICAgICAgZ290byByZXN5bmM7Ci0gICAgICAgIH0gZWxzZSBpZiAoYmxvY2tfbGFiZWwg PT0gR0lGX0lNQUdFX1NFUEFSQVRPUikgewotICAgICAgICAgICAgLyogc2tpcCB0byBsYXN0IGJ5 dGUgb2YgSW1hZ2UgRGVzY3JpcHRvciBoZWFkZXIgKi8KLSAgICAgICAgICAgIGlmICgocmV0ID0g YXZpb19za2lwKHBiLCA4KSkgPCAwKQotICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Ci0KLSAg ICAgICAgICAgIHBhY2tlZF9maWVsZHMgPSBhdmlvX3I4KHBiKTsKLQotICAgICAgICAgICAgLyog bG9jYWwgY29sb3IgdGFibGUgcHJlc2VuY2UgKi8KLSAgICAgICAgICAgIGlmIChwYWNrZWRfZmll bGRzICYgMHg4MCkgewotICAgICAgICAgICAgICAgIGN0X3NpemUgPSAzICogKDEgPDwgKChwYWNr ZWRfZmllbGRzICYgMHgwNykgKyAxKSk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoKHJldCA9IGF2 aW9fc2tpcChwYiwgY3Rfc2l6ZSkpIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJl dDsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLyogcmVhZCBMWlcgTWluaW11bSBDb2Rl IFNpemUgKi8KLSAgICAgICAgICAgIGlmIChhdmlvX3I4KHBiKSA8IDEpIHsKLSAgICAgICAgICAg ICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAibHp3IG1pbmltdW0gY29kZSBzaXplIG11c3Qg YmUgPj0gMVxuIik7Ci0gICAgICAgICAgICAgICAgZ290byByZXN5bmM7Ci0gICAgICAgICAgICB9 Ci0KLSAgICAgICAgICAgIGlmICgocmV0ID0gZ2lmX3NraXBfc3ViYmxvY2tzKHBiKSkgPCAwKQot ICAgICAgICAgICAgICAgIGdvdG8gcmVzeW5jOwotCi0gICAgICAgICAgICBmcmFtZV9lbmQgPSBh dmlvX3RlbGwocGIpOwotCi0gICAgICAgICAgICBpZiAoYXZpb19zZWVrKHBiLCBmcmFtZV9zdGFy dCwgU0VFS19TRVQpICE9IGZyYW1lX3N0YXJ0KQotICAgICAgICAgICAgICAgIHJldHVybiBBVkVS Uk9SKEVJTyk7Ci0KLSAgICAgICAgICAgIHJldCA9IGF2X2dldF9wYWNrZXQocGIsIHBrdCwgZnJh bWVfZW5kIC0gZnJhbWVfc3RhcnQpOwotICAgICAgICAgICAgaWYgKHJldCA8IDApCi0gICAgICAg ICAgICAgICAgcmV0dXJuIHJldDsKLQotICAgICAgICAgICAgaWYgKGtleWZyYW1lKQotICAgICAg ICAgICAgICAgIHBrdC0+ZmxhZ3MgfD0gQVZfUEtUX0ZMQUdfS0VZOwotCi0gICAgICAgICAgICBw a3QtPnN0cmVhbV9pbmRleCA9IDA7Ci0gICAgICAgICAgICBwa3QtPmR1cmF0aW9uID0gZ2RjLT5k ZWxheTsKLQotICAgICAgICAgICAgZ2RjLT5uYl9mcmFtZXMgKys7Ci0gICAgICAgICAgICBnZGMt Pmxhc3RfZHVyYXRpb24gPSBwa3QtPmR1cmF0aW9uOwotCi0gICAgICAgICAgICAvKiBHcmFwaGlj IENvbnRyb2wgRXh0ZW5zaW9uJ3Mgc2NvcGUgaXMgc2luZ2xlIGZyYW1lLgotICAgICAgICAgICAg ICogUmVtb3ZlIGl0cyBpbmZsdWVuY2UuICovCi0gICAgICAgICAgICBnZGMtPmRlbGF5ID0gZ2Rj LT5kZWZhdWx0X2RlbGF5OwotICAgICAgICAgICAgZnJhbWVfcGFyc2VkID0gMTsKLQotICAgICAg ICAgICAgYnJlYWs7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBhdl9sb2cocywgQVZf TE9HX0VSUk9SLCAiaW52YWxpZCBibG9jayBsYWJlbFxuIik7Ci1yZXN5bmM6Ci0gICAgICAgICAg ICBpZiAoIWtleWZyYW1lKQotICAgICAgICAgICAgICAgIGF2aW9fc2VlayhwYiwgZnJhbWVfc3Rh cnQsIFNFRUtfU0VUKTsKLSAgICAgICAgICAgIGlmICgocmV0ID0gcmVzeW5jKHBiKSkgPCAwKQot ICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgICAgICAgICBmcmFtZV9zdGFydCA9IGF2 aW9fdGVsbChwYikgLSA2OwotICAgICAgICAgICAga2V5ZnJhbWUgPSAxOwotICAgICAgICAgICAg Z290byBwYXJzZV9rZXlmcmFtZTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICgocmV0ID49 IDAgJiYgIWZyYW1lX3BhcnNlZCkgfHwgcmV0ID09IEFWRVJST1JfRU9GKSB7Ci0gICAgICAgIGlm IChnZGMtPm5iX2ZyYW1lcyA9PSAxKSB7Ci0gICAgICAgICAgICBzLT5zdHJlYW1zWzBdLT5yX2Zy YW1lX3JhdGUgPSAoQVZSYXRpb25hbCkgezEwMCwgZ2RjLT5sYXN0X2R1cmF0aW9ufTsKLSAgICAg ICAgfQotICAgICAgICAvKiBUaGlzIG1pZ2h0IGhhcHBlbiB3aGVuIHRoZXJlIGlzIG5vIGltYWdl IGJsb2NrCi0gICAgICAgICAqIGJldHdlZW4gZXh0ZW5zaW9uIGJsb2NrcyBhbmQgR0lGX1RSQUlM RVIgb3IgRU9GICovCi0gICAgICAgIGlmICghZ2RjLT5pZ25vcmVfbG9vcCAmJiAoYmxvY2tfbGFi ZWwgPT0gR0lGX1RSQUlMRVIgfHwgYXZpb19mZW9mKHBiKSkKLSAgICAgICAgICAgICYmIChnZGMt PnRvdGFsX2l0ZXIgPCAwIHx8ICsrZ2RjLT5pdGVyX2NvdW50IDwgZ2RjLT50b3RhbF9pdGVyKSkK LSAgICAgICAgICAgIHJldHVybiBhdmlvX3NlZWsocGIsIDAsIFNFRUtfU0VUKTsKLSAgICAgICAg cmV0dXJuIEFWRVJST1JfRU9GOwotICAgIH0gZWxzZQotICAgICAgICByZXR1cm4gcmV0OworICAg IGF2X3Nocmlua19wYWNrZXQocGt0LCByZXQpOworICAgIHJldHVybiByZXQ7CiB9CiAKIHN0YXRp YyBjb25zdCBBVk9wdGlvbiBvcHRpb25zW10gPSB7CkBAIC00MDUsNiArMjg0LDcgQEAgY29uc3Qg QVZJbnB1dEZvcm1hdCBmZl9naWZfZGVtdXhlciA9IHsKICAgICAucmVhZF9wcm9iZSAgICAgPSBn aWZfcHJvYmUsCiAgICAgLnJlYWRfaGVhZGVyICAgID0gZ2lmX3JlYWRfaGVhZGVyLAogICAgIC5y ZWFkX3BhY2tldCAgICA9IGdpZl9yZWFkX3BhY2tldCwKLSAgICAuZmxhZ3MgICAgICAgICAgPSBB VkZNVF9HRU5FUklDX0lOREVYLAorICAgIC5mbGFncyAgICAgICAgICA9IEFWRk1UX0dFTkVSSUNf SU5ERVggfCBBVkZNVF9OT1RJTUVTVEFNUFMsCisgICAgLmV4dGVuc2lvbnMgICAgID0gImdpZiIs CiAgICAgLnByaXZfY2xhc3MgICAgID0gJmRlbXV4ZXJfY2xhc3MsCiB9OwpkaWZmIC0tZ2l0IGEv dGVzdHMvcmVmL2ZhdGUvZ2lmLWRlbXV4IGIvdGVzdHMvcmVmL2ZhdGUvZ2lmLWRlbXV4CmluZGV4 IDNkNDY0NDFkOGUuLmEzMjY3YTBkMmEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3JlZi9mYXRlL2dpZi1k ZW11eAorKysgYi90ZXN0cy9yZWYvZmF0ZS9naWYtZGVtdXgKQEAgLTM4LDQgKzM4LDQgQEAKIDAs ICAgICAgICAgNzQsICAgICAgICAgNzQsICAgICAgICAyLCAgICAgNDYzMywgMHg4ZjY0ZmRhNywg Rj0weDAKIDAsICAgICAgICAgNzYsICAgICAgICAgNzYsICAgICAgICAyLCAgICAgNDcwMCwgMHg0 NWY0MDgwNSwgRj0weDAKIDAsICAgICAgICAgNzgsICAgICAgICAgNzgsICAgICAgICAyLCAgICAg NTExNywgMHg0ZWI0YzVmYiwgRj0weDAKLTAsICAgICAgICAgODAsICAgICAgICAgODAsICAgICAg ICAyLCAgICAgNTM3MCwgMHhiMTBjNjkxMCwgRj0weDAKKzAsICAgICAgICAgODAsICAgICAgICAg ODAsICAgICAgICAyLCAgICAgNTM3MSwgMHgxYTY2Njk0YiwgRj0weDAKLS0gCjIuMzkuMQoK --0000000000008641ba05fc4aa14e 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". --0000000000008641ba05fc4aa14e--