[PR] avutil/hwcontext_opencl: don't fall through between mapping types (PR #23953)

Kacper Michajłow via ffmpeg-devel <[email protected]> Wed, 29 Jul 2026 21:31:37 -0000
Newsgroups gmane.comp.video.ffmpeg.devel
Message-ID <178536069842.51.9154320050079577296@29965ddac10e>
UFIgIzIzOTUzIG9wZW5lZCBieSBLYWNwZXIgTWljaGFqxYJvdyAoa2FzcGVyOTMpClVSTDogaHR0
cHM6Ly9jb2RlLmZmbXBlZy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMzk1MwpQYXRjaCBVUkw6
IGh0dHBzOi8vY29kZS5mZm1wZWcub3JnL0ZGbXBlZy9GRm1wZWcvcHVsbHMvMjM5NTMucGF0Y2gK
CgpGcm9tIDQ3ZmFlYzAwNzg4MDhjZDkyZDVjYmJlM2U3YjExMjE4M2I3MDgwZGEgTW9uIFNlcCAx
NyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9LYWNwZXI9MjBNaWNoYWo9QzU9ODJvdz89
IDxrYXNwZXI5M0BnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjkgSnVsIDIwMjYgMjI6MDA6MzkgKzAy
MDAKU3ViamVjdDogW1BBVENIIDEvMl0gYXZ1dGlsL2h3Y29udGV4dF9vcGVuY2w6IGRvbid0IGZh
bGwgdGhyb3VnaCBiZXR3ZWVuCiBtYXBwaW5nIHR5cGVzCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRl
bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29k
aW5nOiA4Yml0CgpXaGVuIGEgbWFwcGluZyB0eXBlIGlzIHVuYXZhaWxhYmxlIHRoZSBjYXNlIGZl
bGwgaW50byB0aGUgbmV4dCBoYXJkd2FyZQp0eXBlJ3MgbWFwcGluZyBmdW5jdGlvbiBpbnN0ZWFk
IG9mIHJldHVybmluZyBFTk9TWVMuCgpTaWduZWQtb2ZmLWJ5OiBLYWNwZXIgTWljaGFqxYJvdyA8
a2FzcGVyOTNAZ21haWwuY29tPgotLS0KIGxpYmF2dXRpbC9od2NvbnRleHRfb3BlbmNsLmMgfCA2
ICsrKysrKwogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xp
YmF2dXRpbC9od2NvbnRleHRfb3BlbmNsLmMgYi9saWJhdnV0aWwvaHdjb250ZXh0X29wZW5jbC5j
CmluZGV4IDAzZjQ2MjM4YjIuLmU2YWE4ZGU2MGEgMTAwNjQ0Ci0tLSBhL2xpYmF2dXRpbC9od2Nv
bnRleHRfb3BlbmNsLmMKKysrIGIvbGliYXZ1dGlsL2h3Y29udGV4dF9vcGVuY2wuYwpAQCAtMjkz
NywzMiArMjkzNywzOCBAQCBzdGF0aWMgaW50IG9wZW5jbF9tYXBfdG8oQVZIV0ZyYW1lc0NvbnRl
eHQgKmh3ZmMsIEFWRnJhbWUgKmRzdCwKICAgICBjYXNlIEFWX1BJWF9GTVRfRFJNX1BSSU1FOgog
ICAgICAgICBpZiAocHJpdi0+YmVpZ25ldF9kcm1fbWFwcGluZ191c2FibGUpCiAgICAgICAgICAg
ICByZXR1cm4gb3BlbmNsX21hcF9mcm9tX2RybV9iZWlnbmV0KGh3ZmMsIGRzdCwgc3JjLCBmbGFn
cyk7CisgICAgICAgIGJyZWFrOwogI2VuZGlmCiAjaWYgSEFWRV9PUEVOQ0xfVkFBUElfQkVJR05F
VAogICAgIGNhc2UgQVZfUElYX0ZNVF9WQUFQSToKICAgICAgICAgaWYgKHByaXYtPmJlaWduZXRf
ZHJtX21hcHBpbmdfdXNhYmxlKQogICAgICAgICAgICAgcmV0dXJuIG9wZW5jbF9tYXBfZnJvbV92
YWFwaShod2ZjLCBkc3QsIHNyYywgZmxhZ3MpOworICAgICAgICBicmVhazsKICNlbmRpZgogI2lm
IEhBVkVfT1BFTkNMX1ZBQVBJX0lOVEVMX01FRElBCiAgICAgY2FzZSBBVl9QSVhfRk1UX1FTVjoK
ICAgICBjYXNlIEFWX1BJWF9GTVRfVkFBUEk6CiAgICAgICAgIGlmIChwcml2LT5xc3ZfbWFwcGlu
Z191c2FibGUpCiAgICAgICAgICAgICByZXR1cm4gb3BlbmNsX21hcF9mcm9tX3Fzdihod2ZjLCBk
c3QsIHNyYywgZmxhZ3MpOworICAgICAgICBicmVhazsKICNlbmRpZgogI2lmIEhBVkVfT1BFTkNM
X0RYVkEyCiAgICAgY2FzZSBBVl9QSVhfRk1UX0RYVkEyX1ZMRDoKICAgICAgICAgaWYgKHByaXYt
PmR4dmEyX21hcHBpbmdfdXNhYmxlKQogICAgICAgICAgICAgcmV0dXJuIG9wZW5jbF9tYXBfZnJv
bV9keHZhMihod2ZjLCBkc3QsIHNyYywgZmxhZ3MpOworICAgICAgICBicmVhazsKICNlbmRpZgog
I2lmIEhBVkVfT1BFTkNMX0QzRDExCiAgICAgY2FzZSBBVl9QSVhfRk1UX0QzRDExOgogICAgICAg
ICBpZiAocHJpdi0+ZDNkMTFfbWFwcGluZ191c2FibGUpCiAgICAgICAgICAgICByZXR1cm4gb3Bl
bmNsX21hcF9mcm9tX2QzZDExKGh3ZmMsIGRzdCwgc3JjLCBmbGFncyk7CisgICAgICAgIGJyZWFr
OwogI2VuZGlmCiAjaWYgSEFWRV9PUEVOQ0xfRFJNX0FSTQogICAgIGNhc2UgQVZfUElYX0ZNVF9E
Uk1fUFJJTUU6CiAgICAgICAgIGlmIChwcml2LT5kcm1fYXJtX21hcHBpbmdfdXNhYmxlKQogICAg
ICAgICAgICAgcmV0dXJuIG9wZW5jbF9tYXBfZnJvbV9kcm1fYXJtKGh3ZmMsIGRzdCwgc3JjLCBm
bGFncyk7CisgICAgICAgIGJyZWFrOwogI2VuZGlmCiAjaWYgSEFWRV9PUEVOQ0xfVklERU9UT09M
Qk9YCiAgICAgY2FzZSBBVl9QSVhfRk1UX1ZJREVPVE9PTEJPWDoKLS0gCjIuNTIuMAoKCkZyb20g
M2E4MTMwOTg1NWZhZDJlYWY4N2EzZjc2ZTA4MzM5M2FiOTUzNmExNyBNb24gU2VwIDE3IDAwOjAw
OjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0thY3Blcj0yME1pY2hhaj1DNT04Mm93Pz0gPGthc3Bl
cjkzQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyOSBKdWwgMjAyNiAyMjowMDo0NiArMDIwMApTdWJq
ZWN0OiBbUEFUQ0ggMi8yXSBhdnV0aWwvaHdjb250ZXh0X3FzdjogZml4IGZhbGwtdGhyb3VnaCBp
bgogcXN2X2ZpeGVkX3Bvb2xfbWFwX3RvKCkKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBl
OiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhi
aXQKClRoZSBicmVhayBvbmx5IGFwcGxpZWQgdG8gdGhlIG1hdGNoaW5nIGNhc2UsIHNvIGV2ZXJ5
IG5vbi1tYXRjaGluZwpzdXJmYWNlIGZlbGwgaW50byB0aGUgbmV4dCBjYXNlIGFuZCByZWludGVy
cHJldGVkIHRoZSBzYW1lIG1meEhETFBhaXIKdW5kZXIgYW5vdGhlciBBUEkuCgpTaWduZWQtb2Zm
LWJ5OiBLYWNwZXIgTWljaGFqxYJvdyA8a2FzcGVyOTNAZ21haWwuY29tPgotLS0KIGxpYmF2dXRp
bC9od2NvbnRleHRfcXN2LmMgfCAxNSArKysrKystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2
IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2h3
Y29udGV4dF9xc3YuYyBiL2xpYmF2dXRpbC9od2NvbnRleHRfcXN2LmMKaW5kZXggYjkyYzljYjBh
ZC4uMTg2NTc2ZDE4MiAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL2h3Y29udGV4dF9xc3YuYworKysg
Yi9saWJhdnV0aWwvaHdjb250ZXh0X3Fzdi5jCkBAIC0yMTU0LDEwICsyMTU0LDkgQEAgc3RhdGlj
IGludCBxc3ZfZml4ZWRfcG9vbF9tYXBfdG8oQVZIV0ZyYW1lc0NvbnRleHQgKmRzdF9jdHgsCiAg
ICAgICAgIGNhc2UgQVZfUElYX0ZNVF9WQUFQSToKICAgICAgICAgewogICAgICAgICAgICAgbWZ4
SERMUGFpciAqcGFpciA9IChtZnhIRExQYWlyKilod2N0eC0+c3VyZmFjZXNbaV0uRGF0YS5NZW1J
ZDsKLSAgICAgICAgICAgIGlmICgqKFZBU3VyZmFjZUlEKilwYWlyLT5maXJzdCA9PSAoVkFTdXJm
YWNlSUQpKHVpbnRwdHJfdClzcmMtPmRhdGFbM10pIHsKKyAgICAgICAgICAgIGlmICgqKFZBU3Vy
ZmFjZUlEKilwYWlyLT5maXJzdCA9PSAoVkFTdXJmYWNlSUQpKHVpbnRwdHJfdClzcmMtPmRhdGFb
M10pCiAgICAgICAgICAgICAgICAgaW5kZXggPSBpOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICNlbmRpZgogI2lm
IENPTkZJR19EM0QxMVZBCkBAIC0yMTY2LDIwICsyMTY1LDE4IEBAIHN0YXRpYyBpbnQgcXN2X2Zp
eGVkX3Bvb2xfbWFwX3RvKEFWSFdGcmFtZXNDb250ZXh0ICpkc3RfY3R4LAogICAgICAgICAgICAg
bWZ4SERMUGFpciAqcGFpciA9IChtZnhIRExQYWlyKilod2N0eC0+c3VyZmFjZXNbaV0uRGF0YS5N
ZW1JZDsKICAgICAgICAgICAgIGlmIChwYWlyLT5maXJzdCA9PSBzcmMtPmRhdGFbMF0KICAgICAg
ICAgICAgICAgICAmJiAocGFpci0+c2Vjb25kID09IHNyYy0+ZGF0YVsxXQotICAgICAgICAgICAg
ICAgICAgICB8fCAocGFpci0+c2Vjb25kID09IChtZnhNZW1JZClNRlhfSU5GSU5JVEUgJiYgc3Jj
LT5kYXRhWzFdID09ICh1aW50OF90ICopMCkpKSB7CisgICAgICAgICAgICAgICAgICAgIHx8IChw
YWlyLT5zZWNvbmQgPT0gKG1meE1lbUlkKU1GWF9JTkZJTklURSAmJiBzcmMtPmRhdGFbMV0gPT0g
KHVpbnQ4X3QgKikwKSkpCiAgICAgICAgICAgICAgICAgaW5kZXggPSBpOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
ICNlbmRpZgogI2lmIENPTkZJR19EWFZBMgogICAgICAgICBjYXNlIEFWX1BJWF9GTVRfRFhWQTJf
VkxEOgogICAgICAgICB7CiAgICAgICAgICAgICBtZnhIRExQYWlyICpwYWlyID0gKG1meEhETFBh
aXIqKWh3Y3R4LT5zdXJmYWNlc1tpXS5EYXRhLk1lbUlkOwotICAgICAgICAgICAgaWYgKHBhaXIt
PmZpcnN0ID09IHNyYy0+ZGF0YVszXSkgeworICAgICAgICAgICAgaWYgKHBhaXItPmZpcnN0ID09
IHNyYy0+ZGF0YVszXSkKICAgICAgICAgICAgICAgICBpbmRleCA9IGk7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
I2VuZGlmCiAgICAgICAgIH0KLS0gCjIuNTIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdCAtLSBmZm1wZWct
ZGV2ZWxAZmZtcGVnLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGZmbXBlZy1k
ZXZlbC1sZWF2ZUBmZm1wZWcub3JnCg==