[PR] avcodec/libsvtav1 : make eb_receive_packet drain available packets before demanding new input (PR #23979)
cdcxd via ffmpeg-devel <[email protected]> Sun, 02 Aug 2026 05:56:03 -0000
| Newsgroups | gmane.comp.video.ffmpeg.devel |
|---|---|
| Message-ID | <178565016411.59.15068952322405573249@29965ddac10e> |
UFIgIzIzOTc5IG9wZW5lZCBieSBjZGN4ZApVUkw6IGh0dHBzOi8vY29kZS5mZm1wZWcub3JnL0ZG bXBlZy9GRm1wZWcvcHVsbHMvMjM5NzkKUGF0Y2ggVVJMOiBodHRwczovL2NvZGUuZmZtcGVnLm9y Zy9GRm1wZWcvRkZtcGVnL3B1bGxzLzIzOTc5LnBhdGNoCgojIFN1bW1hcnkgb2YgY2hhbmdlcw0K DQpDaGFuZ2UgdGhlIGViX3JlY2VpdmVfcGFja2V0IHRvIGRyYWluIGF2YWlsYWJsZSBwYWNrZXQg d2hlbiBwb3NzaWJsZSwgbm90IG9ubHkgYXR0ZW1wdCBhZnRlciBlYl9zZW5kX2ZyYW1lDQoNClJl YXNvbjogDQoNClRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9ubHkgYXR0ZW1wdHMgc3Z0X2F2 MV9lbmNfZ2V0X3BhY2tldCBhZnRlciBzdWNjZXNzZnVsIGZmX2VuY29kZV9nZXRfZnJhbWUgKyBl Yl9zZW5kX2ZyYW1lIC4gIE1lYW5pbmcgd2UgY2FuIG9ubHkgZ2V0IDAgb3IgMSBwYWNrZXQgYWZ0 ZXIgc2VuZGluZyBhIGZyYW1lLiBUaGUgdW5oYXJ2ZXN0ZWQgcGFja2V0IGNvdW50IHdpbGwgbmV2 ZXIgZGVjcmVhc2UuIEl0IHdvbid0IGNhdGNoIHVwIGJ1cnN0IG91dHB1dCBwYWNrZXRzIGVpdGhl ci4gDQoNClNWVC1BVjEgcmVsZWFzZXMgcGFja2V0cyBpbiBtaW5pLUdPUCBzaXplZCBidXJzdHMg 4oCUIG1lYXN1cmVkIGF0IHVwIHRvIDM5IGF0IG9uY2Ugd2l0aCBgNjQweDM2MCwgbHA9MTpoaWVy YXJjaGljYWwtbGV2ZWxzPTU6bG9va2FoZWFkPTEyMGAuIFNvIGZpbmlzaGVkIHBhY2tldHMgYXJl IHdpdGhoZWxkIGZyb20gdGhlIGFwcGxpY2F0aW9uIHVudGlsIGl0IHN1cHBsaWVzIG1vcmUgaW5w dXQuICBDYW4ndCBkcmFpbiBpdCBhc2FwLg0KDQpDaGFuZ2VzOg0KDQpJIGNoYW5nZWQgaXQgdG8g YWx3YXlzIHRyeSBzdnRfYXYxX2VuY19nZXRfcGFja2V0IGlmIHBvc3NpYmxlLiAgSW4gdGhlIExP V19ERUxBWSBhbmQgcnRjIG1vZGUgKGF2YWlsYWJsZSBzaW5jZSB2My4xLjApLCB0aGUgZnVuY3Rp b24gd2lsbCBibG9jaywgc28gd2UgY2FuJ3QgYXR0ZW1wdCBpdC4gSWYgRUJfTm9FcnJvckVtcHR5 UXVldWUgaXMgcmV0dXJuZWQsIGl0IGZhbGx0aHJvdWdoIHRvIHRoZSBzZW5kIGZyYW1lIGFzIGJl Zm9yZS4gIE90aGVyd2lzZSBpdCBqdXN0IHJldHVybnMgdGhlIHBhY2tldCBhbmQgd2FpdCBmb3Ig bmV4dCBhdmNvZGVjX3JlY2VpdmVfcGFja2V0IGNhbGwgDQoNCiMgVmVyaWZpY2F0aW9uDQotIGZm bXBlZyBjbGksIEkgYnVpbHQgdGhlIHBhdGNoZWQgb25lIGxvY2FsbHksIGFza2VkIGNvZGluZyBh Z2VudCB0byBkcmFmdCBieXRlLWlkZW50aWNhbCBjb21wYXJpc29uLiBJdCBkaWQgcGFzcywgdGhl IHNjcmlwdCBwcm92ZW5hbmNlIGlzICBodHRwczovL2NvZGUuZmZtcGVnLm9yZy9jZGN4ZC9GRm1w ZWcvc3JjL2JyYW5jaC9saWJzdnRhdjEtZHJhaW4tZmlyc3QtcHJvdmVuYW5jZS92ZXJpZmljYXRp b25fcHJvdmVuYW5jZS92ZXJpZnkuc2gNCg0KPCEtLQ0KSWYgdGhpcyBQUiByZXF1aXJlcyBuZXcg RkFURSB0ZXN0IHNhbXBsZXMsIGF0dGFjaCB0aGVtIHRvIHRoZSBQUiBhbmQNCmxpc3QgdGhlaXIg dGFyZ2V0IHBhdGhzIGJlbG93IChyZWxhdGl2ZSB0byB0aGUgZmF0ZS1zdWl0ZSByb290KS4NCg0K QXR0YWNoZWQgZmlsZW5hbWVzIG11c3QgbWF0Y2ggdGhlIHNhbXBsZSdzIGZpbGVuYW1lOg0KDQpg YGBmYXRlLXNhbXBsZXMNCiMgZS5nLiB2b3JiaXMvbmV3LXNhbXBsZS5vZ2cNCmBgYA0KLS0+DQoK CgpGcm9tIDBmNDM1OTkyODk3MDFhNzI1NGE5ODQ2Y2MwYjgyMGEyY2FhODRmNTAgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IGNkb25nIDxjeGRvbmc5M0BnbWFpbC5jb20+CkRhdGU6IFNh dCwgMSBBdWcgMjAyNiAyMjo1MDowMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGF2Y29kZWMvbGli c3Z0YXYxIDogbWFrZSBlYl9yZWNlaXZlX3BhY2tldCBkcmFpbiBhdmFpbGFibGUKIHBhY2tldHMg YmVmb3JlIGRlbWFuZGluZyBuZXcgaW5wdXQKCi0tLQogbGliYXZjb2RlYy9saWJzdnRhdjEuYyB8 IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp YmF2Y29kZWMvbGlic3Z0YXYxLmMgYi9saWJhdmNvZGVjL2xpYnN2dGF2MS5jCmluZGV4IDBiY2Mx NzYyNDMuLjNmZTI3YzViN2UgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbGlic3Z0YXYxLmMKKysr IGIvbGliYXZjb2RlYy9saWJzdnRhdjEuYwpAQCAtNjUzLDIyICs2NTMsNTMgQEAgc3RhdGljIGlu dCBlYl9yZWNlaXZlX3BhY2tldChBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWUGFja2V0ICpwa3Qp CiAgICAgRWJFcnJvclR5cGUgc3Z0X3JldDsKICAgICBBVkJ1ZmZlclJlZiAqcmVmOwogICAgIGlu dCByZXQgPSAwOworICAgIGludCBkcmFpbl9wYWNrZXRfZmlyc3QsIGhhdmVfcGFja2V0ID0gMDsK IAogICAgIGlmIChzdnRfZW5jLT5lb3NfZmxhZyA9PSBFT1NfUkVDRUlWRUQpCiAgICAgICAgIHJl dHVybiBBVkVSUk9SX0VPRjsKIAotICAgIHJldCA9IGZmX2VuY29kZV9nZXRfZnJhbWUoYXZjdHgs IGZyYW1lKTsKLSAgICBpZiAocmV0IDwgMCAmJiByZXQgIT0gQVZFUlJPUl9FT0YpCi0gICAgICAg IHJldHVybiByZXQ7Ci0gICAgaWYgKHJldCA9PSBBVkVSUk9SX0VPRikKLSAgICAgICAgZnJhbWUg PSBOVUxMOworICAgIC8qIFRha2UgYW55IGF2YWlsYWJsZSBwYWNrZXQsIGRvbid0IGxldCB0aGVt IGFjY3VtdWxhdGUgaW4gb3V0cHV0IGZpZm8uCisgICAgICoKKyAgICAgKiBzdnRfYXYxX2VuY19n ZXRfcGFja2V0KCkgaXMgZG9jdW1lbnRlZCBpbiBFYlN2dEF2MUVuYy5oIHRvIGJsb2NrIHdoZW4K KyAgICAgKiBwaWNfc2VuZF9kb25lIGlzIHNldCBvciB3aGVuIHRoZSBsaWJyYXJ5IHJ1bnMgaW4g bG93IGRlbGF5LCBzbyBvbmx5IHBvbGwKKyAgICAgKiBhaGVhZCBvZiBzZW5kaW5nIHdoZW4gaXQg aXMgZ3VhcmFudGVlZCBub3QgdG8uIExvdyBkZWxheSBnYWluZWQgdGhhdAorICAgICAqIGJlaGF2 aW91ciBpbiB2Mi4zLjAsIHRlc3RpbmcgZm9yIGl0IG9uIG9sZGVyIHZlcnNpb25zIGlzIG1lcmVs eQorICAgICAqIGNvbnNlcnZhdGl2ZS4gVGhlIGxpYnJhcnkncyBjb3B5X2FwaV9mcm9tX2FwcCgp IGZvcmNlcyBsb3cgZGVsYXkgZm9yIHJ0YworICAgICAqIHdpdGhvdXQgcmVmbGVjdGluZyBpdCBp biB0aGUgY29uZmlndXJhdGlvbiB3ZSBob2xkLCBoZW5jZSB0aGUgc2VwYXJhdGUKKyAgICAgKiBj aGVjay4KKyAgICAgKi8KKyAgICBkcmFpbl9wYWNrZXRfZmlyc3QgPSBzdnRfZW5jLT5lb3NfZmxh ZyA9PSBFT1NfTk9UX1JFQUNIRUQgJiYKKyNpZiBTVlRfQVYxX0NIRUNLX1ZFUlNJT04oNCwgMSwg MCkKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdnRfZW5jLT5lbmNfcGFyYW1zLnByZWRfc3Ry dWN0dXJlICE9IExPV19ERUxBWQorI2Vsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBM T1dfREVMQVkgaXMgbm90IGV4cG9ydGVkIGJlZm9yZSB2NC4xLjAgKi8KKyAgICAgICAgICAgICAg ICAgICAgICAgICBzdnRfZW5jLT5lbmNfcGFyYW1zLnByZWRfc3RydWN0dXJlICE9IDEKKyNlbmRp ZgorI2lmIFNWVF9BVjFfQ0hFQ0tfVkVSU0lPTigzLCAxLCAwKQorICAgICAgICAgICAgICAgICAg ICAgICAgICYmICFzdnRfZW5jLT5lbmNfcGFyYW1zLnJ0YworI2VuZGlmCisgICAgICAgICAgICAg ICAgICAgICAgICAgOwogCi0gICAgcmV0ID0gZWJfc2VuZF9mcmFtZShhdmN0eCwgZnJhbWUpOwot ICAgIGlmIChyZXQgPCAwKQotICAgICAgICByZXR1cm4gcmV0OwotICAgIGF2X2ZyYW1lX3VucmVm KHN2dF9lbmMtPmZyYW1lKTsKKyAgICBpZiAoZHJhaW5fcGFja2V0X2ZpcnN0KSB7CisgICAgICAg IHN2dF9yZXQgPSBzdnRfYXYxX2VuY19nZXRfcGFja2V0KHN2dF9lbmMtPnN2dF9oYW5kbGUsICZo ZWFkZXJQdHIsIHN2dF9lbmMtPmVvc19mbGFnKTsKKyAgICAgICAgaGF2ZV9wYWNrZXQgPSBzdnRf cmV0ICE9IEVCX05vRXJyb3JFbXB0eVF1ZXVlOworICAgIH0KKworICAgIGlmICghaGF2ZV9wYWNr ZXQpIHsKKyAgICAgICAgcmV0ID0gZmZfZW5jb2RlX2dldF9mcmFtZShhdmN0eCwgZnJhbWUpOwor ICAgICAgICBpZiAocmV0IDwgMCAmJiByZXQgIT0gQVZFUlJPUl9FT0YpCisgICAgICAgICAgICBy ZXR1cm4gcmV0OworICAgICAgICBpZiAocmV0ID09IEFWRVJST1JfRU9GKQorICAgICAgICAgICAg ZnJhbWUgPSBOVUxMOworCisgICAgICAgIHJldCA9IGViX3NlbmRfZnJhbWUoYXZjdHgsIGZyYW1l KTsKKyAgICAgICAgaWYgKHJldCA8IDApCisgICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAg ICBhdl9mcmFtZV91bnJlZihzdnRfZW5jLT5mcmFtZSk7CisKKyAgICAgICAgc3Z0X3JldCA9IHN2 dF9hdjFfZW5jX2dldF9wYWNrZXQoc3Z0X2VuYy0+c3Z0X2hhbmRsZSwgJmhlYWRlclB0ciwgc3Z0 X2VuYy0+ZW9zX2ZsYWcpOworICAgIH0KIAotICAgIHN2dF9yZXQgPSBzdnRfYXYxX2VuY19nZXRf cGFja2V0KHN2dF9lbmMtPnN2dF9oYW5kbGUsICZoZWFkZXJQdHIsIHN2dF9lbmMtPmVvc19mbGFn KTsKICAgICBpZiAoc3Z0X3JldCA9PSBFQl9Ob0Vycm9yRW1wdHlRdWV1ZSkKICAgICAgICAgcmV0 dXJuIEFWRVJST1IoRUFHQUlOKTsKICAgICBlbHNlIGlmIChzdnRfcmV0ICE9IEVCX0Vycm9yTm9u ZSkKLS0gCjIuNTIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdCAtLSBmZm1wZWctZGV2ZWxAZmZtcGVnLm9y ZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGZmbXBlZy1kZXZlbC1sZWF2ZUBmZm1w ZWcub3JnCg==