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 7271B4E430 for ; Tue, 11 Mar 2025 14:04:45 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0644468DE3B; Tue, 11 Mar 2025 16:04:42 +0200 (EET) Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DE95868E08E for ; Tue, 11 Mar 2025 16:04:34 +0200 (EET) Received: by mail.gandi.net (Postfix) with ESMTPSA id 13E93431EB for ; Tue, 11 Mar 2025 14:04:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1741701874; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OK3cuPsQPMYrhIj8sYwG6/q7hb5oTS65P1wJBKP/iPY=; b=AUCKv5VXO0BqAszf6aQ2TLUfpmqE1LYNoA04zaQHaNbC+MB/+aD8aom+89RSUj+tr/LqXK ElTB7BAGkf1ok3/abhyoaWccjA+tvVKbfVEABGfYhytqTEGep36KLiFz3PdFubTKKnLquX SlTNkT6vVPcSJ7bWxk+Ij+4lUEPOzW5cCX0JUpy36IAmkweRVuSDoYw2rncfJ+ApsWhtHP uVDxPF163AOyFEr+rWkdef4k0i0hjmILqnScbmGuaPoud/C17CUJM5bTu1NtM2aThT6kk/ VRB66MFiXRuHTQHx9PnB2ytHcdqUsG9d9OT+v2TNat1pLVuWTBKF2VulOArscQ== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Tue, 11 Mar 2025 15:04:33 +0100 Message-ID: <20250311140433.1658540-1-michael@niedermayer.cc> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 X-GND-State: clean X-GND-Score: -70 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvddvgedvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlhcuvffnffculdeftddmnecujfgurhephffvufffkffogggtgfesthekredtredtjeenucfhrhhomhepofhitghhrggvlhcupfhivgguvghrmhgrhigvrhcuoehmihgthhgrvghlsehnihgvuggvrhhmrgihvghrrdgttgeqnecuggftrfgrthhtvghrnhephfdvffegtdehheekieethfelgeffteffuddutefhvdeiffelffeiveetieeglefgnecukfhppeeguddrieeirdeijedruddufeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeguddrieeirdeijedruddufedphhgvlhhopehlohgtrghlhhhoshhtpdhmrghilhhfrhhomhepmhhitghhrggvlhesnhhivgguvghrmhgrhigvrhdrtggtpdhnsggprhgtphhtthhopedupdhrtghpthhtohepfhhfmhhpvghgqdguvghvvghlsehffhhmphgvghdrohhrgh X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH] avcodec/ffv1: Implement jeromes idea of making remap flip optional 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: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: VGhpcyBhbHNvIG1ha2VzIHJlbWFwIG9wdGlvbmFsICh3aGljaCBpcyBhIGdvb2QgaWRlYSBldmVu IGlmIHdlIGRlY2lkZSB0byBrZWVwIGZsaXAgZml4ZWQpCgpFZmZlY3Qgb24gY29tcHJlc3Npb24g KHVzaW5nIDIgcmF3bHNiLCBnb2xvbWIgcmljZSwgbGFyZ2UgY29udGV4dCBtb2RlbCB3aXRoIEFD RVNfT1RfVldHX1NhbXBsZUZyYW1lcwoKLXJ3LXItLS0tLSAxIG1pY2hhZWwgbWljaGFlbCA0OTkx MDEzMDYgTcOkciAxMSAxNDo1OCBmbG9hdC0zMDM1MDMtdHJ5M2QtbTIubnV0Ci1ydy1yLS0tLS0g MSBtaWNoYWVsIG1pY2hhZWwgNTAzNzAwMTk5IE3DpHIgMTEgMTQ6NTcgZmxvYXQtMzAzNTAzLXRy eTNkLW0xLm51dAotcnctci0tLS0tIDEgbWljaGFlbCBtaWNoYWVsIDUxODE1MDU3OCBNw6RyIDEx IDE0OjU3IGZsb2F0LTMwMzUwMy10cnkzZC1tMC5udXQKClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9mZnYx LmggICAgfCAgMSArCiBsaWJhdmNvZGVjL2ZmdjFkZWMuYyB8ICA5ICsrKysrLS0tLQogbGliYXZj b2RlYy9mZnYxZW5jLmMgfCAyMCArKysrKysrKysrKysrKysrKy0tLQogMyBmaWxlcyBjaGFuZ2Vk LCAyMyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29k ZWMvZmZ2MS5oIGIvbGliYXZjb2RlYy9mZnYxLmgKaW5kZXggMTg5MDA0Zjc5ODEuLjZjN2VmNDg3 MmExIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2ZmdjEuaAorKysgYi9saWJhdmNvZGVjL2ZmdjEu aApAQCAtMTQwLDYgKzE0MCw3IEBAIHR5cGVkZWYgc3RydWN0IEZGVjFDb250ZXh0IHsKICAgICB1 aW50OF90ICgqaW5pdGlhbF9zdGF0ZXNbTUFYX1FVQU5UX1RBQkxFU10pWzMyXTsKICAgICBpbnQg Y29sb3JzcGFjZTsKICAgICBpbnQgZmx0OworICAgIGludCByZW1hcF9tb2RlOwogCiAKICAgICBp bnQgdXNlMzJiaXQ7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2ZmdjFkZWMuYyBiL2xpYmF2Y29k ZWMvZmZ2MWRlYy5jCmluZGV4IDcyYzkzZmNmMGNkLi5lNTM0NTgzZDhkNiAxMDA2NDQKLS0tIGEv bGliYXZjb2RlYy9mZnYxZGVjLmMKKysrIGIvbGliYXZjb2RlYy9mZnYxZGVjLmMKQEAgLTIyOCw4 ICsyMjgsOCBAQCBzdGF0aWMgaW50IGRlY29kZV9zbGljZV9oZWFkZXIoY29uc3QgRkZWMUNvbnRl eHQgKmYsCiAgICAgICAgIH0KICAgICAgICAgaWYgKGYtPmNvbWJpbmVkX3ZlcnNpb24gPj0gMHg0 MDAwNCkgewogICAgICAgICAgICAgc2MtPnJlbWFwID0gZmZfZmZ2MV9nZXRfc3ltYm9sKGMsIHN0 YXRlLCAwKTsKLSAgICAgICAgICAgIGlmIChzYy0+cmVtYXAgPiAxVSB8fAotICAgICAgICAgICAg ICAgIHNjLT5yZW1hcCA9PSAxICYmICFmLT5mbHQpIHsKKyAgICAgICAgICAgIGlmIChzYy0+cmVt YXAgPiAyVSB8fAorICAgICAgICAgICAgICAgIHNjLT5yZW1hcCAmJiAhZi0+Zmx0KSB7CiAgICAg ICAgICAgICAgICAgYXZfbG9nKGYtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJ1bnN1cHBvcnRlZCBy ZW1hcCAlZFxuIiwgc2MtPnJlbWFwKTsKICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9J TlZBTElEREFUQTsKICAgICAgICAgICAgIH0KQEAgLTI1Myw2ICsyNTMsNyBAQCBzdGF0aWMgdm9p ZCBzbGljZV9zZXRfZGFtYWdlZChGRlYxQ29udGV4dCAqZiwgRkZWMVNsaWNlQ29udGV4dCAqc2Mp CiBzdGF0aWMgaW50IGRlY29kZV9yZW1hcChGRlYxQ29udGV4dCAqZiwgRkZWMVNsaWNlQ29udGV4 dCAqc2MpCiB7CiAgICAgaW50IHRyYW5zcGFyZW5jeSA9IGYtPnRyYW5zcGFyZW5jeTsKKyAgICBp bnQgZmxpcCA9IHNjLT5yZW1hcCA9PSAyID8gMHg3RkZGIDogMDsKIAogICAgIGZvciAoaW50IHA9 IDA7IHA8MyArIHRyYW5zcGFyZW5jeTsgcCsrKSB7CiAgICAgICAgIGludCBqID0gMDsKQEAgLTI2 NywxMyArMjY4LDEzIEBAIHN0YXRpYyBpbnQgZGVjb2RlX3JlbWFwKEZGVjFDb250ZXh0ICpmLCBG RlYxU2xpY2VDb250ZXh0ICpzYykKICAgICAgICAgICAgIGlmIChsdSkgewogICAgICAgICAgICAg ICAgIGx1IF49ICFydW47CiAgICAgICAgICAgICAgICAgd2hpbGUgKHJ1bi0tKSB7Ci0gICAgICAg ICAgICAgICAgICAgIHNjLT5mbHRtYXBbcF1baisrXSA9IGkgXiAoKGkmMHg4MDAwKSA/IDAgOiAw eDdGRkYpOworICAgICAgICAgICAgICAgICAgICBzYy0+Zmx0bWFwW3BdW2orK10gPSBpIF4gKChp JjB4ODAwMCkgPyAwIDogZmxpcCk7CiAgICAgICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGkgKz0gcnVu OwogICAgICAgICAgICAgICAgIGlmIChpICE9IDY1NTM2KQotICAgICAgICAgICAgICAgICAgICBz Yy0+Zmx0bWFwW3BdW2orK10gPSBpIF4gKChpJjB4ODAwMCkgPyAwIDogMHg3RkZGKTsKKyAgICAg ICAgICAgICAgICAgICAgc2MtPmZsdG1hcFtwXVtqKytdID0gaSBeICgoaSYweDgwMDApID8gMCA6 IGZsaXApOwogICAgICAgICAgICAgICAgIGx1IF49ICFydW47CiAgICAgICAgICAgICB9CiAgICAg ICAgIH0KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZmZ2MWVuYy5jIGIvbGliYXZjb2RlYy9mZnYx ZW5jLmMKaW5kZXggNGM5ZDI0N2JjZjEuLmJkM2Y5ODllODQ5IDEwMDY0NAotLS0gYS9saWJhdmNv ZGVjL2ZmdjFlbmMuYworKysgYi9saWJhdmNvZGVjL2ZmdjFlbmMuYwpAQCAtOTM5LDYgKzkzOSw5 IEBAIGF2X2NvbGQgaW50IGZmX2ZmdjFfZW5jb2RlX3NldHVwX3BsYW5lX2luZm8oQVZDb2RlY0Nv bnRleHQgKmF2Y3R4LAogICAgIH0KICAgICBhdl9hc3NlcnQwKHMtPmJpdHNfcGVyX3Jhd19zYW1w bGUgPj0gOCk7CiAKKyAgICBpZiAocy0+cmVtYXBfbW9kZSA8IDApCisgICAgICAgIHMtPnJlbWFw X21vZGUgPSBzLT5mbHQgPyAyIDogMDsKKwogICAgIHJldHVybiBhdl9waXhfZm10X2dldF9jaHJv bWFfc3ViX3NhbXBsZShwaXhfZm10LCAmcy0+Y2hyb21hX2hfc2hpZnQsICZzLT5jaHJvbWFfdl9z aGlmdCk7CiB9CiAKQEAgLTk5OSw3ICsxMDAyLDcgQEAgc3RhdGljIGludCBlbmNvZGVfaW5pdF9p bnRlcm5hbChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAKICAgICAgICAgZmZfYnVpbGRfcmFjX3N0 YXRlcygmcy0+c2xpY2VzW2pdLmMsIDAuMDUgKiAoMUxMIDw8IDMyKSwgMjU2IC0gOCk7CiAKLSAg ICAgICAgcy0+c2xpY2VzW2pdLnJlbWFwID0gcy0+Zmx0OworICAgICAgICBzLT5zbGljZXNbal0u cmVtYXAgPSBzLT5yZW1hcF9tb2RlOwogICAgIH0KIAogICAgIGlmICgocmV0ID0gZmZfZmZ2MV9p bml0X3NsaWNlc19zdGF0ZShzKSkgPCAwKQpAQCAtMTE1Nyw2ICsxMTYwLDcgQEAgc3RhdGljIHZv aWQgY2hvb3NlX3JjdF9wYXJhbXMoY29uc3QgRkZWMUNvbnRleHQgKmYsIEZGVjFTbGljZUNvbnRl eHQgKnNjLAogc3RhdGljIHZvaWQgZW5jb2RlX3JlbWFwKEZGVjFDb250ZXh0ICpmLCBGRlYxU2xp Y2VDb250ZXh0ICpzYykKIHsKICAgICBpbnQgdHJhbnNwYXJlbmN5ID0gZi0+dHJhbnNwYXJlbmN5 OworICAgIGludCBmbGlwID0gc2MtPnJlbWFwID09IDIgPyAweDdGRkYgOiAwOwogCiAgICAgZm9y IChpbnQgcD0gMDsgcDwzICsgdHJhbnNwYXJlbmN5OyBwKyspIHsKICAgICAgICAgaW50IGogPSAw OwpAQCAtMTE2NSw3ICsxMTY5LDcgQEAgc3RhdGljIHZvaWQgZW5jb2RlX3JlbWFwKEZGVjFDb250 ZXh0ICpmLCBGRlYxU2xpY2VDb250ZXh0ICpzYykKICAgICAgICAgaW50IHJ1biA9IDA7CiAgICAg ICAgIG1lbXNldChzdGF0ZSwgMTI4LCBzaXplb2Yoc3RhdGUpKTsKICAgICAgICAgZm9yIChpbnQg aT0gMDsgaTw2NTUzNjsgaSsrKSB7Ci0gICAgICAgICAgICBpbnQgcmkgPSBpIF4gKChpJjB4ODAw MCkgPyAwIDogMHg3RkZGKTsKKyAgICAgICAgICAgIGludCByaSA9IGkgXiAoKGkmMHg4MDAwKSA/ IDAgOiBmbGlwKTsKICAgICAgICAgICAgIGludCB1ID0gc2MtPmZsdG1hcFtwXVtyaV07CiAgICAg ICAgICAgICBzYy0+Zmx0bWFwW3BdW3JpXSA9IGo7CiAgICAgICAgICAgICBqKz0gdTsKQEAgLTEz MTYsNyArMTMyMCw3IEBAIHNpemVfdCBmZl9mZnYxX2VuY29kZV9idWZmZXJfc2l6ZShBVkNvZGVj Q29udGV4dCAqYXZjdHgpCiAgICAgbWF4c2l6ZSArPSBmLT5zbGljZV9jb3VudCAqIDgwMDsgLy9m b3Igc2xpY2UgaGVhZGVyIGFuZAogICAgIGlmIChmLT52ZXJzaW9uID4gMykgewogICAgICAgICBt YXhzaXplICo9IGYtPmJpdHNfcGVyX3Jhd19zYW1wbGUgKyAxOwotICAgICAgICBpZiAoZi0+Zmx0 KSAvL3JlbWFwIHRhYmxlCisgICAgICAgIGlmIChmLT5yZW1hcF9tb2RlKQogICAgICAgICAgICAg bWF4c2l6ZSArPSBmLT5zbGljZV9jb3VudCAqIDcwMDAwICogKDEgKyAyKmYtPmNocm9tYV9wbGFu ZXMgKyBmLT50cmFuc3BhcmVuY3kpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1heHNpemUgKz0g Zi0+c2xpY2VfY291bnQgKiAyICogKGF2Y3R4LT53aWR0aCArIGF2Y3R4LT5oZWlnaHQpOyAvL2Zv ciBidWcgd2l0aCBzbGljZXMgdGhhdCBjb2RlIHNvbWUgcGl4ZWxzIG1vcmUgdGhhbiBvbmNlCkBA IC0xNTA3LDYgKzE1MTEsMTYgQEAgc3RhdGljIGNvbnN0IEFWT3B0aW9uIG9wdGlvbnNbXSA9IHsK ICAgICAgICAgICAgIHsgLmk2NCA9IFFUQUJMRV9HVDhCSVQgfSwgSU5UX01JTiwgSU5UX01BWCwg VkUsIC51bml0ID0gInF0YWJsZSIgfSwKICAgICB7ICJyYXdsc2IiLCAibnVtYmVyIG9mIExTQnMg c3RvcmVkIFJBVyIsIE9GRlNFVChyYXdsc2IpLCBBVl9PUFRfVFlQRV9JTlQsCiAgICAgICAgICAg ICB7IC5pNjQgPSAwIH0sIDAsIDgsIFZFIH0sCisgICAgeyAicmVtYXBfbW9kZSIsICJSZW1hcCBN b2RlIiwgT0ZGU0VUKHJlbWFwX21vZGUpLCBBVl9PUFRfVFlQRV9JTlQsIHsgLmk2NCA9IC0xIH0s IC0xLCAyLCBWRSwgLnVuaXQgPSAicmVtYXBfbW9kZSIgfSwKKyAgICAgICAgeyAiYXV0byIsICJB dXRvbWF0aWMiLCAwLCBBVl9PUFRfVFlQRV9DT05TVCwKKyAgICAgICAgICAgIHsgLmk2NCA9IC0x IH0sIElOVF9NSU4sIElOVF9NQVgsIFZFLCAudW5pdCA9ICJyZW1hcF9tb2RlIiB9LAorICAgICAg ICB7ICJvZmYiLCAiRGlzYWJsZWQiLCAwLCBBVl9PUFRfVFlQRV9DT05TVCwKKyAgICAgICAgICAg IHsgLmk2NCA9ICAwIH0sIElOVF9NSU4sIElOVF9NQVgsIFZFLCAudW5pdCA9ICJyZW1hcF9tb2Rl IiB9LAorICAgICAgICB7ICJkdWFscmxlIiwgIkR1YWwgUkxFIiwgMCwgQVZfT1BUX1RZUEVfQ09O U1QsCisgICAgICAgICAgICB7IC5pNjQgPSAgMSB9LCBJTlRfTUlOLCBJTlRfTUFYLCBWRSwgLnVu aXQgPSAicmVtYXBfbW9kZSIgfSwKKyAgICAgICAgeyAiZmxpcGR1YWxybGUiLCAiRHVhbCBSTEUi LCAwLCBBVl9PUFRfVFlQRV9DT05TVCwKKyAgICAgICAgICAgIHsgLmk2NCA9ICAyIH0sIElOVF9N SU4sIElOVF9NQVgsIFZFLCAudW5pdCA9ICJyZW1hcF9tb2RlIiB9LAorCiAKICAgICB7IE5VTEwg fQogfTsKLS0gCjIuNDguMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9y ZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVu c3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVz dEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=