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 934D545948 for ; Fri, 28 Apr 2023 09:56:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DD0C768BFDF; Fri, 28 Apr 2023 12:55:24 +0300 (EEST) Received: from nef.ens.fr (nef2.ens.fr [129.199.96.40]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DE25968BFA0 for ; Fri, 28 Apr 2023 12:55:15 +0300 (EEST) X-ENS-nef-client: 129.199.129.80 ( name = phare.normalesup.org ) Received: from phare.normalesup.org (phare.normalesup.org [129.199.129.80]) by nef.ens.fr (8.14.4/1.01.28121999) with ESMTP id 33S9tF3X014805 for ; Fri, 28 Apr 2023 11:55:15 +0200 Received: by phare.normalesup.org (Postfix, from userid 1001) id 37077EB5BF; Fri, 28 Apr 2023 11:55:15 +0200 (CEST) From: Nicolas George To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Apr 2023 11:55:06 +0200 Message-Id: <20230428095508.221826-6-george@nsup.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230428095508.221826-1-george@nsup.org> References: <20230428095508.221826-1-george@nsup.org> MIME-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (nef.ens.fr [129.199.96.32]); Fri, 28 Apr 2023 11:55:15 +0200 (CEST) Subject: [FFmpeg-devel] [PATCH 6/8] lavu: add JSON writer test (WIP) 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: U2lnbmVkLW9mZi1ieTogTmljb2xhcyBHZW9yZ2UgPGdlb3JnZUBuc3VwLm9yZz4KLS0tCiBsaWJh dnV0aWwvTWFrZWZpbGUgICAgICAgfCAgIDEgKwogbGliYXZ1dGlsL3Rlc3RzL2pzb24uYyAgIHwg MTM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdGVzdHMvZmF0ZS9s aWJhdnV0aWwubWFrIHwgICA0ICsrCiAzIGZpbGVzIGNoYW5nZWQsIDE0NCBpbnNlcnRpb25zKCsp CiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZ1dGlsL3Rlc3RzL2pzb24uYwoKZGlmZiAtLWdpdCBh L2xpYmF2dXRpbC9NYWtlZmlsZSBiL2xpYmF2dXRpbC9NYWtlZmlsZQppbmRleCBhOGE5NzAwNzc4 Li44ODAwZDI1ODMxIDEwMDY0NAotLS0gYS9saWJhdnV0aWwvTWFrZWZpbGUKKysrIGIvbGliYXZ1 dGlsL01ha2VmaWxlCkBAIC0yNDcsNiArMjQ3LDcgQEAgVEVTVFBST0dTID0gYWRsZXIzMiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAg ICAgICAgaHdkZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAogICAgICAgICAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgaW1ndXRpbHMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg ICAganNvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAogICAgICAgICAgICAgbGZnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgbGxzICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAg bG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXApkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL3Rlc3RzL2pzb24uYyBiL2xpYmF2dXRpbC90ZXN0 cy9qc29uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNGU0MTA2ODg5 ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmF2dXRpbC90ZXN0cy9qc29uLmMKQEAgLTAsMCArMSwx MzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMjEgTmljb2xhcyBHZW9yZ2UKKyAqCisgKiBU aGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcuCisgKgorICogRkZtcGVnIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz aW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KKyAqCisgKiBGRm1wZWcgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNl bnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBC b3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5j bHVkZSA8c3RkbGliLmg+CisKKyNpbmNsdWRlICJsaWJhdnV0aWwvanNvbi5oIgorI2luY2x1ZGUg ImxpYmF2dXRpbC9vcHQuaCIKKworc3RhdGljIHZvaWQgcHJpbnRfc3VjY2VzcyhBVldyaXRlciB3 cikKK3sKKyAgICBwcmludGYoIiAoJXMpXG4iLCBhdl93cml0ZXJfZ2V0X2Vycm9yKHdyLCAwKSA/ ICJlcnJvciIgOiAib2siKTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9lc2NhcGVfd3JpdGVyKHZv aWQpCit7CisgICAgQVZXcml0ZXIgb3V0ID0gYXZfc3RkaW9fd3JpdGVyKHN0ZG91dCk7CisgICAg QVZXcml0ZXIgd3I7CisKKyAgICB3ciA9IGF2X2pzb25fZXNjYXBlX3dyaXRlcihvdXQsIDApOwor ICAgIGF2X3dyaXRlcl9wcmludGYod3IsICJUZXN0IG9mIHRoZSBcIkpTT05cIiB3cml0ZXIuXG4i CisgICAgICAgICAgICAgICAgICAgICAgICAgIkl0IHdpbGwgXGFyaW5nLlxuIgorICAgICAgICAg ICAgICAgICAgICAgICAgICJj4oiIVUJNUC5cbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAi 8J2EniBpbiBVVEYtMTYiKTsKKyAgICBwcmludF9zdWNjZXNzKHdyKTsKKyAgICB3ciA9IGF2X2pz b25fZXNjYXBlX3dyaXRlcihvdXQsIEFWX0pTT05fRkxBR19CQURfRU5DT0RJTkdfUkVQTEFDRSk7 CisgICAgYXZfd3JpdGVyX3ByaW50Zih3ciwgIlRleHRcYmJhZGx5XDIyMmVuY29kZWQiKTsKKyAg ICBwcmludF9zdWNjZXNzKHdyKTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9qc29uX2NvbnRleHQo dm9pZCkKK3sKKyAgICBBVkpzb24gKmpjID0gQVZfSlNPTl9ERUZJTkUoOCk7CisgICAgQVZXcml0 ZXIgb3V0ID0gYXZfc3RkaW9fd3JpdGVyKHN0ZG91dCk7CisKKyAgICBhdl9vcHRfc2V0X2ludChq YywgImluZGVudCIsIDIsIDApOworICAgIGF2X2pzb25faW5pdChqYywgb3V0LCAwLCBOVUxMKTsK KyAgICBhdl9qc29uX2JlZ2luX29iamVjdChqYyk7CisgICAgICBhdl9qc29uX2FkZF9zdHJpbmco amMsICJmaWxlbmFtZSIpOworICAgICAgYXZfanNvbl9hZGRfc3RyaW5nKGpjLCAiZXhhbXBsZS5u dXQiKTsKKyAgICAgIGF2X2pzb25fYWRkX3N0cmluZyhqYywgInN0cmVhbXMiKTsKKyAgICAgIGF2 X2pzb25fYmVnaW5fYXJyYXkoamMpOworICAgICAgICBhdl9qc29uX2JlZ2luX29iamVjdChqYyk7 CisgICAgICAgICAgYXZfanNvbl9hZGRfc3RyaW5nKGpjLCAidHlwZSIpOworICAgICAgICAgIGF2 X2pzb25fYWRkX3N0cmluZyhqYywgInZpZGVvIik7CisgICAgICAgIGF2X2pzb25fZW5kX29iamVj dChqYyk7CisgICAgICAgIGF2X2pzb25fYWRkX3N0cmluZyhqYywgIm51bGwiKTsKKyAgICAgICAg YXZfanNvbl9iZWdpbl9vYmplY3QoamMpOworICAgICAgICAgIGF2X2pzb25fYWRkX3N0cmluZyhq YywgInR5cGUiKTsKKyAgICAgICAgICBhdl9qc29uX2FkZF9zdHJpbmcoamMsICJhdWRpbyIpOwor ICAgICAgICBhdl9qc29uX2VuZF9vYmplY3QoamMpOworICAgICAgYXZfanNvbl9lbmRfYXJyYXko amMpOworICAgICAgYXZfanNvbl9hZGRfc3RyaW5nKGpjLCAiZHVyYXRpb24iKTsKKyAgICAgIGF2 X2pzb25fYWRkX3N0cmluZyhqYywgIjQyIik7CisgICAgYXZfanNvbl9lbmRfb2JqZWN0KGpjKTsK K30KKworc3RhdGljIHVuc2lnbmVkIHJuZF9uZXh0KHVuc2lnbmVkICpybmQsIHVuc2lnbmVkIGJp dHMpCit7CisgICAgKnJuZCA9ICgqcm5kICogMTY2NDUyNSArIDEwMTM5MDQyMjMpICYgMHhGRkZG RkZGRjsKKyAgICByZXR1cm4gKnJuZCA+PiAoMzIgLSBiaXRzKTsKK30KKworc3RhdGljIHZvaWQg dGVzdF9qc29uX2NvbnRleHRfcmVjKEFWSnNvbiAqamMsIHVuc2lnbmVkIG1heF9kZXB0aCwgdW5z aWduZWQgb2JqLCB1bnNpZ25lZCAqcm5kKQoreworICAgIHVuc2lnbmVkIG4sIGksIHQsIGQ7CisK KyAgICBuID0gcm5kX25leHQocm5kLCAzKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7 CisgICAgICAgIGlmIChvYmopCisgICAgICAgICAgICBhdl9qc29uX2FkZF9zdHJpbmdfcHJpbnRm KGpjLCAia2V5ICVkLyVkWyVkXSIsIGksIG4sIG1heF9kZXB0aCk7CisgICAgICAgIHQgPSBybmRf bmV4dChybmQsIG1heF9kZXB0aCA+IDAgPyAzIDogMik7CisgICAgICAgIHN3aXRjaCAodCkgewor ICAgICAgICBjYXNlIDA6CisgICAgICAgICAgICBhdl9qc29uX2FkZF9zdHJpbmdfcHJpbnRmKGpj LCAicmFuZG9tIHN0cmluZyAjJXUiLCBybmRfbmV4dChybmQsIDMyKSk7CisgICAgICAgICAgICBi cmVhazsKKyAgICAgICAgY2FzZSAxOgorICAgICAgICAgICAgYXZfanNvbl9hZGRfaW50KGpjLCBy bmRfbmV4dChybmQsIDMyKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAyOgor ICAgICAgICAgICAgZCA9IHJuZF9uZXh0KHJuZCwgNCkgKyA4OworICAgICAgICAgICAgYXZfanNv bl9hZGRfZG91YmxlKGpjLCBybmRfbmV4dChybmQsIDMyKSAvIChkb3VibGUpKDEgPDwgZCkpOwor ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMzoKKyAgICAgICAgICAgIGF2X2pzb25f YWRkX2Jvb2woamMsIHJuZF9uZXh0KHJuZCwgMSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAg ICAgIGNhc2UgNDoKKyAgICAgICAgY2FzZSA1OgorICAgICAgICAgICAgYXZfanNvbl9iZWdpbl9v YmplY3QoamMpOworICAgICAgICAgICAgdGVzdF9qc29uX2NvbnRleHRfcmVjKGpjLCBtYXhfZGVw dGggLSAxLCAxLCBybmQpOworICAgICAgICAgICAgYXZfanNvbl9lbmRfb2JqZWN0KGpjKTsKKyAg ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDY6CisgICAgICAgIGNhc2UgNzoKKyAgICAg ICAgICAgIGF2X2pzb25fYmVnaW5fYXJyYXkoamMpOworICAgICAgICAgICAgdGVzdF9qc29uX2Nv bnRleHRfcmVjKGpjLCBtYXhfZGVwdGggLSAxLCAwLCBybmQpOworICAgICAgICAgICAgYXZfanNv bl9lbmRfYXJyYXkoamMpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9Cit9 CisKK3N0YXRpYyB2b2lkIHRlc3RfanNvbl9jb250ZXh0X2RlZXAodm9pZCkKK3sKKyAgICB1bnNp Z25lZCBybmQgPSAweDEyMzQ1Njc4OworICAgIEFWSnNvbiAqamMgPSBBVl9KU09OX0RFRklORSgp OworICAgIEFWV3JpdGVyIG91dCA9IGF2X3N0ZGlvX3dyaXRlcihzdGRvdXQpOworCisgICAgYXZf b3B0X3NldF9pbnQoamMsICJpbmRlbnQiLCAyLCAwKTsKKyAgICBhdl9qc29uX2luaXQoamMsIG91 dCwgQVZfSlNPTl9GTEFHX1BSRVRUWV9QUklOVCwgTlVMTCk7CisgICAgYXZfanNvbl9iZWdpbl9v YmplY3QoamMpOworICAgIHRlc3RfanNvbl9jb250ZXh0X3JlYyhqYywgNSwgMSwgJnJuZCk7Cisg ICAgYXZfanNvbl9lbmRfb2JqZWN0KGpjKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQoreworICAgIGlmICgwKSB0ZXN0X2VzY2FwZV93cml0ZXIoKTsKKyAgICBpZiAoMCkg dGVzdF9qc29uX2NvbnRleHQoKTsKKyAgICBpZiAoMSkgdGVzdF9qc29uX2NvbnRleHRfZGVlcCgp OworICAgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvZmF0ZS9saWJhdnV0aWwubWFr IGIvdGVzdHMvZmF0ZS9saWJhdnV0aWwubWFrCmluZGV4IGE5ZGNjOWVjODcuLjdkZmJmMDI1Mjcg MTAwNjQ0Ci0tLSBhL3Rlc3RzL2ZhdGUvbGliYXZ1dGlsLm1haworKysgYi90ZXN0cy9mYXRlL2xp YmF2dXRpbC5tYWsKQEAgLTEwNCw2ICsxMDQsMTAgQEAgZmF0ZS1pbnRlZ2VyOiBsaWJhdnV0aWwv dGVzdHMvaW50ZWdlciQoRVhFU1VGKQogZmF0ZS1pbnRlZ2VyOiBDTUQgPSBydW4gbGliYXZ1dGls L3Rlc3RzL2ludGVnZXIkKEVYRVNVRikKIGZhdGUtaW50ZWdlcjogQ01QID0gbnVsbAogCisjIFhY WCBGQVRFX0xJQkFWVVRJTCArPSBmYXRlLWpzb24KK2ZhdGUtanNvbjogbGliYXZ1dGlsL3Rlc3Rz L2pzb24kKEVYRVNVRikKK2ZhdGUtanNvbjogQ01EID0gcnVuIGxpYmF2dXRpbC90ZXN0cy9qc29u JChFWEVTVUYpCisKIEZBVEVfTElCQVZVVElMICs9IGZhdGUtbGZnCiBmYXRlLWxmZzogbGliYXZ1 dGlsL3Rlc3RzL2xmZyQoRVhFU1VGKQogZmF0ZS1sZmc6IENNRCA9IHJ1biBsaWJhdnV0aWwvdGVz dHMvbGZnJChFWEVTVUYpCi0tIAoyLjM5LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVs QGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRl dmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRl dmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K