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 34EDB4AF39 for ; Tue, 25 Jun 2024 17:03:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A409468D58F; Tue, 25 Jun 2024 20:03:55 +0300 (EEST) Received: from sender-op-o11.zoho.eu (sender-op-o11.zoho.eu [136.143.169.11]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9CE4068BD43 for ; Tue, 25 Jun 2024 20:03:49 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; t=1719335026; cv=none; d=zohomail.eu; s=zohoarc; b=XzAHsPGnxE/kd8NpZdZXiQ2XACDV4/qWftlds3sXTVskx4km5VuQIp01EXXD70mo8/nhI1x0l9Cfapeb50rkdYjJ1UhnV1vuqtTLWsXQJs15rQmvx8zMDiQWFc0TItGOlSSEiuFbXarRrFzz7lu7mNuzom8xNviZTTOKkzcXpOA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1719335026; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=6c+JQmEbd4Evr7od4Ng7M4jqDgvolLnntVPFUgTnN6E=; b=aeskZ96xuM2aI9/kvZyzPb1FcB1Z90Y7UiH34xvKjzo7TFXaQzCh3HQ6uwiczjpCVJtonTEmjpIs/JsfhQTKpR19pNNchBpV4ATZUmPpNlT88B1k7/ySaps6Wxn7B2y2xBpYOimncrQWvGWms20q9tyIEQbL+qVKlajBSyur3II= ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass header.i=frankplowman.com; spf=pass smtp.mailfrom=post@frankplowman.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1719335026; s=zmail; d=frankplowman.com; i=post@frankplowman.com; h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To; bh=6c+JQmEbd4Evr7od4Ng7M4jqDgvolLnntVPFUgTnN6E=; b=F57Rb4DplyjnXKkY5yd1BKPT698kwkpU5+6KaL9awzKhHAxpztcj/RcAtT+Ahc0W o/ifwj49Bi8pzmSSFRiX/D58BIIme+1tDmnBoonxuSfpesrJviQltYfod0moxnBBJkN gWVYe6+0GAETZWtaUsCTFEaLzDc8JfQ82bQWxCVw= Received: by mx.zoho.eu with SMTPS id 171933501915210.760303880580636; Tue, 25 Jun 2024 19:03:39 +0200 (CEST) From: Frank Plowman To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jun 2024 18:02:02 +0100 Message-ID: <20240625170322.42781-1-post@frankplowman.com> X-Mailer: git-send-email 2.45.1 MIME-Version: 1.0 X-ZohoMailClient: External Subject: [FFmpeg-devel] [PATCH v2] lavc/vvc: Validate IBC block vector 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: Frank Plowman 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: RnJvbSBILjI2NiAoVjMpICgwOS8yMDIzKSBwLiAzMjE6CgpJdCBpcyBhIHJlcXVpcmVtZW50IG9m IGJpdHN0cmVhbSBjb25mb3JtYW5jZSB0aGF0IHRoZSBsdW1hIGJsb2NrCnZlY3RvciBidkwgc2hh bGwgb2JleSB0aGUgZm9sbG93aW5nIGNvbnN0cmFpbnRzOgotIEN0YlNpemVZIGlzIGdyZWF0ZXIg dGhhbiBvciBlcXVhbCB0bwooKHlDYiArIChidkxbIDEgXSA+PiA0KSkgJiAoQ3RiU2l6ZVkg4oiS IDEpKSArIGNiSGVpZ2h0CgpUaGlzIHBhdGNoIGNoZWNrcyB0aGlzIGlzIHRydWUsIHdoaWNoIGZp eGVzIGNyYXNoZXMgb24gZnV6emVkCmJpdHN0cmVhbXMuCgpTaWduZWQtb2ZmLWJ5OiBGcmFuayBQ bG93bWFuIDxwb3N0QGZyYW5rcGxvd21hbi5jb20+Ci0tLQpDaGFuZ2VzIHNpbmNlIHYxOgoqIFBl cmZvcm0gdGhpcyBjaGVjayB3aGVuIHRoZSBJQkMgYmxvY2sgdmVjdG9ycyBhcmUgZGVyaXZlZCwg cmF0aGVyIHRoYW4KICB3aGVuIHRoZXkgYXJlIGZpcnN0IHVzZWQuCgogbGliYXZjb2RlYy92dmMv Y3R1LmMgfCAxOSArKysrKysrKysrKysrKystLS0tCiBsaWJhdmNvZGVjL3Z2Yy9tdnMuYyB8IDIx ICsrKysrKysrKysrKysrKysrKystLQogbGliYXZjb2RlYy92dmMvbXZzLmggfCAgNCArKy0tCiAz IGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy92dmMvY3R1LmMgYi9saWJhdmNvZGVjL3Z2Yy9jdHUuYwppbmRleCA3 NTJhMDZlMmY1Li4xYTRjZWFmYzI1IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3Z2Yy9jdHUuYwor KysgYi9saWJhdmNvZGVjL3Z2Yy9jdHUuYwpAQCAtMTQ0NCwyMCArMTQ0NCwyNSBAQCBzdGF0aWMg dm9pZCBtZXJnZV9kYXRhX2Jsb2NrKFZWQ0xvY2FsQ29udGV4dCAqbGMpCiAgICAgfQogfQogCi1z dGF0aWMgdm9pZCBtZXJnZV9kYXRhX2liYyhWVkNMb2NhbENvbnRleHQgKmxjKQorc3RhdGljIGlu dCBtZXJnZV9kYXRhX2liYyhWVkNMb2NhbENvbnRleHQgKmxjKQogewogICAgIGNvbnN0IFZWQ0Zy YW1lQ29udGV4dCogZmMgPSBsYy0+ZmM7CiAgICAgY29uc3QgVlZDU1BTKiBzcHMgICAgICAgICA9 IGZjLT5wcy5zcHM7CiAgICAgTW90aW9uSW5mbyAqbWkgICAgICAgICAgICA9ICZsYy0+Y3UtPnB1 Lm1pOwogICAgIGludCBtZXJnZV9pZHggICAgICAgICAgICAgPSAwOworICAgIGludCByZXQ7CiAK ICAgICBtaS0+cHJlZF9mbGFnID0gUEZfSUJDOwogCiAgICAgaWYgKHNwcy0+bWF4X251bV9pYmNf bWVyZ2VfY2FuZCA+IDEpCiAgICAgICAgIG1lcmdlX2lkeCA9IGZmX3Z2Y19tZXJnZV9pZHgobGMp OwogCi0gICAgZmZfdnZjX2x1bWFfbXZfbWVyZ2VfaWJjKGxjLCBtZXJnZV9pZHgsICZtaS0+bXZb TDBdWzBdKTsKKyAgICByZXQgPSBmZl92dmNfbHVtYV9tdl9tZXJnZV9pYmMobGMsIG1lcmdlX2lk eCwgJm1pLT5tdltMMF1bMF0pOworICAgIGlmIChyZXQpCisgICAgICAgIHJldHVybiByZXQ7CiAg ICAgZmZfdnZjX3N0b3JlX212KGxjLCBtaSk7CisKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGlj IGludCBobHNfbWVyZ2VfZGF0YShWVkNMb2NhbENvbnRleHQgKmxjKQpAQCAtMTQ2NiwxMSArMTQ3 MSwxNCBAQCBzdGF0aWMgaW50IGhsc19tZXJnZV9kYXRhKFZWQ0xvY2FsQ29udGV4dCAqbGMpCiAg ICAgY29uc3QgVlZDUEggICpwaCAgICAgICAgICAgID0gJmZjLT5wcy5waDsKICAgICBjb25zdCBD b2RpbmdVbml0ICpjdSAgICAgICAgPSBsYy0+Y3U7CiAgICAgUHJlZGljdGlvblVuaXQgKnB1ICAg ICAgICAgID0gJmxjLT5jdS0+cHU7CisgICAgaW50IHJldDsKIAogICAgIHB1LT5tZXJnZV9ncG1f ZmxhZyA9IDA7CiAgICAgcHUtPm1pLm51bV9zYl94ID0gcHUtPm1pLm51bV9zYl95ID0gMTsKICAg ICBpZiAoY3UtPnByZWRfbW9kZSA9PSBNT0RFX0lCQykgewotICAgICAgICBtZXJnZV9kYXRhX2li YyhsYyk7CisgICAgICAgIHJldCA9IG1lcmdlX2RhdGFfaWJjKGxjKTsKKyAgICAgICAgaWYgKHJl dCkKKyAgICAgICAgICAgIHJldHVybiByZXQ7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKHBo LT5tYXhfbnVtX3N1YmJsb2NrX21lcmdlX2NhbmQgPiAwICYmIGN1LT5jYl93aWR0aCA+PSA4ICYm IGN1LT5jYl9oZWlnaHQgPj0gOCkKICAgICAgICAgICAgIHB1LT5tZXJnZV9zdWJibG9ja19mbGFn ID0gZmZfdnZjX21lcmdlX3N1YmJsb2NrX2ZsYWcobGMpOwpAQCAtMTU5Niw2ICsxNjA0LDcgQEAg c3RhdGljIGludCBtdnBfZGF0YV9pYmMoVlZDTG9jYWxDb250ZXh0ICpsYykKICAgICBpbnQgbXZw X2wwX2ZsYWcgICAgICAgICAgID0gMDsKICAgICBpbnQgYW12cl9zaGlmdCAgICAgICAgICAgID0g NDsKICAgICBNdiAqbXYgICAgICAgICAgICAgICAgICAgID0gJm1pLT5tdltMMF1bMF07CisgICAg aW50IHJldDsKIAogICAgIG1pLT5wcmVkX2ZsYWcgPSBQRl9JQkM7CiAgICAgbWktPm51bV9zYl94 ICA9IDE7CkBAIC0xNjA3LDcgKzE2MTYsOSBAQCBzdGF0aWMgaW50IG12cF9kYXRhX2liYyhWVkNM b2NhbENvbnRleHQgKmxjKQogICAgIGlmIChzcHMtPnItPnNwc19hbXZyX2VuYWJsZWRfZmxhZyAm JiAobXYtPnggfHwgbXYtPnkpKQogICAgICAgICBhbXZyX3NoaWZ0ID0gZmZfdnZjX2FtdnJfc2hp ZnQobGMsIHB1LT5pbnRlcl9hZmZpbmVfZmxhZywgY3UtPnByZWRfbW9kZSwgMSk7CiAKLSAgICBm Zl92dmNfbXZwX2liYyhsYywgbXZwX2wwX2ZsYWcsIGFtdnJfc2hpZnQsIG12KTsKKyAgICByZXQg PSBmZl92dmNfbXZwX2liYyhsYywgbXZwX2wwX2ZsYWcsIGFtdnJfc2hpZnQsIG12KTsKKyAgICBp ZiAocmV0KQorICAgICAgICByZXR1cm4gcmV0OwogICAgIGZmX3Z2Y19zdG9yZV9tdihsYywgbWkp OwogCiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Z2Yy9tdnMuYyBiL2xp YmF2Y29kZWMvdnZjL212cy5jCmluZGV4IDQyNTY0YjNlNmYuLjE3ODhhNzE1MGIgMTAwNjQ0Ci0t LSBhL2xpYmF2Y29kZWMvdnZjL212cy5jCisrKyBiL2xpYmF2Y29kZWMvdnZjL212cy5jCkBAIC0x Njk1LDE3ICsxNjk1LDM0IEBAIHN0YXRpYyB2b2lkIGliY19tZXJnZV9jYW5kaWRhdGVzKFZWQ0xv Y2FsQ29udGV4dCAqbGMsIGNvbnN0IGludCBtZXJnZV9pZHgsIE12ICptCiAgICAgbWVtc2V0KG12 LCAwLCBzaXplb2YoKm12KSk7CiB9CiAKLXZvaWQgZmZfdnZjX212cF9pYmMoVlZDTG9jYWxDb250 ZXh0ICpsYywgY29uc3QgaW50IG12cF9sMF9mbGFnLCBjb25zdCBpbnQgYW12cl9zaGlmdCwgTXYg Km12KQorc3RhdGljIGludCBpYmNfY2hlY2tfbXYoVlZDTG9jYWxDb250ZXh0ICpsYywgTXYgKm12 KQoreworICAgIGNvbnN0IFZWQ0ZyYW1lQ29udGV4dCAqZmMgPSBsYy0+ZmM7CisgICAgY29uc3Qg VlZDU1BTICpzcHMgICAgICAgICA9IGxjLT5mYy0+cHMuc3BzOworICAgIGNvbnN0IENvZGluZ1Vu aXQgKmN1ICAgICAgPSBsYy0+Y3U7CisgICAgY29uc3QgTXYgKmJ2ICAgICAgICAgICAgICA9ICZj dS0+cHUubWkubXZbTDBdWzBdOworCisgICAgaWYgKHNwcy0+Y3RiX3NpemVfeSA8ICgoY3UtPnkw ICsgKGJ2LT55ID4+IDQpKSAmIChzcHMtPmN0Yl9zaXplX3kgLSAxKSkgKyBjdS0+Y2JfaGVpZ2h0 KSB7CisgICAgICAgIGF2X2xvZyhmYy0+bG9nX2N0eCwgQVZfTE9HX0VSUk9SLCAiSUJDIHJlZ2lv biBzcGFucyBtdWx0aXBsZSBDVEJzLlxuIik7CisgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFM SUREQVRBOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCitpbnQgZmZfdnZjX212cF9pYmMo VlZDTG9jYWxDb250ZXh0ICpsYywgY29uc3QgaW50IG12cF9sMF9mbGFnLCBjb25zdCBpbnQgYW12 cl9zaGlmdCwgTXYgKm12KQogewogICAgIExPQ0FMX0FMSUdORURfOChNdiwgbXZwLCBbMV0pOwog CiAgICAgaWJjX21lcmdlX2NhbmRpZGF0ZXMobGMsIG12cF9sMF9mbGFnLCBtdnApOwogICAgIGli Y19hZGRfbXZwKG12LCBtdnAsIGFtdnJfc2hpZnQpOworICAgIHJldHVybiBpYmNfY2hlY2tfbXYo bGMsIG12KTsKIH0KIAotdm9pZCBmZl92dmNfbHVtYV9tdl9tZXJnZV9pYmMoVlZDTG9jYWxDb250 ZXh0ICpsYywgY29uc3QgaW50IG1lcmdlX2lkeCwgTXYgKm12KQoraW50IGZmX3Z2Y19sdW1hX212 X21lcmdlX2liYyhWVkNMb2NhbENvbnRleHQgKmxjLCBjb25zdCBpbnQgbWVyZ2VfaWR4LCBNdiAq bXYpCiB7CiAgICAgaWJjX21lcmdlX2NhbmRpZGF0ZXMobGMsIG1lcmdlX2lkeCwgbXYpOworICAg IHJldHVybiBpYmNfY2hlY2tfbXYobGMsIG12KTsKIH0KIAogc3RhdGljIGludCBhZmZpbmVfbXZw X2NvbnN0cnVjdGVkX2NwKE5laWdoYm91ckNvbnRleHQgKmN0eCwKZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvdnZjL212cy5oIGIvbGliYXZjb2RlYy92dmMvbXZzLmgKaW5kZXggM2YwYzhiMDhlOS4u YjIyNDJiMmE0ZCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy92dmMvbXZzLmgKKysrIGIvbGliYXZj b2RlYy92dmMvbXZzLmgKQEAgLTMwLDkgKzMwLDkgQEAgdm9pZCBmZl92dmNfY2xpcF9tdihNdiAq bXYpOwogdm9pZCBmZl92dmNfbXZfc2NhbGUoTXYgKmRzdCwgY29uc3QgTXYgKnNyYywgaW50IHRk LCBpbnQgdGIpOwogdm9pZCBmZl92dmNfbHVtYV9tdl9tZXJnZV9tb2RlKFZWQ0xvY2FsQ29udGV4 dCAqbGMsIGludCBtZXJnZV9pZHgsIGludCBjaWlwX2ZsYWcsIE12RmllbGQgKm12KTsKIHZvaWQg ZmZfdnZjX2x1bWFfbXZfbWVyZ2VfZ3BtKFZWQ0xvY2FsQ29udGV4dCAqbGMsIGNvbnN0IGludCBt ZXJnZV9ncG1faWR4WzJdLCBNdkZpZWxkICptdik7Ci12b2lkIGZmX3Z2Y19sdW1hX212X21lcmdl X2liYyhWVkNMb2NhbENvbnRleHQgKmxjLCBpbnQgbWVyZ2VfaWR4LCBNdiAqbXYpOworaW50IGZm X3Z2Y19sdW1hX212X21lcmdlX2liYyhWVkNMb2NhbENvbnRleHQgKmxjLCBpbnQgbWVyZ2VfaWR4 LCBNdiAqbXYpOwogdm9pZCBmZl92dmNfbXZwKFZWQ0xvY2FsQ29udGV4dCAqbGMsIGNvbnN0IGlu dCAqbXZwX2x4X2ZsYWcsIGNvbnN0IGludCBhbXZyX3NoaWZ0LCAgTW90aW9uSW5mbyAqbWkpOwot dm9pZCBmZl92dmNfbXZwX2liYyhWVkNMb2NhbENvbnRleHQgKmxjLCBpbnQgbXZwX2wwX2ZsYWcs IGludCBhbXZyX3NoaWZ0LCBNdiAqbXYpOworaW50IGZmX3Z2Y19tdnBfaWJjKFZWQ0xvY2FsQ29u dGV4dCAqbGMsIGludCBtdnBfbDBfZmxhZywgaW50IGFtdnJfc2hpZnQsIE12ICptdik7CiB2b2lk IGZmX3Z2Y19zYl9tdl9tZXJnZV9tb2RlKFZWQ0xvY2FsQ29udGV4dCAqbGMsIGludCBtZXJnZV9z dWJibG9ja19pZHgsIFByZWRpY3Rpb25Vbml0ICpwdSk7CiB2b2lkIGZmX3Z2Y19hZmZpbmVfbXZw KFZWQ0xvY2FsQ29udGV4dCAqbGMsIGNvbnN0IGludCAqbXZwX2x4X2ZsYWcsIGNvbnN0IGludCBh bXZyX3NoaWZ0LCBNb3Rpb25JbmZvKiBtaSk7CiB2b2lkIGZmX3Z2Y19zdG9yZV9zYl9tdnMoY29u c3QgVlZDTG9jYWxDb250ZXh0ICpsYywgUHJlZGljdGlvblVuaXQgKnB1KTsKLS0gCjIuNDUuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRl dmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5v cmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBs aW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGgg c3ViamVjdCAidW5zdWJzY3JpYmUiLgo=