[PR] avcodec/dstdec: add raw_dsd option to output the DSD bitstream (PR #23939)

Kacper Michajłow via ffmpeg-devel <[email protected]> Tue, 28 Jul 2026 12:41:59 -0000
Newsgroups gmane.comp.video.ffmpeg.devel
Message-ID <178524252015.51.18076807248152324634@29965ddac10e>
UFIgIzIzOTM5IG9wZW5lZCBieSBLYWNwZXIgTWljaGFqxYJvdyAoa2FzcGVyOTMpClVSTDogaHR0
cHM6Ly9jb2RlLmZmbXBlZy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMzkzOQpQYXRjaCBVUkw6
IGh0dHBzOi8vY29kZS5mZm1wZWcub3JnL0ZGbXBlZy9GRm1wZWcvcHVsbHMvMjM5MzkucGF0Y2gK
CgpGcm9tIDI1MWJkZmZmZmM2ZThmN2M2ZWI4ZmMxYTNhNWNhYWEyMWM4Mzc5YjYgTW9uIFNlcCAx
NyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9LYWNwZXI9MjBNaWNoYWo9QzU9ODJvdz89
IDxrYXNwZXI5M0BnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjggSnVsIDIwMjYgMDE6NDE6MzYgKzAy
MDAKU3ViamVjdDogW1BBVENIIDEvMl0gYXZjb2RlYy9kc3RkZWM6IGZpeCBkZWNvZGluZyBvZiB1
bmNvbXByZXNzZWQgZnJhbWVzCgpUaGUgRFNEIHBheWxvYWQgb2YgYW4gdW5jb21wcmVzc2VkIGZy
YW1lIHdhcyBjb3BpZWQgcGFja2VkIGludG8gdGhlCm91dHB1dCBidWZmZXIsIGJ1dCB0aGUgaW4t
cGxhY2UgRFNEIHRvIFBDTSBjb252ZXJzaW9uIGV4cGVjdHMgdGhlIERTRApieXRlcyBpbiBldmVy
eSA0dGggYnl0ZSwgaW4gdGhlIHBsYWNlIG9mIHRoZSBmbG9hdCBzYW1wbGUgdGhleSBwcm9kdWNl
LgoKVGhpcyB3YXMgYWx3YXlzIGJyb2tlbiwgYnV0IEkgZ3Vlc3MsIHRoZSB1bmNvbXByZXNzZWQg
RFNUIGlzIHNvbWV0aGluZwp0aGF0IGV4aXN0cyBvbmx5IG9uIHBhcGVyLgotLS0KIGxpYmF2Y29k
ZWMvZHN0ZGVjLmMgfCA5ICsrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr
KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZHN0ZGVjLmMgYi9saWJh
dmNvZGVjL2RzdGRlYy5jCmluZGV4IGQ3NDc2NzAxNDEuLjFkYjc0MmQxOTMgMTAwNjQ0Ci0tLSBh
L2xpYmF2Y29kZWMvZHN0ZGVjLmMKKysrIGIvbGliYXZjb2RlYy9kc3RkZWMuYwpAQCAtMjY4LDEw
ICsyNjgsMTcgQEAgc3RhdGljIGludCBkZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4
LCBBVkZyYW1lICpmcmFtZSwKICAgICAgICAgcmV0dXJuIHJldDsKIAogICAgIGlmICghZ2V0X2Jp
dHMxKGdiKSkgeworICAgICAgICB1bnNpZ25lZCB0b3RhbCA9IGZyYW1lLT5uYl9zYW1wbGVzICog
Y2hhbm5lbHM7CisgICAgICAgIHVuc2lnbmVkIG4gPSBGRk1JTihhdnBrdC0+c2l6ZSAtIDEsIHRv
dGFsKTsKICAgICAgICAgc2tpcF9iaXRzMShnYik7CiAgICAgICAgIGlmIChnZXRfYml0cyhnYiwg
NikpCiAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKLSAgICAgICAgbWVt
Y3B5KGZyYW1lLT5kYXRhWzBdLCBhdnBrdC0+ZGF0YSArIDEsIEZGTUlOKGF2cGt0LT5zaXplIC0g
MSwgZnJhbWUtPm5iX3NhbXBsZXMgKiBjaGFubmVscykpOworICAgICAgICAvLyBEU0QgYnl0ZXMg
YXJlIHN0b3JlZCBpbiBldmVyeSA0dGggYnl0ZSwgYXMgZXhwZWN0ZWQgYnkgdGhlCisgICAgICAg
IC8vIGluLXBsYWNlIERTRCB0byBQQ00gY29udmVyc2lvbi4gUGFkIHNob3J0IGZyYW1lcyB3aXRo
IHNpbGVuY2UuCisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisgICAgICAgICAgICBk
c2RbaSAqIDRdID0gYXZwa3QtPmRhdGFbMSArIGldOworICAgICAgICBmb3IgKDsgaSA8IHRvdGFs
OyBpKyspCisgICAgICAgICAgICBkc2RbaSAqIDRdID0gMHg2OTsKICAgICAgICAgZ290byBkc2Q7
CiAgICAgfQogCi0tIAoyLjUyLjAKCgpGcm9tIDc2NDgwOTVkZmVhNzk4ODMwYmY4MDE5YzQ0MDYx
YmIxZDkwNTcwYzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9LYWNw
ZXI9MjBNaWNoYWo9QzU9ODJvdz89IDxrYXNwZXI5M0BnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjgg
SnVsIDIwMjYgMDE6NDI6MDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvMl0gYXZjb2RlYy9kc3Rk
ZWM6IGFkZCByYXdfZHNkIG9wdGlvbiB0byBvdXRwdXQgdGhlIERTRAogYml0c3RyZWFtCgpXaGVu
IGVuYWJsZWQsIG91dHB1dCB0aGUgbG9zc2xlc3NseSBkZWNvbXByZXNzZWQgRFNEIGJpdHN0cmVh
bSBhcwp1bnNpZ25lZCA4LWJpdCBzYW1wbGVzIChvbmUgYnl0ZSBwZXIgOCBEU0QgYml0cywgTVNC
IGZpcnN0LCBjaGFubmVscwppbnRlcmxlYXZlZCwgYXQgdGhlIHVzdWFsIERTRCBieXRlIHJhdGUp
IGluc3RlYWQgb2YgY29udmVydGluZyB0byBmbG9hdApQQ00uIFRoaXMgYWxsb3dzIGJpdC1leGFj
dCBwYXNzLXRocm91Z2ggb2YgRFNUIGNvbXByZXNzZWQgYXVkaW8sIGUuZy4KYXMgRFNELW92ZXIt
UENNIChEb1ApIHRvIERTRCBjYXBhYmxlIGF1ZGlvIGRldmljZXMuCgpCeSBkZWZhdWx0IHRoZSBj
b252ZXJzaW9uIHRvIFBDTSBpcyBkb25lIGFzIGJlZm9yZS4KLS0tCiBkb2MvZGVjb2RlcnMudGV4
aSAgICB8IDE4ICsrKysrKysrKysrKysrKwogbGliYXZjb2RlYy9kc3RkZWMuYyAgfCA1MiArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogbGliYXZjb2RlYy92ZXJz
aW9uLmggfCAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCAxNCBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvZGVjb2RlcnMudGV4aSBiL2RvYy9kZWNvZGVycy50
ZXhpCmluZGV4IGM4MTc3YzE1ZTcuLmNhNjVlMzc3NTkgMTAwNjQ0Ci0tLSBhL2RvYy9kZWNvZGVy
cy50ZXhpCisrKyBiL2RvYy9kZWNvZGVycy50ZXhpCkBAIC0yODIsNiArMjgyLDI0IEBAIExvdWQg
c291bmRzIGFyZSBmdWxseSBjb21wcmVzc2VkLiAgU29mdCBzb3VuZHMgYXJlIGVuaGFuY2VkLgog
CiBAZW5kIHRhYmxlCiAKK0BzZWN0aW9uIGRzdAorCitEU1QgKERpcmVjdCBTdHJlYW0gVHJhbnNm
ZXIpIGF1ZGlvIGRlY29kZXIuCisKK0xvc3NsZXNzIERTRCAoRGlyZWN0IFN0cmVhbSBEaWdpdGFs
KSBjb21wcmVzc2lvbiwgdXNlZCBpbiBEU0RJRkYgZmlsZXMgYW5kCitvbiBTdXBlciBBdWRpbyBD
RC4KKworQHN1YnNlY3Rpb24gRFNUIERlY29kZXIgT3B0aW9ucworCitAdGFibGUgQG9wdGlvbgor
CitAaXRlbSAtcmF3X2RzZCBAdmFye2Jvb2xlYW59CitPdXRwdXQgdGhlIGxvc3NsZXNzbHkgZGVj
b21wcmVzc2VkIHJhdyBEU0QgYml0c3RyZWFtIGFzIHVuc2lnbmVkIDgtYml0CitzYW1wbGVzIChv
bmUgYnl0ZSBwZXIgOCBEU0QgYml0cywgbW9zdCBzaWduaWZpY2FudCBiaXQgZmlyc3QsIGNoYW5u
ZWxzCitpbnRlcmxlYXZlZCkgaW5zdGVhZCBvZiBjb252ZXJ0aW5nIHRvIFBDTS4KKworQGVuZCB0
YWJsZQorCiBAc2VjdGlvbiBmbGFjCiAKIEZMQUMgYXVkaW8gZGVjb2Rlci4KZGlmZiAtLWdpdCBh
L2xpYmF2Y29kZWMvZHN0ZGVjLmMgYi9saWJhdmNvZGVjL2RzdGRlYy5jCmluZGV4IDFkYjc0MmQx
OTMuLjVlN2FmMGQ3MWYgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZHN0ZGVjLmMKKysrIGIvbGli
YXZjb2RlYy9kc3RkZWMuYwpAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAibGliYXZ1dGls
L2ludHJlYWR3cml0ZS5oIgogI2luY2x1ZGUgImxpYmF2dXRpbC9tZW1faW50ZXJuYWwuaCIKKyNp
bmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCiAjaW5jbHVkZSAibGliYXZ1dGlsL3JldmVyc2UuaCIK
ICNpbmNsdWRlICJjb2RlY19pbnRlcm5hbC5oIgogI2luY2x1ZGUgImRlY29kZS5oIgpAQCAtNjcs
NiArNjgsNyBAQCB0eXBlZGVmIHN0cnVjdCBUYWJsZSB7CiAKIHR5cGVkZWYgc3RydWN0IERTVENv
bnRleHQgewogICAgIEFWQ2xhc3MgKmNsYXNzOworICAgIGludCByYXdfZHNkOwogCiAgICAgR2V0
Qml0Q29udGV4dCBnYjsKICAgICBBcml0aENvZGVyIGFjOwpAQCAtOTYsNyArOTgsNyBAQCBzdGF0
aWMgYXZfY29sZCBpbnQgZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgICAg
ICByZXR1cm4gQVZFUlJPUl9QQVRDSFdFTENPTUU7CiAgICAgfQogCi0gICAgYXZjdHgtPnNhbXBs
ZV9mbXQgPSBBVl9TQU1QTEVfRk1UX0ZMVDsKKyAgICBhdmN0eC0+c2FtcGxlX2ZtdCA9IHMtPnJh
d19kc2QgPyBBVl9TQU1QTEVfRk1UX1U4IDogQVZfU0FNUExFX0ZNVF9GTFQ7CiAKICAgICBmb3Ig
KGkgPSAwOyBpIDwgYXZjdHgtPmNoX2xheW91dC5uYl9jaGFubmVsczsgaSsrKQogICAgICAgICBt
ZW1zZXQocy0+ZHNkY3R4W2ldLmJ1ZiwgMHg2OSwgc2l6ZW9mKHMtPmRzZGN0eFtpXS5idWYpKTsK
QEAgLTI0OCw2ICsyNTAsNyBAQCBzdGF0aWMgaW50IGRlY29kZV9mcmFtZShBVkNvZGVjQ29udGV4
dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lLAogICAgIHVuc2lnbmVkIGksIGNoLCBzYW1lX21hcCwg
ZHN0X3hfYml0OwogICAgIHVuc2lnbmVkIGhhbGZfcHJvYltEU1RfTUFYX0NIQU5ORUxTXTsKICAg
ICBjb25zdCBpbnQgY2hhbm5lbHMgPSBhdmN0eC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOworICAg
IGNvbnN0IGludCBicHMgPSBhdmN0eC0+c2FtcGxlX2ZtdCA9PSBBVl9TQU1QTEVfRk1UX1U4ID8g
MSA6IDQ7CiAgICAgRFNUQ29udGV4dCAqcyA9IGF2Y3R4LT5wcml2X2RhdGE7CiAgICAgR2V0Qml0
Q29udGV4dCAqZ2IgPSAmcy0+Z2I7CiAgICAgQXJpdGhDb2RlciAqYWMgPSAmcy0+YWM7CkBAIC0y
NzMsMTIgKzI3NiwxNyBAQCBzdGF0aWMgaW50IGRlY29kZV9mcmFtZShBVkNvZGVjQ29udGV4dCAq
YXZjdHgsIEFWRnJhbWUgKmZyYW1lLAogICAgICAgICBza2lwX2JpdHMxKGdiKTsKICAgICAgICAg
aWYgKGdldF9iaXRzKGdiLCA2KSkKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSURE
QVRBOwotICAgICAgICAvLyBEU0QgYnl0ZXMgYXJlIHN0b3JlZCBpbiBldmVyeSA0dGggYnl0ZSwg
YXMgZXhwZWN0ZWQgYnkgdGhlCi0gICAgICAgIC8vIGluLXBsYWNlIERTRCB0byBQQ00gY29udmVy
c2lvbi4gUGFkIHNob3J0IGZyYW1lcyB3aXRoIHNpbGVuY2UuCi0gICAgICAgIGZvciAoaSA9IDA7
IGkgPCBuOyBpKyspCi0gICAgICAgICAgICBkc2RbaSAqIDRdID0gYXZwa3QtPmRhdGFbMSArIGld
OwotICAgICAgICBmb3IgKDsgaSA8IHRvdGFsOyBpKyspCi0gICAgICAgICAgICBkc2RbaSAqIDRd
ID0gMHg2OTsKKyAgICAgICAgaWYgKGJwcyA9PSAxKSB7CisgICAgICAgICAgICBtZW1jcHkoZHNk
LCBhdnBrdC0+ZGF0YSArIDEsIG4pOworICAgICAgICAgICAgbWVtc2V0KGRzZCArIG4sIDB4Njks
IHRvdGFsIC0gbik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBEU0QgYnl0ZXMg
YXJlIHN0b3JlZCBpbiBldmVyeSA0dGggYnl0ZSwgYXMgZXhwZWN0ZWQgYnkgdGhlCisgICAgICAg
ICAgICAvLyBpbi1wbGFjZSBEU0QgdG8gUENNIGNvbnZlcnNpb24uIFBhZCBzaG9ydCBmcmFtZXMg
d2l0aCBzaWxlbmNlLgorICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykKKyAgICAg
ICAgICAgICAgICBkc2RbaSAqIDRdID0gYXZwa3QtPmRhdGFbMSArIGldOworICAgICAgICAgICAg
Zm9yICg7IGkgPCB0b3RhbDsgaSsrKQorICAgICAgICAgICAgICAgIGRzZFtpICogNF0gPSAweDY5
OworICAgICAgICB9CiAgICAgICAgIGdvdG8gZHNkOwogICAgIH0KIApAQCAtMzQzLDcgKzM1MSw3
IEBAIHN0YXRpYyBpbnQgZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFt
ZSAqZnJhbWUsCiAgICAgICAgIHJldHVybiByZXQ7CiAKICAgICBtZW1zZXQocy0+c3RhdHVzLCAw
eEFBLCBzaXplb2Yocy0+c3RhdHVzKSk7Ci0gICAgbWVtc2V0KGRzZCwgMCwgZnJhbWUtPm5iX3Nh
bXBsZXMgKiA0ICogY2hhbm5lbHMpOworICAgIG1lbXNldChkc2QsIDAsIGZyYW1lLT5uYl9zYW1w
bGVzICogYnBzICogY2hhbm5lbHMpOwogCiAgICAgYWNfZ2V0KGFjLCBnYiwgcHJvYl9kc3RfeF9i
aXQocy0+ZnNldHMuY29lZmZbMF1bMF0pLCAmZHN0X3hfYml0KTsKIApAQCAtMzcxLDcgKzM3OSw3
IEBAIHN0YXRpYyBpbnQgZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFt
ZSAqZnJhbWUsCiAKICAgICAgICAgICAgIGFjX2dldChhYywgZ2IsIHByb2IsICZyZXNpZHVhbCk7
CiAgICAgICAgICAgICB2ID0gKChwcmVkaWN0ID4+IDE1KSBeIHJlc2lkdWFsKSAmIDE7Ci0gICAg
ICAgICAgICBkc2RbKChpID4+IDMpICogY2hhbm5lbHMgKyBjaCkgPDwgMl0gfD0gdiA8PCAoNyAt
IChpICYgMHg3ICkpOworICAgICAgICAgICAgZHNkWygoaSA+PiAzKSAqIGNoYW5uZWxzICsgY2gp
ICogYnBzXSB8PSB2IDw8ICg3IC0gKGkgJiAweDcgKSk7CiAKICAgICAgICAgICAgIEFWX1dMNjRB
KHN0YXR1cyArIDgsIChBVl9STDY0QShzdGF0dXMgKyA4KSA8PCAxKSB8ICgoQVZfUkw2NEEoc3Rh
dHVzKSA+PiA2MykgJiAxKSk7CiAgICAgICAgICAgICBBVl9XTDY0QShzdGF0dXMsIChBVl9STDY0
QShzdGF0dXMpIDw8IDEpIHwgdik7CkBAIC0zNzksMTAgKzM4NywxMiBAQCBzdGF0aWMgaW50IGRl
Y29kZV9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lLAogICAgIH0K
IAogZHNkOgotICAgIGZvciAoaSA9IDA7IGkgPCBjaGFubmVsczsgaSsrKSB7Ci0gICAgICAgIGZm
X2RzZDJwY21fdHJhbnNsYXRlKCZzLT5kc2RjdHhbaV0sIGZyYW1lLT5uYl9zYW1wbGVzLCAwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZS0+ZGF0YVswXSArIGkgKiA0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVscyAqIDQsIHBjbSArIGksIGNoYW5uZWxz
KTsKKyAgICBpZiAoYXZjdHgtPnNhbXBsZV9mbXQgPT0gQVZfU0FNUExFX0ZNVF9GTFQpIHsKKyAg
ICAgICAgZm9yIChpID0gMDsgaSA8IGNoYW5uZWxzOyBpKyspIHsKKyAgICAgICAgICAgIGZmX2Rz
ZDJwY21fdHJhbnNsYXRlKCZzLT5kc2RjdHhbaV0sIGZyYW1lLT5uYl9zYW1wbGVzLCAwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRhdGFbMF0gKyBpICogNCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWxzICogNCwgcGNtICsgaSwgY2hh
bm5lbHMpOworICAgICAgICB9CiAgICAgfQogCiAgICAgKmdvdF9mcmFtZV9wdHIgPSAxOwpAQCAt
MzkwLDExICs0MDAsMjcgQEAgZHNkOgogICAgIHJldHVybiBhdnBrdC0+c2l6ZTsKIH0KIAorI2Rl
ZmluZSBPRkZTRVQoeCkgb2Zmc2V0b2YoRFNUQ29udGV4dCwgeCkKKyNkZWZpbmUgQUQgQVZfT1BU
X0ZMQUdfQVVESU9fUEFSQU0gfCBBVl9PUFRfRkxBR19ERUNPRElOR19QQVJBTQorCitzdGF0aWMg
Y29uc3QgQVZPcHRpb24gb3B0aW9uc1tdID0geworICAgIHsgInJhd19kc2QiLCAib3V0cHV0IHJh
dyBEU0QgYml0c3RyZWFtIGluc3RlYWQgb2YgZGVjb2RpbmcgdG8gUENNIiwKKyAgICAgIE9GRlNF
VChyYXdfZHNkKSwgQVZfT1BUX1RZUEVfQk9PTCwgeyAuaTY0ID0gMCB9LCAwLCAxLCBBRCB9LAor
ICAgIHsgTlVMTCB9Cit9OworCitzdGF0aWMgY29uc3QgQVZDbGFzcyBkc3RfZGVjb2Rlcl9jbGFz
cyA9IHsKKyAgICAuY2xhc3NfbmFtZSA9ICJEU1QgZGVjb2RlciIsCisgICAgLm9wdGlvbiAgICAg
PSBvcHRpb25zLAorICAgIC52ZXJzaW9uICAgID0gTElCQVZVVElMX1ZFUlNJT05fSU5ULAorfTsK
KwogY29uc3QgRkZDb2RlYyBmZl9kc3RfZGVjb2RlciA9IHsKICAgICAucC5uYW1lICAgICAgICAg
PSAiZHN0IiwKICAgICBDT0RFQ19MT05HX05BTUUoIkRTVCAoRGlnaXRhbCBTdHJlYW0gVHJhbnNm
ZXIpIiksCiAgICAgLnAudHlwZSAgICAgICAgID0gQVZNRURJQV9UWVBFX0FVRElPLAogICAgIC5w
LmlkICAgICAgICAgICA9IEFWX0NPREVDX0lEX0RTVCwKKyAgICAucC5wcml2X2NsYXNzICAgPSAm
ZHN0X2RlY29kZXJfY2xhc3MsCiAgICAgLnByaXZfZGF0YV9zaXplID0gc2l6ZW9mKERTVENvbnRl
eHQpLAogICAgIC5pbml0ICAgICAgICAgICA9IGRlY29kZV9pbml0LAogICAgIEZGX0NPREVDX0RF
Q09ERV9DQihkZWNvZGVfZnJhbWUpLApkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92ZXJzaW9uLmgg
Yi9saWJhdmNvZGVjL3ZlcnNpb24uaAppbmRleCAzOWRiZWMwMjA4Li5iNjMzNjEyMzQxIDEwMDY0
NAotLS0gYS9saWJhdmNvZGVjL3ZlcnNpb24uaAorKysgYi9saWJhdmNvZGVjL3ZlcnNpb24uaApA
QCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgInZlcnNpb25fbWFqb3IuaCIKIAogI2RlZmluZSBM
SUJBVkNPREVDX1ZFUlNJT05fTUlOT1IgICA2Ci0jZGVmaW5lIExJQkFWQ09ERUNfVkVSU0lPTl9N
SUNSTyAxMDEKKyNkZWZpbmUgTElCQVZDT0RFQ19WRVJTSU9OX01JQ1JPIDEwMgogCiAjZGVmaW5l
IExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgIEFWX1ZFUlNJT05fSU5UKExJQkFWQ09ERUNfVkVSU0lP
Tl9NQUpPUiwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBMSUJBVkNPREVDX1ZFUlNJT05fTUlOT1IsIFwKLS0gCjIuNTIuMAoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlz
dCAtLSBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWls
IHRvIGZmbXBlZy1kZXZlbC1sZWF2ZUBmZm1wZWcub3JnCg==