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 ESMTPS id 38CE24E41D for ; Tue, 11 Mar 2025 14:14:04 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D361468E0CB; Tue, 11 Mar 2025 16:13:59 +0200 (EET) Received: from mail-ot1-f52.google.com (mail-ot1-f52.google.com [209.85.210.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 903F268D0E8 for ; Tue, 11 Mar 2025 16:13:53 +0200 (EET) Received: by mail-ot1-f52.google.com with SMTP id 46e09a7af769-72a1a9dd1b0so562186a34.1 for ; Tue, 11 Mar 2025 07:13:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741702431; x=1742307231; darn=ffmpeg.org; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=ixrhZEjMvN+DO10r+o1M/eQhaJmqflQLpkiyWLrTry8=; b=g5tp/zBlK6ViwGwV3hIRQVk6x0ZgnYlZwTUsnEt1HiZ6osQpS4jembEK9fCGeJXQke FbVEyonjPZeNKeUId7dtxCLx37WEEgewAV07w28aBIsC0cPHQTXn14nCuHqgFuei6wHn sR8xeUBpRmk0dng6Nu2HVAqy3odWV1Omm69bAFFnD4VxZR8wD/Iet8iUdGZMclvDQwgU 56x6Sq7Cd2266al0fx0fptBccFBbfEwOEv6EZqPGUOtTaS7vuXQB7tzdtokg4C9ZHfuN HhD03IOnpl0t4Mrd/IkKCl7UH75Nb/VM/8FbkycezszkegwS8rMhl7RDIccN6AXru7TH +oag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741702431; x=1742307231; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=ixrhZEjMvN+DO10r+o1M/eQhaJmqflQLpkiyWLrTry8=; b=b0X+fDlTwDGXNWr73dYGpUC5N5rd6/JQfvsOT1f2YMXs9KYC8Z0YrXQvcWxsvj5j0C BoX6eg+SP9hju3Ncd2+QC6/Vp0Ta9/gugtIzq0kE7PkF3+Zbm9UK3njzO5O7cCKL9DeN 60iiTBhGKWhCIJzuJpzL94qsZi59Oz9sMCUAlL75jgRMv8nZ6pP82Ar9KTsAYjGRZ5i1 H8oCr55i921Lb6YZf1l5rW88/c8X1+bHFteJ61eWdq8F1OqzFOtwAlyrqiUs3a8svqaD 1JPhrkqkjbTPvDQ8yHQCoV14V9EpHRnTsIEMiF+cOn3sSACFFO5H6mDX5m0O77wINYuP AvSA== X-Gm-Message-State: AOJu0YyylmAMwZ38TXSuo/5KDr3JyHP0CtdZRqMowN+Od4OBW1G1IqZT n3gN3agceINx6KJd65LGxd8wENOZjaMGk+L0cy0GnAnWZYcAZ9sK7XqOKg== X-Gm-Gg: ASbGnctbQ1wOA0OlDT43rSihD6kRmCqskKIP28DLx4xl9GUtHI8xoosTLQsvOVB+P8Q PQw+b09XJTxC3UKy9vDBh1gbDCN2Mtoi96zhS+g211PtHBiYRbejs8iLdaeX5LyuzmgZhma9KQc HgItm+niz1fDPDqP0vZBW43ml0whclv+ME/k2FlTp3Kw/kEJgRC8dXsHaTZYgUNTPQ6ViEam4ei YsY67/yPbRGWYFQHtghNeCa8aPdIrPV4lESEC8xvJC3EgkoAMHvvzfW0jHIq+iYp5fE9IvZvx+L qBCa5zykSLfJx/s4obpLLOCJRLAmYDLJ8cFDMtHXwgL2Z5iHOqDQyUBWMBWkMUod2r45FpIWpdW 8liDXDrty+Wzuy+d7eyx/kg== X-Google-Smtp-Source: AGHT+IF+QLXeLF+Xsui1j8z+pksuCc24uAqhuz3RxtZpNUYZHkQzkYydawF82AHZdK4bVeCFYKZl7w== X-Received: by 2002:a05:6830:6504:b0:727:4576:36f9 with SMTP id 46e09a7af769-72b9b399476mr2000367a34.3.1741702431375; Tue, 11 Mar 2025 07:13:51 -0700 (PDT) Received: from ?IPV6:2800:2121:b040:c:81f1:6a4b:e33b:1c7? ([2800:2121:b040:c:81f1:6a4b:e33b:1c7]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-72a2db0c727sm2442915a34.36.2025.03.11.07.13.47 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Mar 2025 07:13:49 -0700 (PDT) Message-ID: <79552cb3-9928-4be1-accf-4a87d39a2849@gmail.com> Date: Tue, 11 Mar 2025 11:13:45 -0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20250310004552.2980855-1-michael@niedermayer.cc> <20250311005906.GV4991@pb2> Content-Language: en-US From: James Almer In-Reply-To: <20250311005906.GV4991@pb2> Subject: Re: [FFmpeg-devel] [PATCH] ffv1: implement remap for encode/decode_plane() 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 Content-Type: multipart/mixed; boundary="===============2250915779444320616==" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --===============2250915779444320616== Content-Language: en-US Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------5Nm0J0OU6Jx0rm2DPsz050YU" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------5Nm0J0OU6Jx0rm2DPsz050YU Content-Type: multipart/mixed; boundary="------------oOLpzCszTG8RRlKWp0J9h8aJ"; protected-headers="v1" From: James Almer To: ffmpeg-devel@ffmpeg.org Message-ID: <79552cb3-9928-4be1-accf-4a87d39a2849@gmail.com> Subject: Re: [FFmpeg-devel] [PATCH] ffv1: implement remap for encode/decode_plane() References: <20250310004552.2980855-1-michael@niedermayer.cc> <20250311005906.GV4991@pb2> In-Reply-To: <20250311005906.GV4991@pb2> --------------oOLpzCszTG8RRlKWp0J9h8aJ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMy8xMC8yMDI1IDk6NTkgUE0sIE1pY2hhZWwgTmllZGVybWF5ZXIgd3JvdGU6DQo+IE9u IE1vbiwgTWFyIDEwLCAyMDI1IGF0IDA2OjQ4OjI5UE0gKzAxMDAsIEx5bm5lIHdyb3RlOg0K Pj4gT24gMTAvMDMvMjAyNSAwMTo0NSwgTWljaGFlbCBOaWVkZXJtYXllciB3cm90ZToNCj4+ PiBTcG9uc29yZWQtYnk6IFNvdmVyZWlnbiBUZWNoIEZ1bmQNCj4+PiBTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPg0KPj4+IC0t LQ0KPj4+ICAgIGxpYmF2Y29kZWMvZmZ2MWRlYy5jIHwgMjAgKysrKysrKystLS0tLQ0KPj4+ ICAgIGxpYmF2Y29kZWMvZmZ2MWVuYy5jIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0NCj4+PiAgICAyIGZpbGVzIGNoYW5nZWQsIDcxIGluc2Vy dGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQ0KPj4+DQo+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvZmZ2MWRlYy5jIGIvbGliYXZjb2RlYy9mZnYxZGVjLmMNCj4+PiBpbmRleCA5NzM4 ZTRlOWM5Zi4uNzJjOTNmY2YwY2QgMTAwNjQ0DQo+Pj4gLS0tIGEvbGliYXZjb2RlYy9mZnYx ZGVjLmMNCj4+PiArKysgYi9saWJhdmNvZGVjL2ZmdjFkZWMuYw0KPj4+IEBAIC05Miw3ICs5 Miw3IEBAIHN0YXRpYyBpbnQgaXNfaW5wdXRfZW5kKFJhbmdlQ29kZXIgKmMsIEdldEJpdENv bnRleHQgKmdiLCBpbnQgYWMpDQo+Pj4gICAgc3RhdGljIGludCBkZWNvZGVfcGxhbmUoRkZW MUNvbnRleHQgKmYsIEZGVjFTbGljZUNvbnRleHQgKnNjLA0KPj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdldEJpdENvbnRleHQgKmdiLA0KPj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQ4X3QgKnNyYywgaW50IHcsIGludCBoLCBpbnQgc3RyaWRlLCBpbnQg cGxhbmVfaW5kZXgsDQo+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBwaXhlbF9z dHJpZGUsIGludCBhYykNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlbWFw X2luZGV4LCBpbnQgcGl4ZWxfc3RyaWRlLCBpbnQgYWMpDQo+Pj4gICAgew0KPj4+ICAgICAg ICBpbnQgeCwgeTsNCj4+PiAgICAgICAgaW50MTZfdCAqc2FtcGxlWzJdOw0KPj4+IEBAIC0x MTYsMTIgKzExNiwxOCBAQCBzdGF0aWMgaW50IGRlY29kZV9wbGFuZShGRlYxQ29udGV4dCAq ZiwgRkZWMVNsaWNlQ29udGV4dCAqc2MsDQo+Pj4gICAgICAgICAgICAgICAgaW50IHJldCA9 IGRlY29kZV9saW5lKGYsIHNjLCBnYiwgdywgc2FtcGxlLCBwbGFuZV9pbmRleCwgOCwgYWMp Ow0KPj4+ICAgICAgICAgICAgICAgIGlmIChyZXQgPCAwKQ0KPj4+ICAgICAgICAgICAgICAg ICAgICByZXR1cm4gcmV0Ow0KPj4+ICsgICAgICAgICAgICBpZiAoc2MtPnJlbWFwKQ0KPj4+ ICsgICAgICAgICAgICAgICAgZm9yICh4ID0gMDsgeCA8IHc7IHgrKykNCj4+PiArICAgICAg ICAgICAgICAgICAgICBzYW1wbGVbMV1beF0gPSBzYy0+Zmx0bWFwW3JlbWFwX2luZGV4XVtz YW1wbGVbMV1beF1dOw0KPj4+ICAgICAgICAgICAgICAgIGZvciAoeCA9IDA7IHggPCB3OyB4 KyspDQo+Pj4gICAgICAgICAgICAgICAgICAgIHNyY1t4KnBpeGVsX3N0cmlkZSArIHN0cmlk ZSAqIHldID0gc2FtcGxlWzFdW3hdOw0KPj4+ICAgICAgICAgICAgfSBlbHNlIHsNCj4+PiAg ICAgICAgICAgICAgICBpbnQgcmV0ID0gZGVjb2RlX2xpbmUoZiwgc2MsIGdiLCB3LCBzYW1w bGUsIHBsYW5lX2luZGV4LCBmLT5hdmN0eC0+Yml0c19wZXJfcmF3X3NhbXBsZSwgYWMpOw0K Pj4+ICAgICAgICAgICAgICAgIGlmIChyZXQgPCAwKQ0KPj4+ICAgICAgICAgICAgICAgICAg ICByZXR1cm4gcmV0Ow0KPj4+ICsgICAgICAgICAgICBpZiAoc2MtPnJlbWFwKQ0KPj4+ICsg ICAgICAgICAgICAgICAgZm9yICh4ID0gMDsgeCA8IHc7IHgrKykNCj4+PiArICAgICAgICAg ICAgICAgICAgICBzYW1wbGVbMV1beF0gPSBzYy0+Zmx0bWFwW3JlbWFwX2luZGV4XVtzYW1w bGVbMV1beF1dOw0KPj4+ICAgICAgICAgICAgICAgIGlmIChmLT5wYWNrZWRfYXRfbHNiKSB7 DQo+Pj4gICAgICAgICAgICAgICAgICAgIGZvciAoeCA9IDA7IHggPCB3OyB4KyspIHsNCj4+ PiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QqKShzcmMgKyBzdHJpZGUqeSkp W3gqcGl4ZWxfc3RyaWRlXSA9IHNhbXBsZVsxXVt4XTsNCj4+PiBAQCAtMzQ3LDE3ICszNTMs MTcgQEAgc3RhdGljIGludCBkZWNvZGVfc2xpY2UoQVZDb2RlY0NvbnRleHQgKmMsIHZvaWQg KmFyZykNCj4+PiAgICAgICAgaWYgKGYtPmNvbG9yc3BhY2UgPT0gMCAmJiAoZi0+Y2hyb21h X3BsYW5lcyB8fCAhZi0+dHJhbnNwYXJlbmN5KSkgew0KPj4+ICAgICAgICAgICAgY29uc3Qg aW50IGN4ICAgICAgICAgICAgPSB4ID4+IGYtPmNocm9tYV9oX3NoaWZ0Ow0KPj4+ICAgICAg ICAgICAgY29uc3QgaW50IGN5ICAgICAgICAgICAgPSB5ID4+IGYtPmNocm9tYV92X3NoaWZ0 Ow0KPj4+IC0gICAgICAgIGRlY29kZV9wbGFuZShmLCBzYywgJmdiLCBwLT5kYXRhWzBdICsg cHMqeCArIHkqcC0+bGluZXNpemVbMF0sIHdpZHRoLCBoZWlnaHQsIHAtPmxpbmVzaXplWzBd LCAwLCAxLCBhYyk7DQo+Pj4gKyAgICAgICAgZGVjb2RlX3BsYW5lKGYsIHNjLCAmZ2IsIHAt PmRhdGFbMF0gKyBwcyp4ICsgeSpwLT5saW5lc2l6ZVswXSwgd2lkdGgsIGhlaWdodCwgcC0+ bGluZXNpemVbMF0sIDAsIDAsIDEsIGFjKTsNCj4+PiAgICAgICAgICAgIGlmIChmLT5jaHJv bWFfcGxhbmVzKSB7DQo+Pj4gLSAgICAgICAgICAgIGRlY29kZV9wbGFuZShmLCBzYywgJmdi LCBwLT5kYXRhWzFdICsgcHMqY3grY3kqcC0+bGluZXNpemVbMV0sIGNocm9tYV93aWR0aCwg Y2hyb21hX2hlaWdodCwgcC0+bGluZXNpemVbMV0sIDEsIDEsIGFjKTsNCj4+PiAtICAgICAg ICAgICAgZGVjb2RlX3BsYW5lKGYsIHNjLCAmZ2IsIHAtPmRhdGFbMl0gKyBwcypjeCtjeSpw LT5saW5lc2l6ZVsyXSwgY2hyb21hX3dpZHRoLCBjaHJvbWFfaGVpZ2h0LCBwLT5saW5lc2l6 ZVsyXSwgMSwgMSwgYWMpOw0KPj4+ICsgICAgICAgICAgICBkZWNvZGVfcGxhbmUoZiwgc2Ms ICZnYiwgcC0+ZGF0YVsxXSArIHBzKmN4K2N5KnAtPmxpbmVzaXplWzFdLCBjaHJvbWFfd2lk dGgsIGNocm9tYV9oZWlnaHQsIHAtPmxpbmVzaXplWzFdLCAxLCAxLCAxLCBhYyk7DQo+Pj4g KyAgICAgICAgICAgIGRlY29kZV9wbGFuZShmLCBzYywgJmdiLCBwLT5kYXRhWzJdICsgcHMq Y3grY3kqcC0+bGluZXNpemVbMl0sIGNocm9tYV93aWR0aCwgY2hyb21hX2hlaWdodCwgcC0+ bGluZXNpemVbMl0sIDEsIDIsIDEsIGFjKTsNCj4+PiAgICAgICAgICAgIH0NCj4+PiAgICAg ICAgICAgIGlmIChmLT50cmFuc3BhcmVuY3kpDQo+Pj4gLSAgICAgICAgICAgIGRlY29kZV9w bGFuZShmLCBzYywgJmdiLCBwLT5kYXRhWzNdICsgcHMqeCArIHkqcC0+bGluZXNpemVbM10s IHdpZHRoLCBoZWlnaHQsIHAtPmxpbmVzaXplWzNdLCAoZi0+dmVyc2lvbiA+PSA0ICYmICFm LT5jaHJvbWFfcGxhbmVzKSA/IDEgOiAyLCAxLCBhYyk7DQo+Pj4gKyAgICAgICAgICAgIGRl Y29kZV9wbGFuZShmLCBzYywgJmdiLCBwLT5kYXRhWzNdICsgcHMqeCArIHkqcC0+bGluZXNp emVbM10sIHdpZHRoLCBoZWlnaHQsIHAtPmxpbmVzaXplWzNdLCAoZi0+dmVyc2lvbiA+PSA0 ICYmICFmLT5jaHJvbWFfcGxhbmVzKSA/IDEgOiAyLCAyLCAxLCBhYyk7DQo+Pj4gICAgICAg IH0gZWxzZSBpZiAoZi0+Y29sb3JzcGFjZSA9PSAwKSB7DQo+Pj4gLSAgICAgICAgIGRlY29k ZV9wbGFuZShmLCBzYywgJmdiLCBwLT5kYXRhWzBdICsgcHMqeCArIHkqcC0+bGluZXNpemVb MF0gICAgLCB3aWR0aCwgaGVpZ2h0LCBwLT5saW5lc2l6ZVswXSwgMCwgMiwgYWMpOw0KPj4+ IC0gICAgICAgICBkZWNvZGVfcGxhbmUoZiwgc2MsICZnYiwgcC0+ZGF0YVswXSArIHBzKngg KyB5KnAtPmxpbmVzaXplWzBdICsgMSwgd2lkdGgsIGhlaWdodCwgcC0+bGluZXNpemVbMF0s IDEsIDIsIGFjKTsNCj4+PiArICAgICAgICAgZGVjb2RlX3BsYW5lKGYsIHNjLCAmZ2IsIHAt PmRhdGFbMF0gKyBwcyp4ICsgeSpwLT5saW5lc2l6ZVswXSAgICAsIHdpZHRoLCBoZWlnaHQs IHAtPmxpbmVzaXplWzBdLCAwLCAwLCAyLCBhYyk7DQo+Pj4gKyAgICAgICAgIGRlY29kZV9w bGFuZShmLCBzYywgJmdiLCBwLT5kYXRhWzBdICsgcHMqeCArIHkqcC0+bGluZXNpemVbMF0g KyAxLCB3aWR0aCwgaGVpZ2h0LCBwLT5saW5lc2l6ZVswXSwgMSwgMSwgMiwgYWMpOw0KPj4+ ICAgICAgICB9IGVsc2UgaWYgKGYtPnVzZTMyYml0KSB7DQo+Pj4gICAgICAgICAgICB1aW50 OF90ICpwbGFuZXNbNF0gPSB7IHAtPmRhdGFbMF0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNp emVbMF0sDQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPmRhdGFb MV0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMV0sDQo+Pj4gZGlmZiAtLWdpdCBhL2xp YmF2Y29kZWMvZmZ2MWVuYy5jIGIvbGliYXZjb2RlYy9mZnYxZW5jLmMNCj4+PiBpbmRleCBm MzA0MTIxOWI3MS4uNGM1NWMwMTI2M2IgMTAwNjQ0DQo+Pj4gLS0tIGEvbGliYXZjb2RlYy9m ZnYxZW5jLmMNCj4+PiArKysgYi9saWJhdmNvZGVjL2ZmdjFlbmMuYw0KPj4+IEBAIC0yNzIs NyArMjcyLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHB1dF92bGNfc3ltYm9sKFB1dEJpdENv bnRleHQgKnBiLCBWbGNTdGF0ZSAqY29uc3Qgc3RhdGUsDQo+Pj4gICAgc3RhdGljIGludCBl bmNvZGVfcGxhbmUoRkZWMUNvbnRleHQgKmYsIEZGVjFTbGljZUNvbnRleHQgKnNjLA0KPj4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHcs IGludCBoLA0KPj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwgaW50 IHBsYW5lX2luZGV4LCBpbnQgcGl4ZWxfc3RyaWRlLCBpbnQgYWMpDQo+Pj4gKyAgICAgICAg ICAgICAgICAgICAgICAgIGludCBzdHJpZGUsIGludCBwbGFuZV9pbmRleCwgaW50IHJlbWFw X2luZGV4LCBpbnQgcGl4ZWxfc3RyaWRlLCBpbnQgYWMpDQo+Pj4gICAgew0KPj4+ICAgICAg ICBpbnQgeCwgeSwgaSwgcmV0Ow0KPj4+ICAgICAgICBjb25zdCBpbnQgcGFzczEgPSAhIShm LT5hdmN0eC0+ZmxhZ3MgJiBBVl9DT0RFQ19GTEFHX1BBU1MxKTsNCj4+PiBAQCAtMjg4LDkg KzI4OCwxNCBAQCBzdGF0aWMgaW50IGVuY29kZV9wbGFuZShGRlYxQ29udGV4dCAqZiwgRkZW MVNsaWNlQ29udGV4dCAqc2MsDQo+Pj4gICAgICAgICAgICBzYW1wbGVbMF1bLTFdPSBzYW1w bGVbMV1bMCAgXTsNCj4+PiAgICAgICAgICAgIHNhbXBsZVsxXVsgd109IHNhbXBsZVsxXVt3 LTFdOw0KPj4+ICsNCj4+PiAgICAgICAgICAgIGlmIChmLT5iaXRzX3Blcl9yYXdfc2FtcGxl IDw9IDgpIHsNCj4+PiAgICAgICAgICAgICAgICBmb3IgKHggPSAwOyB4IDwgdzsgeCsrKQ0K Pj4+ICAgICAgICAgICAgICAgICAgICBzYW1wbGVbMF1beF0gPSBzcmNbeCAqIHBpeGVsX3N0 cmlkZSArIHN0cmlkZSAqIHldOw0KPj4+ICsgICAgICAgICAgICBpZiAoc2MtPnJlbWFwKQ0K Pj4+ICsgICAgICAgICAgICAgICAgZm9yICh4ID0gMDsgeCA8IHc7IHgrKykNCj4+PiArICAg ICAgICAgICAgICAgICAgICBzYW1wbGVbMF1beF0gPSBzYy0+Zmx0bWFwW3JlbWFwX2luZGV4 XVsgc2FtcGxlWzBdW3hdIF07DQo+Pj4gKw0KPj4+ICAgICAgICAgICAgICAgIGlmKChyZXQg PSBlbmNvZGVfbGluZShmLCBzYywgZi0+YXZjdHgsIHcsIHNhbXBsZSwgcGxhbmVfaW5kZXgs IDgsIGFjLCBwYXNzMSkpIDwgMCkNCj4+PiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJl dDsNCj4+PiAgICAgICAgICAgIH0gZWxzZSB7DQo+Pj4gQEAgLTMwMyw2ICszMDgsMTAgQEAg c3RhdGljIGludCBlbmNvZGVfcGxhbmUoRkZWMUNvbnRleHQgKmYsIEZGVjFTbGljZUNvbnRl eHQgKnNjLA0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlWzBdW3hdID0gKCh1 aW50MTZfdCopKHNyYyArIHN0cmlkZSp5KSlbeF0gPj4gKDE2IC0gZi0+Yml0c19wZXJfcmF3 X3NhbXBsZSk7DQo+Pj4gICAgICAgICAgICAgICAgICAgIH0NCj4+PiAgICAgICAgICAgICAg ICB9DQo+Pj4gKyAgICAgICAgICAgIGlmIChzYy0+cmVtYXApDQo+Pj4gKyAgICAgICAgICAg ICAgICBmb3IgKHggPSAwOyB4IDwgdzsgeCsrKQ0KPj4+ICsgICAgICAgICAgICAgICAgICAg IHNhbXBsZVswXVt4XSA9IHNjLT5mbHRtYXBbcmVtYXBfaW5kZXhdWyBzYW1wbGVbMF1beF0g XTsNCj4+PiArDQo+Pj4gICAgICAgICAgICAgICAgaWYoKHJldCA9IGVuY29kZV9saW5lKGYs IHNjLCBmLT5hdmN0eCwgdywgc2FtcGxlLCBwbGFuZV9pbmRleCwgZi0+Yml0c19wZXJfcmF3 X3NhbXBsZSwgYWMsIHBhc3MxKSkgPCAwKQ0KPj4+ICAgICAgICAgICAgICAgICAgICByZXR1 cm4gcmV0Ow0KPj4+ICAgICAgICAgICAgfQ0KPj4+IEBAIC0zMTAsNiArMzE5LDMwIEBAIHN0 YXRpYyBpbnQgZW5jb2RlX3BsYW5lKEZGVjFDb250ZXh0ICpmLCBGRlYxU2xpY2VDb250ZXh0 ICpzYywNCj4+PiAgICAgICAgcmV0dXJuIDA7DQo+Pj4gICAgfQ0KPj4+ICtzdGF0aWMgdm9p ZCBsb2FkX3BsYW5lKEZGVjFDb250ZXh0ICpmLCBGRlYxU2xpY2VDb250ZXh0ICpzYywNCj4+ PiArICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHcsIGlu dCBoLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwgaW50IHJlbWFw X2luZGV4LCBpbnQgcGl4ZWxfc3RyaWRlKQ0KPj4+ICt7DQo+Pj4gKyAgICBpbnQgeCwgeTsN Cj4+PiArDQo+Pj4gKyAgICBtZW1zZXQoc2MtPmZsdG1hcFtyZW1hcF9pbmRleF0sIDAsIHNp emVvZihzYy0+Zmx0bWFwW3JlbWFwX2luZGV4XSkpOw0KPj4+ICsNCj4+PiArICAgIGZvciAo eSA9IDA7IHkgPCBoOyB5KyspIHsNCj4+PiArICAgICAgICBpZiAoZi0+Yml0c19wZXJfcmF3 X3NhbXBsZSA8PSA4KSB7DQo+Pj4gKyAgICAgICAgICAgIGZvciAoeCA9IDA7IHggPCB3OyB4 KyspDQo+Pj4gKyAgICAgICAgICAgICAgICBzYy0+Zmx0bWFwW3JlbWFwX2luZGV4XVsgc3Jj W3ggKiBwaXhlbF9zdHJpZGUgKyBzdHJpZGUgKiB5XSBdID0gMTsNCj4+PiArICAgICAgICB9 IGVsc2Ugew0KPj4+ICsgICAgICAgICAgICBpZiAoZi0+cGFja2VkX2F0X2xzYikgew0KPj4+ ICsgICAgICAgICAgICAgICAgZm9yICh4ID0gMDsgeCA8IHc7IHgrKykNCj4+PiArICAgICAg ICAgICAgICAgICAgICBzYy0+Zmx0bWFwW3JlbWFwX2luZGV4XVsgKCh1aW50MTZfdCopKHNy YyArIHN0cmlkZSp5KSlbeF0gXSA9IDE7DQo+Pj4gKyAgICAgICAgICAgIH0gZWxzZSB7DQo+ Pj4gKyAgICAgICAgICAgICAgICBmb3IgKHggPSAwOyB4IDwgdzsgeCsrKQ0KPj4+ICsgICAg ICAgICAgICAgICAgICAgIHNjLT5mbHRtYXBbcmVtYXBfaW5kZXhdWyAoKHVpbnQxNl90Kiko c3JjICsgc3RyaWRlKnkpKVt4XSA+PiAoMTYgLSBmLT5iaXRzX3Blcl9yYXdfc2FtcGxlKSBd ID0gMTsNCj4+PiArICAgICAgICAgICAgfQ0KPj4+ICsgICAgICAgIH0NCj4+PiArICAgIH0N Cj4+PiArfQ0KPj4+ICsNCj4+PiAgICBzdGF0aWMgdm9pZCB3cml0ZV9xdWFudF90YWJsZShS YW5nZUNvZGVyICpjLCBpbnQxNl90ICpxdWFudF90YWJsZSkNCj4+PiAgICB7DQo+Pj4gICAg ICAgIGludCBsYXN0ID0gMDsNCj4+PiBAQCAtMTE3OCw4ICsxMjExLDI0IEBAIHJldHJ5Og0K Pj4+ICAgICAgICB9DQo+Pj4gICAgICAgIGlmIChzYy0+cmVtYXApIHsNCj4+PiAtICAgICAg ICBpZiAoZi0+Y29sb3JzcGFjZSA9PSAwKSB7DQo+Pj4gLSAgICAgICAgICAgIGF2X2Fzc2Vy dDAoMCk7DQo+Pj4gKyAgICAgICAgaWYgKGYtPmNvbG9yc3BhY2UgPT0gMCAmJiBjLT5waXhf Zm10ICE9IEFWX1BJWF9GTVRfWUE4KSB7DQo+Pj4gKyAgICAgICAgICAgIGNvbnN0IGludCBj eCAgICAgICAgICAgID0geCA+PiBmLT5jaHJvbWFfaF9zaGlmdDsNCj4+PiArICAgICAgICAg ICAgY29uc3QgaW50IGN5ICAgICAgICAgICAgPSB5ID4+IGYtPmNocm9tYV92X3NoaWZ0Ow0K Pj4+ICsNCj4+PiArICAgICAgICAgICAgLy9UT0RPIGRlY2lkZSBvbiB0aGUgb3JkZXIgZm9y IHRoZSBlbmNvZGVkIHJlbWFwcyBhbmQgbG9hZHMuIHdpdGggZ29sb21iIHJpY2UgaXQNCj4+ PiArICAgICAgICAgICAgLy8gZWFzaWVyIHRvIGhhdmUgYWxsIHJhbmdlIGNvZGVkIG9uZXMg dG9nZXRoZXIsIG90aGVyd2lzZSBpdCBtYXkgYmUgbmljZXIgdG8gaGFuZGxlIGVhY2ggcGxh bmUgYXMgYSB3aG9sZT8NCj4+PiArDQo+Pj4gKyAgICAgICAgICAgIGxvYWRfcGxhbmUoZiwg c2MsIHAtPmRhdGFbMF0gKyBwcyp4ICsgeSpwLT5saW5lc2l6ZVswXSwgd2lkdGgsIGhlaWdo dCwgcC0+bGluZXNpemVbMF0sIDAsIDEpOw0KPj4+ICsNCj4+PiArICAgICAgICAgICAgaWYg KGYtPmNocm9tYV9wbGFuZXMpIHsNCj4+PiArICAgICAgICAgICAgICAgIGxvYWRfcGxhbmUo Ziwgc2MsIHAtPmRhdGFbMV0gKyBwcypjeCtjeSpwLT5saW5lc2l6ZVsxXSwgY2hyb21hX3dp ZHRoLCBjaHJvbWFfaGVpZ2h0LCBwLT5saW5lc2l6ZVsxXSwgMSwgMSk7DQo+Pj4gKyAgICAg ICAgICAgICAgICBsb2FkX3BsYW5lKGYsIHNjLCBwLT5kYXRhWzJdICsgcHMqY3grY3kqcC0+ bGluZXNpemVbMl0sIGNocm9tYV93aWR0aCwgY2hyb21hX2hlaWdodCwgcC0+bGluZXNpemVb Ml0sIDIsIDEpOw0KPj4+ICsgICAgICAgICAgICB9DQo+Pj4gKyAgICAgICAgICAgIGlmIChm LT50cmFuc3BhcmVuY3kpDQo+Pj4gKyAgICAgICAgICAgICAgICBsb2FkX3BsYW5lKGYsIHNj LCBwLT5kYXRhWzNdICsgcHMqeCArIHkqcC0+bGluZXNpemVbM10sIHdpZHRoLCBoZWlnaHQs IHAtPmxpbmVzaXplWzNdLCAzLCAxKTsNCj4+PiArICAgICAgICB9IGVsc2UgaWYgKGMtPnBp eF9mbXQgPT0gQVZfUElYX0ZNVF9ZQTgpIHsNCj4+PiArICAgICAgICAgICAgbG9hZF9wbGFu ZShmLCBzYywgcC0+ZGF0YVswXSArICAgICBwcyp4ICsgeSpwLT5saW5lc2l6ZVswXSwgd2lk dGgsIGhlaWdodCwgcC0+bGluZXNpemVbMF0sIDAsIDIpOw0KPj4+ICsgICAgICAgICAgICBs b2FkX3BsYW5lKGYsIHNjLCBwLT5kYXRhWzBdICsgMSArIHBzKnggKyB5KnAtPmxpbmVzaXpl WzBdLCB3aWR0aCwgaGVpZ2h0LCBwLT5saW5lc2l6ZVswXSwgMSwgMik7DQo+Pj4gICAgICAg ICAgICB9IGVsc2UgaWYgKGYtPnVzZTMyYml0KSB7DQo+Pj4gICAgICAgICAgICAgICAgbG9h ZF9yZ2JfZnJhbWUzMihmLCBzYywgcGxhbmVzLCB3aWR0aCwgaGVpZ2h0LCBwLT5saW5lc2l6 ZSk7DQo+Pj4gICAgICAgICAgICB9IGVsc2UNCj4+PiBAQCAtMTIwNiwxNyArMTI1NSwxNyBA QCByZXRyeToNCj4+PiAgICAgICAgICAgIGNvbnN0IGludCBjeCAgICAgICAgICAgID0geCA+ PiBmLT5jaHJvbWFfaF9zaGlmdDsNCj4+PiAgICAgICAgICAgIGNvbnN0IGludCBjeSAgICAg ICAgICAgID0geSA+PiBmLT5jaHJvbWFfdl9zaGlmdDsNCj4+PiAtICAgICAgICByZXQgPSBl bmNvZGVfcGxhbmUoZiwgc2MsIHAtPmRhdGFbMF0gKyBwcyp4ICsgeSpwLT5saW5lc2l6ZVsw XSwgd2lkdGgsIGhlaWdodCwgcC0+bGluZXNpemVbMF0sIDAsIDEsIGFjKTsNCj4+PiArICAg ICAgICByZXQgPSBlbmNvZGVfcGxhbmUoZiwgc2MsIHAtPmRhdGFbMF0gKyBwcyp4ICsgeSpw LT5saW5lc2l6ZVswXSwgd2lkdGgsIGhlaWdodCwgcC0+bGluZXNpemVbMF0sIDAsIDAsIDEs IGFjKTsNCj4+PiAgICAgICAgICAgIGlmIChmLT5jaHJvbWFfcGxhbmVzKSB7DQo+Pj4gLSAg ICAgICAgICAgIHJldCB8PSBlbmNvZGVfcGxhbmUoZiwgc2MsIHAtPmRhdGFbMV0gKyBwcypj eCtjeSpwLT5saW5lc2l6ZVsxXSwgY2hyb21hX3dpZHRoLCBjaHJvbWFfaGVpZ2h0LCBwLT5s aW5lc2l6ZVsxXSwgMSwgMSwgYWMpOw0KPj4+IC0gICAgICAgICAgICByZXQgfD0gZW5jb2Rl X3BsYW5lKGYsIHNjLCBwLT5kYXRhWzJdICsgcHMqY3grY3kqcC0+bGluZXNpemVbMl0sIGNo cm9tYV93aWR0aCwgY2hyb21hX2hlaWdodCwgcC0+bGluZXNpemVbMl0sIDEsIDEsIGFjKTsN Cj4+PiArICAgICAgICAgICAgcmV0IHw9IGVuY29kZV9wbGFuZShmLCBzYywgcC0+ZGF0YVsx XSArIHBzKmN4K2N5KnAtPmxpbmVzaXplWzFdLCBjaHJvbWFfd2lkdGgsIGNocm9tYV9oZWln aHQsIHAtPmxpbmVzaXplWzFdLCAxLCAxLCAxLCBhYyk7DQo+Pj4gKyAgICAgICAgICAgIHJl dCB8PSBlbmNvZGVfcGxhbmUoZiwgc2MsIHAtPmRhdGFbMl0gKyBwcypjeCtjeSpwLT5saW5l c2l6ZVsyXSwgY2hyb21hX3dpZHRoLCBjaHJvbWFfaGVpZ2h0LCBwLT5saW5lc2l6ZVsyXSwg MSwgMiwgMSwgYWMpOw0KPj4+ICAgICAgICAgICAgfQ0KPj4+ICAgICAgICAgICAgaWYgKGYt PnRyYW5zcGFyZW5jeSkNCj4+PiAtICAgICAgICAgICAgcmV0IHw9IGVuY29kZV9wbGFuZShm LCBzYywgcC0+ZGF0YVszXSArIHBzKnggKyB5KnAtPmxpbmVzaXplWzNdLCB3aWR0aCwgaGVp Z2h0LCBwLT5saW5lc2l6ZVszXSwgMiwgMSwgYWMpOw0KPj4+ICsgICAgICAgICAgICByZXQg fD0gZW5jb2RlX3BsYW5lKGYsIHNjLCBwLT5kYXRhWzNdICsgcHMqeCArIHkqcC0+bGluZXNp emVbM10sIHdpZHRoLCBoZWlnaHQsIHAtPmxpbmVzaXplWzNdLCAyLCAzLCAxLCBhYyk7DQo+ Pj4gICAgICAgIH0gZWxzZSBpZiAoYy0+cGl4X2ZtdCA9PSBBVl9QSVhfRk1UX1lBOCkgew0K Pj4+IC0gICAgICAgIHJldCAgPSBlbmNvZGVfcGxhbmUoZiwgc2MsIHAtPmRhdGFbMF0gKyAg ICAgcHMqeCArIHkqcC0+bGluZXNpemVbMF0sIHdpZHRoLCBoZWlnaHQsIHAtPmxpbmVzaXpl WzBdLCAwLCAyLCBhYyk7DQo+Pj4gLSAgICAgICAgcmV0IHw9IGVuY29kZV9wbGFuZShmLCBz YywgcC0+ZGF0YVswXSArIDEgKyBwcyp4ICsgeSpwLT5saW5lc2l6ZVswXSwgd2lkdGgsIGhl aWdodCwgcC0+bGluZXNpemVbMF0sIDEsIDIsIGFjKTsNCj4+PiArICAgICAgICByZXQgID0g ZW5jb2RlX3BsYW5lKGYsIHNjLCBwLT5kYXRhWzBdICsgICAgIHBzKnggKyB5KnAtPmxpbmVz aXplWzBdLCB3aWR0aCwgaGVpZ2h0LCBwLT5saW5lc2l6ZVswXSwgMCwgMCwgMiwgYWMpOw0K Pj4+ICsgICAgICAgIHJldCB8PSBlbmNvZGVfcGxhbmUoZiwgc2MsIHAtPmRhdGFbMF0gKyAx ICsgcHMqeCArIHkqcC0+bGluZXNpemVbMF0sIHdpZHRoLCBoZWlnaHQsIHAtPmxpbmVzaXpl WzBdLCAxLCAxLCAyLCBhYyk7DQo+Pj4gICAgICAgIH0gZWxzZSBpZiAoZi0+dXNlMzJiaXQp IHsNCj4+PiAgICAgICAgICAgIHJldCA9IGVuY29kZV9yZ2JfZnJhbWUzMihmLCBzYywgcGxh bmVzLCB3aWR0aCwgaGVpZ2h0LCBwLT5saW5lc2l6ZSwgYWMpOw0KPj4+ICAgICAgICB9IGVs c2Ugew0KPj4NCj4+IERvZXNuJ3QgYXBwbHkgcHJvcGVybHkuDQo+PiBXaGF0IGRvZXMgaXQg ZXZlbiBkbz8gRG9lcyB0aGUgY3VycmVudCBnaXQgbWFzdGVyIG5vdCBhbHJlYWR5IGRvIHRo aXM/DQo+IA0KPiBtYXN0ZXIgaW1wbGVtZW50cyByZW1hcCBmb3IgZW5jb2RlX3JnYl9mcmFt ZSoNCj4gVGhpcyBpbXBsZW1lbnRzIGl0IGZvciB0aGUgb3RoZXIgY2FzZXMuDQo+IE1vc3Qg b2YgdGhpcyBpcyB1bnRlc3RlZCB0aG91Z2gsIGkgaGF2ZSBubyBZVVYgcGxhbmFyIGZsb2F0 MTYgbWF0ZXJpYWwNClRoZXJlIGlzIG9uZSB2ZXJ5IHRpbnkgZXhyIHNhbXBsZSB0aGF0J3Mg WUEgZmxvYXQxNiwgdGhlIG9uZSBmcm9tIA0KZmF0ZS1leHIteWEtc2NhbmxpbmUtemlwLWhh bGYtMTJ4OC4gTm90IHN1cmUgaG93IHVzZWZ1bCBjYW4gaXQgYmUgDQpjb25zaWRlcmluZyBp dCdzIHNvIHNtYWxsIGFuZCBoYXMgbm8gY2hyb21hIHBsYW5lcy4NCg0K --------------oOLpzCszTG8RRlKWp0J9h8aJ-- --------------5Nm0J0OU6Jx0rm2DPsz050YU Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsB5BAABCAAjFiEEd1EujP2UoWlX5pp6FGMBrXN2WeAFAmfQRRkFAwAAAAAACgkQFGMBrXN2WeDK Rgf+JFvjNaBpAR/VlYexi30viiDFKBhYnMsa2bfCDcV+vkTwcPxLYRwAfxf2roHcSwZXsijQiNpr ev7WAnT910EXe1Y79qTQDK9+Kl+PpxNkx06a0QRpgfHisl/HqS7yarnjDntdihHYtD+WhAdHGEoB nSVEXIqffHOvSInwOwq7IEb4RAd9tnAbjqv0pc6sO6dwJ+8gZoxAcu/8jcousBRQg5hpgDN/IZeT NIk3X60k3DqaIdB+rbP+YzF9MtQCkV9ZNrG69D7xP/2suZhcySm74lURvdYBeYsts0aUhhqqN09I 01vtqd++TyhwtuJ4MOqJ2pDAIh7G3kEZC76C+4+uwg== =aSDz -----END PGP SIGNATURE----- --------------5Nm0J0OU6Jx0rm2DPsz050YU-- --===============2250915779444320616== 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". --===============2250915779444320616==--