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 82C384B1A2 for ; Mon, 1 Jul 2024 17:38:56 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E522868D4AD; Mon, 1 Jul 2024 20:38:52 +0300 (EEST) Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7E42F6800A4 for ; Mon, 1 Jul 2024 20:38:46 +0300 (EEST) Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-7201cb6cae1so1636803a12.2 for ; Mon, 01 Jul 2024 10:38:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719855524; x=1720460324; darn=ffmpeg.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=UMe9ntEVizsFReLzDL9A0lvJXotX4pwCkDJePNjbjNI=; b=J7wdZcJWSYsl2wsxDNluq4DGyFNu+xB6KHtpqicQWWWSals+OP5pqn9A5HYKtROlFM oRNEJ0dnNixu3SPZWoMC4lnQZZ42j0MoZAuYDR7rYYs9MBp2q0JiaF2jIXihd4sYhNGy szPUY2DmRVmifOPKQo7iO/J/4umIYnnolYBBOlYnEZEffPKaGI5MTyESaSpLxj8tdx2R Oi0F6z/WaT1ThpHbVGFwJucwN8I5ltsNxZfV+9AP98toStk1kngpziaZgX139r3V/t7T qQwHxkXJeJKiFCG7mJ7jo092otWMKwRTFl+/JTrAY/s0UHl7xJoj31bHxHCl4RkQGLAM AzCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719855524; x=1720460324; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=UMe9ntEVizsFReLzDL9A0lvJXotX4pwCkDJePNjbjNI=; b=DfHY2pPUnDt2aDtvbviopd9oYOmx340hX7NKUSdeBrUJkRhzOBMdt8mvDQiePpmEG1 CeZllv1M0qnoCTfcB8aCTbOmvRv1q12kPMEZtzFhEo54A+2epoBw27w8au4X3V2fYnRw 9wB7XSWJpmrR0r1zZ3Sx5Hp2JH6u6AK24WlXGcvpTfTOjil7Uaq6ac8p83d9NJoDlRAR mMnbvY0wLORr6RCgTXkixUi3xufSnoGsLc04jq2dbEYE5mVisYwud7a9dLNS1SBaZxA5 izltYM/6Iq+QKMAAkTpetHoBcS5wX6HxfMzgkaM8khtYGmqFY6idyGyOzg57/dYB8jm7 P2Tg== X-Gm-Message-State: AOJu0Yx7vOGH07wznHxJuxDp6cgCALM6SJ8HUds4zaNuWkoiJ8ng7gqL /w6y40U+59YPfPqjLuV2Vao/1+Ox0LayiPu4Z8BPaM0lcEXtCAXzIYuqKojaBJ8OVX6KTYqegeh ntlYr6UxGLW7SglpatYtEhseOXQtTw6qWA9E= X-Google-Smtp-Source: AGHT+IHWva5CEzJsW+ih8CfVobU9vZKV+U6mr9H+HgMxjVY605P8wslLT+zoZoyN7ow16BoCUq6DenX5tHp17y0x/ow= X-Received: by 2002:a05:6a20:729e:b0:1bd:4bc4:754 with SMTP id adf61e73a8af0-1bef6197a8amr6249374637.27.1719855524257; Mon, 01 Jul 2024 10:38:44 -0700 (PDT) MIME-Version: 1.0 References: <20240620154039.91460-1-ramiro.polla@gmail.com> <171930716007.21847.17203985111155622112@lain.khirnov.net> In-Reply-To: From: Ramiro Polla Date: Mon, 1 Jul 2024 19:38:32 +0200 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="00000000000096bc0f061c3311ec" Subject: Re: [FFmpeg-devel] [PATCH] avdevice/v4l2: add limited support for multiplanar API 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 Cc: Alexander Strasser , stephan@ecshi.net Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --00000000000096bc0f061c3311ec Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Jun 28, 2024 at 2:54=E2=80=AFPM Ramiro Polla wrote: > I'll apply this after the weekend if there are no objections. I realized this patch would have caused a regression on buffers with corrupted data or an unexpected size. New patch attached. Alexander, Stephen, since you worked on this before, could you check that this patch indeed doesn't cause this regression? I'll apply in a few days if there are no comments. --00000000000096bc0f061c3311ec Content-Type: text/x-patch; charset="US-ASCII"; name="v2-0001-avdevice-v4l2-add-limited-support-for-multiplanar.patch" Content-Disposition: attachment; filename="v2-0001-avdevice-v4l2-add-limited-support-for-multiplanar.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ly39evzf0 RnJvbSA5NTdlYzQ3Njg5ZTRmNGUzN2EyNWJkODczOWEzZWMyNTQ4Mjg0NDM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMjAgSnVuIDIwMjQgMTc6NDA6MzkgKzAyMDAKU3ViamVjdDogW1BBVENIIHYy XSBhdmRldmljZS92NGwyOiBhZGQgbGltaXRlZCBzdXBwb3J0IGZvciBtdWx0aXBsYW5hciBBUEkK ClRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCBmb3IgVjRMMidzIG11bHRpcGxhbmFyIEFQSSwgYnV0 IG9ubHkgd2hlbiB0aGUKbnVtYmVyIG9mIHBsYW5lcyBpcyAxLgoKQWRkaW5nIGZ1bGwgc3VwcG9y dCBmb3IgdGhlIG11bHRpcGxhbmFyIEFQSSB3b3VsZCByZXF1aXJlIGEgZGV2aWNlIHRoYXQKYWN0 dWFsbHkgdXNlcyBtb3JlIHRoYW4gMSBwbGFuZSwgd2hpY2ggSSBoYXZlIG5vdCBmb3VuZCB5ZXQu Ci0tLQogbGliYXZkZXZpY2UvdjRsMi5jIHwgOTEgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDI3 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2ZGV2aWNlL3Y0bDIuYyBiL2xpYmF2ZGV2 aWNlL3Y0bDIuYwppbmRleCA3NGY0M2VmNmE5Li40MmQ0Yjk3YzhmIDEwMDY0NAotLS0gYS9saWJh dmRldmljZS92NGwyLmMKKysrIGIvbGliYXZkZXZpY2UvdjRsMi5jCkBAIC05Miw2ICs5Miw5IEBA IHN0cnVjdCB2aWRlb19kYXRhIHsKICAgICBUaW1lRmlsdGVyICp0aW1lZmlsdGVyOwogICAgIGlu dDY0X3QgbGFzdF90aW1lX207CiAKKyAgICBpbnQgbXVsdGlwbGFuYXI7CisgICAgZW51bSB2NGwy X2J1Zl90eXBlIGJ1Zl90eXBlOworCiAgICAgaW50IGJ1ZmZlcnM7CiAgICAgYXRvbWljX2ludCBi dWZmZXJzX3F1ZXVlZDsKICAgICB2b2lkICoqYnVmX3N0YXJ0OwpAQCAtMTgyLDcgKzE4NSwxMyBA QCBzdGF0aWMgaW50IGRldmljZV9vcGVuKEFWRm9ybWF0Q29udGV4dCAqY3R4LCBjb25zdCBjaGFy KiBkZXZpY2VfcGF0aCkKICAgICBhdl9sb2coY3R4LCBBVl9MT0dfVkVSQk9TRSwgImZkOiVkIGNh cGFiaWxpdGllczoleFxuIiwKICAgICAgICAgICAgZmQsIGNhcC5jYXBhYmlsaXRpZXMpOwogCi0g ICAgaWYgKCEoY2FwLmNhcGFiaWxpdGllcyAmIFY0TDJfQ0FQX1ZJREVPX0NBUFRVUkUpKSB7Cisg ICAgaWYgKGNhcC5jYXBhYmlsaXRpZXMgJiBWNEwyX0NBUF9WSURFT19DQVBUVVJFKSB7CisgICAg ICAgIHMtPm11bHRpcGxhbmFyID0gMDsKKyAgICAgICAgcy0+YnVmX3R5cGUgPSBWNEwyX0JVRl9U WVBFX1ZJREVPX0NBUFRVUkU7CisgICAgfSBlbHNlIGlmIChjYXAuY2FwYWJpbGl0aWVzICYgVjRM Ml9DQVBfVklERU9fQ0FQVFVSRV9NUExBTkUpIHsKKyAgICAgICAgcy0+bXVsdGlwbGFuYXIgPSAx OworICAgICAgICBzLT5idWZfdHlwZSA9IFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQVFVSRV9NUExB TkU7CisgICAgfSBlbHNlIHsKICAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0VSUk9SLCAiTm90 IGEgdmlkZW8gY2FwdHVyZSBkZXZpY2UuXG4iKTsKICAgICAgICAgZXJyID0gQVZFUlJPUihFTk9E RVYpOwogICAgICAgICBnb3RvIGZhaWw7CkBAIC0yMDYsNyArMjE1LDcgQEAgc3RhdGljIGludCBk ZXZpY2VfaW5pdChBVkZvcm1hdENvbnRleHQgKmN0eCwgaW50ICp3aWR0aCwgaW50ICpoZWlnaHQs CiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHBpeGVsZm9ybWF0KQogewogICAgIHN0 cnVjdCB2aWRlb19kYXRhICpzID0gY3R4LT5wcml2X2RhdGE7Ci0gICAgc3RydWN0IHY0bDJfZm9y bWF0IGZtdCA9IHsgLnR5cGUgPSBWNEwyX0JVRl9UWVBFX1ZJREVPX0NBUFRVUkUgfTsKKyAgICBz dHJ1Y3QgdjRsMl9mb3JtYXQgZm10ID0geyAudHlwZSA9IHMtPmJ1Zl90eXBlIH07CiAgICAgaW50 IHJlcyA9IDA7CiAKICAgICBmbXQuZm10LnBpeC53aWR0aCA9ICp3aWR0aDsKQEAgLTI4OCw3ICsy OTcsNyBAQCBzdGF0aWMgdm9pZCBsaXN0X2ZyYW1lc2l6ZXMoQVZGb3JtYXRDb250ZXh0ICpjdHgs IHVpbnQzMl90IHBpeGVsZm9ybWF0KQogc3RhdGljIHZvaWQgbGlzdF9mb3JtYXRzKEFWRm9ybWF0 Q29udGV4dCAqY3R4LCBpbnQgdHlwZSkKIHsKICAgICBjb25zdCBzdHJ1Y3QgdmlkZW9fZGF0YSAq cyA9IGN0eC0+cHJpdl9kYXRhOwotICAgIHN0cnVjdCB2NGwyX2ZtdGRlc2MgdmZkID0geyAudHlw ZSA9IFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQVFVSRSB9OworICAgIHN0cnVjdCB2NGwyX2ZtdGRl c2MgdmZkID0geyAudHlwZSA9IHMtPmJ1Zl90eXBlIH07CiAKICAgICB3aGlsZSghdjRsMl9pb2N0 bChzLT5mZCwgVklESU9DX0VOVU1fRk1ULCAmdmZkKSkgewogICAgICAgICBlbnVtIEFWQ29kZWNJ RCBjb2RlY19pZCA9IGZmX2ZtdF92NGwyY29kZWModmZkLnBpeGVsZm9ybWF0KTsKQEAgLTM1Miw3 ICszNjEsNyBAQCBzdGF0aWMgaW50IG1tYXBfaW5pdChBVkZvcm1hdENvbnRleHQgKmN0eCkKICAg ICBpbnQgaSwgcmVzOwogICAgIHN0cnVjdCB2aWRlb19kYXRhICpzID0gY3R4LT5wcml2X2RhdGE7 CiAgICAgc3RydWN0IHY0bDJfcmVxdWVzdGJ1ZmZlcnMgcmVxID0gewotICAgICAgICAudHlwZSAg ID0gVjRMMl9CVUZfVFlQRV9WSURFT19DQVBUVVJFLAorICAgICAgICAudHlwZSAgID0gcy0+YnVm X3R5cGUsCiAgICAgICAgIC5jb3VudCAgPSBkZXNpcmVkX3ZpZGVvX2J1ZmZlcnMsCiAgICAgICAg IC5tZW1vcnkgPSBWNEwyX01FTU9SWV9NTUFQCiAgICAgfTsKQEAgLTM4MSwxMCArMzkwLDE0IEBA IHN0YXRpYyBpbnQgbW1hcF9pbml0KEFWRm9ybWF0Q29udGV4dCAqY3R4KQogICAgIH0KIAogICAg IGZvciAoaSA9IDA7IGkgPCByZXEuY291bnQ7IGkrKykgeworICAgICAgICB1bnNpZ25lZCBpbnQg YnVmX2xlbmd0aCwgYnVmX29mZnNldDsKKyAgICAgICAgc3RydWN0IHY0bDJfcGxhbmUgcGxhbmVz W1ZJREVPX01BWF9QTEFORVNdOwogICAgICAgICBzdHJ1Y3QgdjRsMl9idWZmZXIgYnVmID0gewot ICAgICAgICAgICAgLnR5cGUgICA9IFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQVFVSRSwKKyAgICAg ICAgICAgIC50eXBlICAgPSBzLT5idWZfdHlwZSwKICAgICAgICAgICAgIC5pbmRleCAgPSBpLAot ICAgICAgICAgICAgLm1lbW9yeSA9IFY0TDJfTUVNT1JZX01NQVAKKyAgICAgICAgICAgIC5tZW1v cnkgPSBWNEwyX01FTU9SWV9NTUFQLAorICAgICAgICAgICAgLm0ucGxhbmVzID0gcy0+bXVsdGlw bGFuYXIgPyBwbGFuZXMgOiBOVUxMLAorICAgICAgICAgICAgLmxlbmd0aCAgID0gcy0+bXVsdGlw bGFuYXIgPyBWSURFT19NQVhfUExBTkVTIDogMCwKICAgICAgICAgfTsKICAgICAgICAgaWYgKHY0 bDJfaW9jdGwocy0+ZmQsIFZJRElPQ19RVUVSWUJVRiwgJmJ1ZikgPCAwKSB7CiAgICAgICAgICAg ICByZXMgPSBBVkVSUk9SKGVycm5vKTsKQEAgLTM5MiwxNiArNDA1LDI4IEBAIHN0YXRpYyBpbnQg bW1hcF9pbml0KEFWRm9ybWF0Q29udGV4dCAqY3R4KQogICAgICAgICAgICAgcmV0dXJuIHJlczsK ICAgICAgICAgfQogCi0gICAgICAgIHMtPmJ1Zl9sZW5baV0gPSBidWYubGVuZ3RoOworICAgICAg ICBpZiAocy0+bXVsdGlwbGFuYXIpIHsKKyAgICAgICAgICAgIGlmIChidWYubGVuZ3RoICE9IDEp IHsKKyAgICAgICAgICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJtdWx0aXBsYW5h ciBvbmx5IHN1cHBvcnRlZCB3aGVuIGJ1Zi5sZW5ndGggPT0gMVxuIik7CisgICAgICAgICAgICAg ICAgcmV0dXJuIEFWRVJST1JfUEFUQ0hXRUxDT01FOworICAgICAgICAgICAgfQorICAgICAgICAg ICAgYnVmX2xlbmd0aCA9IGJ1Zi5tLnBsYW5lc1swXS5sZW5ndGg7CisgICAgICAgICAgICBidWZf b2Zmc2V0ID0gYnVmLm0ucGxhbmVzWzBdLm0ubWVtX29mZnNldDsKKyAgICAgICAgfSBlbHNlIHsK KyAgICAgICAgICAgIGJ1Zl9sZW5ndGggPSBidWYubGVuZ3RoOworICAgICAgICAgICAgYnVmX29m ZnNldCA9IGJ1Zi5tLm9mZnNldDsKKyAgICAgICAgfQorCisgICAgICAgIHMtPmJ1Zl9sZW5baV0g PSBidWZfbGVuZ3RoOwogICAgICAgICBpZiAocy0+ZnJhbWVfc2l6ZSA+IDAgJiYgcy0+YnVmX2xl bltpXSA8IHMtPmZyYW1lX3NpemUpIHsKICAgICAgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19F UlJPUiwKICAgICAgICAgICAgICAgICAgICAiYnVmX2xlblslZF0gPSAlZCA8IGV4cGVjdGVkIGZy YW1lIHNpemUgJWRcbiIsCiAgICAgICAgICAgICAgICAgICAgaSwgcy0+YnVmX2xlbltpXSwgcy0+ ZnJhbWVfc2l6ZSk7CiAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwogICAgICAg ICB9Ci0gICAgICAgIHMtPmJ1Zl9zdGFydFtpXSA9IHY0bDJfbW1hcChOVUxMLCBidWYubGVuZ3Ro LAorICAgICAgICBzLT5idWZfc3RhcnRbaV0gPSB2NGwyX21tYXAoTlVMTCwgYnVmX2xlbmd0aCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBN QVBfU0hBUkVELAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmZkLCBidWYubS5v ZmZzZXQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmZkLCBidWZfb2Zmc2V0 KTsKIAogICAgICAgICBpZiAocy0+YnVmX3N0YXJ0W2ldID09IE1BUF9GQUlMRUQpIHsKICAgICAg ICAgICAgIHJlcyA9IEFWRVJST1IoZXJybm8pOwpAQCAtNDI5LDEzICs0NTQsMTYgQEAgc3RhdGlj IGludCBlbnF1ZXVlX2J1ZmZlcihzdHJ1Y3QgdmlkZW9fZGF0YSAqcywgc3RydWN0IHY0bDJfYnVm ZmVyICpidWYpCiAKIHN0YXRpYyB2b2lkIG1tYXBfcmVsZWFzZV9idWZmZXIodm9pZCAqb3BhcXVl LCB1aW50OF90ICpkYXRhKQogeworICAgIHN0cnVjdCB2NGwyX3BsYW5lIHBsYW5lc1tWSURFT19N QVhfUExBTkVTXTsKICAgICBzdHJ1Y3QgdjRsMl9idWZmZXIgYnVmID0geyAwIH07CiAgICAgc3Ry dWN0IGJ1ZmZfZGF0YSAqYnVmX2Rlc2NyaXB0b3IgPSBvcGFxdWU7CiAgICAgc3RydWN0IHZpZGVv X2RhdGEgKnMgPSBidWZfZGVzY3JpcHRvci0+czsKIAotICAgIGJ1Zi50eXBlID0gVjRMMl9CVUZf VFlQRV9WSURFT19DQVBUVVJFOworICAgIGJ1Zi50eXBlID0gcy0+YnVmX3R5cGU7CiAgICAgYnVm Lm1lbW9yeSA9IFY0TDJfTUVNT1JZX01NQVA7CiAgICAgYnVmLmluZGV4ID0gYnVmX2Rlc2NyaXB0 b3ItPmluZGV4OworICAgIGJ1Zi5tLnBsYW5lcyA9IHMtPm11bHRpcGxhbmFyID8gcGxhbmVzIDog TlVMTDsKKyAgICBidWYubGVuZ3RoICAgPSBzLT5tdWx0aXBsYW5hciA/IFZJREVPX01BWF9QTEFO RVMgOiAwOwogICAgIGF2X2ZyZWUoYnVmX2Rlc2NyaXB0b3IpOwogCiAgICAgZW5xdWV1ZV9idWZm ZXIocywgJmJ1Zik7CkBAIC01MDUsMTEgKzUzMywxNSBAQCBzdGF0aWMgaW50IGNvbnZlcnRfdGlt ZXN0YW1wKEFWRm9ybWF0Q29udGV4dCAqY3R4LCBpbnQ2NF90ICp0cykKIHN0YXRpYyBpbnQgbW1h cF9yZWFkX2ZyYW1lKEFWRm9ybWF0Q29udGV4dCAqY3R4LCBBVlBhY2tldCAqcGt0KQogewogICAg IHN0cnVjdCB2aWRlb19kYXRhICpzID0gY3R4LT5wcml2X2RhdGE7CisgICAgc3RydWN0IHY0bDJf cGxhbmUgcGxhbmVzW1ZJREVPX01BWF9QTEFORVNdOwogICAgIHN0cnVjdCB2NGwyX2J1ZmZlciBi dWYgPSB7Ci0gICAgICAgIC50eXBlICAgPSBWNEwyX0JVRl9UWVBFX1ZJREVPX0NBUFRVUkUsCi0g ICAgICAgIC5tZW1vcnkgPSBWNEwyX01FTU9SWV9NTUFQCisgICAgICAgIC50eXBlICAgPSBzLT5i dWZfdHlwZSwKKyAgICAgICAgLm1lbW9yeSA9IFY0TDJfTUVNT1JZX01NQVAsCisgICAgICAgIC5t LnBsYW5lcyA9IHMtPm11bHRpcGxhbmFyID8gcGxhbmVzIDogTlVMTCwKKyAgICAgICAgLmxlbmd0 aCAgID0gcy0+bXVsdGlwbGFuYXIgPyBWSURFT19NQVhfUExBTkVTIDogMCwKICAgICB9OwogICAg IHN0cnVjdCB0aW1ldmFsIGJ1Zl90czsKKyAgICB1bnNpZ25lZCBpbnQgYnl0ZXN1c2VkOwogICAg IGludCByZXM7CiAKICAgICBwa3QtPnNpemUgPSAwOwpAQCAtNTM2LDM4ICs1NjgsNDAgQEAgc3Rh dGljIGludCBtbWFwX3JlYWRfZnJhbWUoQVZGb3JtYXRDb250ZXh0ICpjdHgsIEFWUGFja2V0ICpw a3QpCiAgICAgLy8gYWx3YXlzIGtlZXAgYXQgbGVhc3Qgb25lIGJ1ZmZlciBxdWV1ZWQKICAgICBh dl9hc3NlcnQwKGF0b21pY19sb2FkKCZzLT5idWZmZXJzX3F1ZXVlZCkgPj0gMSk7CiAKKyAgICBi eXRlc3VzZWQgPSBzLT5tdWx0aXBsYW5hciA/IGJ1Zi5tLnBsYW5lc1swXS5ieXRlc3VzZWQgOiBi dWYuYnl0ZXN1c2VkOworCiAjaWZkZWYgVjRMMl9CVUZfRkxBR19FUlJPUgogICAgIGlmIChidWYu ZmxhZ3MgJiBWNEwyX0JVRl9GTEFHX0VSUk9SKSB7CiAgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xP R19XQVJOSU5HLAogICAgICAgICAgICAgICAgIkRlcXVldWVkIHY0bDIgYnVmZmVyIGNvbnRhaW5z IGNvcnJ1cHRlZCBkYXRhICglZCBieXRlcykuXG4iLAotICAgICAgICAgICAgICAgYnVmLmJ5dGVz dXNlZCk7Ci0gICAgICAgIGJ1Zi5ieXRlc3VzZWQgPSAwOworICAgICAgICAgICAgICAgYnl0ZXN1 c2VkKTsKKyAgICAgICAgYnl0ZXN1c2VkID0gMDsKICAgICB9IGVsc2UKICNlbmRpZgogICAgIHsK ICAgICAgICAgLyogQ1BJQSBpcyBhIGNvbXByZXNzZWQgZm9ybWF0IGFuZCB3ZSBkb24ndCBrbm93 IHRoZSBleGFjdCBudW1iZXIgb2YgYnl0ZXMKICAgICAgICAgICogdXNlZCBieSBhIGZyYW1lLCBz byBzZXQgaXQgaGVyZSBhcyB0aGUgZHJpdmVyIGFubm91bmNlcyBpdC4gKi8KICAgICAgICAgaWYg KGN0eC0+dmlkZW9fY29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQ1BJQSkKLSAgICAgICAgICAgIHMt PmZyYW1lX3NpemUgPSBidWYuYnl0ZXN1c2VkOworICAgICAgICAgICAgcy0+ZnJhbWVfc2l6ZSA9 IGJ5dGVzdXNlZDsKIAotICAgICAgICBpZiAocy0+ZnJhbWVfc2l6ZSA+IDAgJiYgYnVmLmJ5dGVz dXNlZCAhPSBzLT5mcmFtZV9zaXplKSB7CisgICAgICAgIGlmIChzLT5mcmFtZV9zaXplID4gMCAm JiBieXRlc3VzZWQgIT0gcy0+ZnJhbWVfc2l6ZSkgewogICAgICAgICAgICAgYXZfbG9nKGN0eCwg QVZfTE9HX1dBUk5JTkcsCiAgICAgICAgICAgICAgICAgICAgIkRlcXVldWVkIHY0bDIgYnVmZmVy IGNvbnRhaW5zICVkIGJ5dGVzLCBidXQgJWQgd2VyZSBleHBlY3RlZC4gRmxhZ3M6IDB4JTA4WC5c biIsCi0gICAgICAgICAgICAgICAgICAgYnVmLmJ5dGVzdXNlZCwgcy0+ZnJhbWVfc2l6ZSwgYnVm LmZsYWdzKTsKLSAgICAgICAgICAgIGJ1Zi5ieXRlc3VzZWQgPSAwOworICAgICAgICAgICAgICAg ICAgIGJ5dGVzdXNlZCwgcy0+ZnJhbWVfc2l6ZSwgYnVmLmZsYWdzKTsKKyAgICAgICAgICAgIGJ5 dGVzdXNlZCA9IDA7CiAgICAgICAgIH0KICAgICB9CiAKICAgICAvKiBJbWFnZSBpcyBhdCBzLT5i dWZmX3N0YXJ0W2J1Zi5pbmRleF0gKi8KICAgICBpZiAoYXRvbWljX2xvYWQoJnMtPmJ1ZmZlcnNf cXVldWVkKSA9PSBGRk1BWChzLT5idWZmZXJzIC8gOCwgMSkpIHsKICAgICAgICAgLyogd2hlbiB3 ZSBzdGFydCBnZXR0aW5nIGxvdyBvbiBxdWV1ZWQgYnVmZmVycywgZmFsbCBiYWNrIG9uIGNvcHlp bmcgZGF0YSAqLwotICAgICAgICByZXMgPSBhdl9uZXdfcGFja2V0KHBrdCwgYnVmLmJ5dGVzdXNl ZCk7CisgICAgICAgIHJlcyA9IGF2X25ld19wYWNrZXQocGt0LCBieXRlc3VzZWQpOwogICAgICAg ICBpZiAocmVzIDwgMCkgewogICAgICAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0VSUk9SLCAi RXJyb3IgYWxsb2NhdGluZyBhIHBhY2tldC5cbiIpOwogICAgICAgICAgICAgZW5xdWV1ZV9idWZm ZXIocywgJmJ1Zik7CiAgICAgICAgICAgICByZXR1cm4gcmVzOwogICAgICAgICB9Ci0gICAgICAg IG1lbWNweShwa3QtPmRhdGEsIHMtPmJ1Zl9zdGFydFtidWYuaW5kZXhdLCBidWYuYnl0ZXN1c2Vk KTsKKyAgICAgICAgbWVtY3B5KHBrdC0+ZGF0YSwgcy0+YnVmX3N0YXJ0W2J1Zi5pbmRleF0sIGJ5 dGVzdXNlZCk7CiAKICAgICAgICAgcmVzID0gZW5xdWV1ZV9idWZmZXIocywgJmJ1Zik7CiAgICAg ICAgIGlmIChyZXMpIHsKQEAgLTU3OCw3ICs2MTIsNyBAQCBzdGF0aWMgaW50IG1tYXBfcmVhZF9m cmFtZShBVkZvcm1hdENvbnRleHQgKmN0eCwgQVZQYWNrZXQgKnBrdCkKICAgICAgICAgc3RydWN0 IGJ1ZmZfZGF0YSAqYnVmX2Rlc2NyaXB0b3I7CiAKICAgICAgICAgcGt0LT5kYXRhICAgICA9IHMt PmJ1Zl9zdGFydFtidWYuaW5kZXhdOwotICAgICAgICBwa3QtPnNpemUgICAgID0gYnVmLmJ5dGVz dXNlZDsKKyAgICAgICAgcGt0LT5zaXplICAgICA9IGJ5dGVzdXNlZDsKIAogICAgICAgICBidWZf ZGVzY3JpcHRvciA9IGF2X21hbGxvYyhzaXplb2Yoc3RydWN0IGJ1ZmZfZGF0YSkpOwogICAgICAg ICBpZiAoIWJ1Zl9kZXNjcmlwdG9yKSB7CkBAIC02MTUsMTAgKzY0OSwxMyBAQCBzdGF0aWMgaW50 IG1tYXBfc3RhcnQoQVZGb3JtYXRDb250ZXh0ICpjdHgpCiAgICAgaW50IGksIHJlczsKIAogICAg IGZvciAoaSA9IDA7IGkgPCBzLT5idWZmZXJzOyBpKyspIHsKKyAgICAgICAgc3RydWN0IHY0bDJf cGxhbmUgcGxhbmVzW1ZJREVPX01BWF9QTEFORVNdOwogICAgICAgICBzdHJ1Y3QgdjRsMl9idWZm ZXIgYnVmID0gewotICAgICAgICAgICAgLnR5cGUgICA9IFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQ VFVSRSwKKyAgICAgICAgICAgIC50eXBlICAgPSBzLT5idWZfdHlwZSwKICAgICAgICAgICAgIC5p bmRleCAgPSBpLAotICAgICAgICAgICAgLm1lbW9yeSA9IFY0TDJfTUVNT1JZX01NQVAKKyAgICAg ICAgICAgIC5tZW1vcnkgPSBWNEwyX01FTU9SWV9NTUFQLAorICAgICAgICAgICAgLm0ucGxhbmVz ID0gcy0+bXVsdGlwbGFuYXIgPyBwbGFuZXMgOiBOVUxMLAorICAgICAgICAgICAgLmxlbmd0aCAg ID0gcy0+bXVsdGlwbGFuYXIgPyBWSURFT19NQVhfUExBTkVTIDogMCwKICAgICAgICAgfTsKIAog ICAgICAgICBpZiAodjRsMl9pb2N0bChzLT5mZCwgVklESU9DX1FCVUYsICZidWYpIDwgMCkgewpA QCAtNjMwLDcgKzY2Nyw3IEBAIHN0YXRpYyBpbnQgbW1hcF9zdGFydChBVkZvcm1hdENvbnRleHQg KmN0eCkKICAgICB9CiAgICAgYXRvbWljX3N0b3JlKCZzLT5idWZmZXJzX3F1ZXVlZCwgcy0+YnVm ZmVycyk7CiAKLSAgICB0eXBlID0gVjRMMl9CVUZfVFlQRV9WSURFT19DQVBUVVJFOworICAgIHR5 cGUgPSBzLT5idWZfdHlwZTsKICAgICBpZiAodjRsMl9pb2N0bChzLT5mZCwgVklESU9DX1NUUkVB TU9OLCAmdHlwZSkgPCAwKSB7CiAgICAgICAgIHJlcyA9IEFWRVJST1IoZXJybm8pOwogICAgICAg ICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJpb2N0bChWSURJT0NfU1RSRUFNT04pOiAlc1xu IiwKQEAgLTY0Niw3ICs2ODMsNyBAQCBzdGF0aWMgdm9pZCBtbWFwX2Nsb3NlKHN0cnVjdCB2aWRl b19kYXRhICpzKQogICAgIGVudW0gdjRsMl9idWZfdHlwZSB0eXBlOwogICAgIGludCBpOwogCi0g ICAgdHlwZSA9IFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQVFVSRTsKKyAgICB0eXBlID0gcy0+YnVm X3R5cGU7CiAgICAgLyogV2UgZG8gbm90IGNoZWNrIGZvciB0aGUgcmVzdWx0LCBiZWNhdXNlIHdl IGNvdWxkCiAgICAgICogbm90IGRvIGFueXRoaW5nIGFib3V0IGl0IGFueXdheS4uLgogICAgICAq LwpAQCAtNzMzLDcgKzc3MCw3IEBAIHN0YXRpYyBpbnQgdjRsMl9zZXRfcGFyYW1ldGVycyhBVkZv cm1hdENvbnRleHQgKmN0eCkKICAgICAgICAgdHBmID0gJnN0cmVhbXBhcm0ucGFybS5jYXB0dXJl LnRpbWVwZXJmcmFtZTsKICAgICB9CiAKLSAgICBzdHJlYW1wYXJtLnR5cGUgPSBWNEwyX0JVRl9U WVBFX1ZJREVPX0NBUFRVUkU7CisgICAgc3RyZWFtcGFybS50eXBlID0gcy0+YnVmX3R5cGU7CiAg ICAgaWYgKHY0bDJfaW9jdGwocy0+ZmQsIFZJRElPQ19HX1BBUk0sICZzdHJlYW1wYXJtKSA8IDAp IHsKICAgICAgICAgcmV0ID0gQVZFUlJPUihlcnJubyk7CiAgICAgICAgIGF2X2xvZyhjdHgsIEFW X0xPR19XQVJOSU5HLCAiaW9jdGwoVklESU9DX0dfUEFSTSk6ICVzXG4iLCBhdl9lcnIyc3RyKHJl dCkpOwpAQCAtOTIxLDcgKzk1OCw3IEBAIHN0YXRpYyBpbnQgdjRsMl9yZWFkX2hlYWRlcihBVkZv cm1hdENvbnRleHQgKmN0eCkKICAgICB9CiAKICAgICBpZiAoIXMtPndpZHRoICYmICFzLT5oZWln aHQpIHsKLSAgICAgICAgc3RydWN0IHY0bDJfZm9ybWF0IGZtdCA9IHsgLnR5cGUgPSBWNEwyX0JV Rl9UWVBFX1ZJREVPX0NBUFRVUkUgfTsKKyAgICAgICAgc3RydWN0IHY0bDJfZm9ybWF0IGZtdCA9 IHsgLnR5cGUgPSBzLT5idWZfdHlwZSB9OwogCiAgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19W RVJCT1NFLAogICAgICAgICAgICAgICAgIlF1ZXJ5aW5nIHRoZSBkZXZpY2UgZm9yIHRoZSBjdXJy ZW50IGZyYW1lIHNpemVcbiIpOwotLSAKMi4zMC4yCgo= --00000000000096bc0f061c3311ec 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". --00000000000096bc0f061c3311ec--