From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id C3AB089CB3 for ; Mon, 27 May 2019 14:34:54 +0000 (UTC) From: Simon Ser Date: Mon, 27 May 2019 17:34:14 +0300 Message-Id: <20190527143418.7925-7-simon.ser@intel.com> In-Reply-To: <20190527143418.7925-1-simon.ser@intel.com> References: <20190527143418.7925-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v3 06/10] lib/igt_audio: introduce audio_convert_to List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: martin.peres@intel.com List-ID: VGhpcyBmdW5jdGlvbiBjb252ZXJ0cyBub3JtYWxpemVkIGRvdWJsZXMgaW50byBhbiBBTFNBIFBD TSBmb3JtYXQuCgpJbnN0ZWFkIG9mIGhhdmluZyBwZXItZm9ybWF0IGF1ZGlvX3NpZ25hbF9maWxs XyogZnVuY3Rpb25zLCB3ZSBjYW4gb25seSBoYXZlCmF1ZGlvX3NpZ25hbF9maWxsIHRoYXQgb3V0 cHV0cyBub3JtYWxpemVkIGRvdWJsZXMuIFRoZW4gaW4gQUxTQSdzIHBsYXliYWNrCmNhbGxiYWNr LCB3ZSBjYW4gc2ltcGx5IHVzZSB0aGUgbmV3IGF1ZGlvX2NvbnZlcnRfdG8gZnVuY3Rpb24gdG8g ZmlsbCB0aGUKYnVmZmVyLgoKVGhpcyBtYWtlcyB0aGUgdGVzdCBjb2RlIHNpbXBsZXIgYW5kIHBy ZXZlbnRzIGNvZGUgZHVwbGljYXRpb24gd2hlbiBhbm90aGVyCkFMU0EgcGxheWJhY2sgY2FsbGJh Y2sgaXMgaW1wbGVtZW50ZWQuCgpUaGlzIGFkZHMgYSBkZXBlbmRlbmN5IG9mIGlndF9hdWRpbyBv dmVyIEFMU0EgZm9yIHRoZSBQQ00gZm9ybWF0IGVudW0sIGJ1dCBJCmRvbid0IHRoaW5rIHRoaXMg aXMgYSBjb25jZXJuLCBzaW5jZSBJIGRvbid0IHNlZSB0aGUgcG9pbnQgb2YgdXNpbmcgaWd0X2F1 ZGlvCndpdGhvdXQgaWd0X2Fsc2EuIElmIHRoaXMgaXMgYW4gaXNzdWUsIGl0IHdvdWxkIGFsd2F5 cyBiZSBwb3NzaWJsZSB0byByZXBsYWNlCkFMU0EncyBlbnVtIHdpdGggb3VyIG93biBpbiB0aGUg ZnV0dXJlLgoKU2lnbmVkLW9mZi1ieTogU2ltb24gU2VyIDxzaW1vbi5zZXJAaW50ZWwuY29tPgpS ZXZpZXdlZC1ieTogTWFydGluIFBlcmVzIDxtYXJ0aW4ucGVyZXNAbGludXguaW50ZWwuY29tPgot LS0KIGxpYi9pZ3RfYXVkaW8uYyAgICAgICB8IDg3ICsrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIGxpYi9pZ3RfYXVkaW8uaCAgICAgICB8IDEyICsrKy0tLQogdGVz dHMva21zX2NoYW1lbGl1bS5jIHwgMjIgKysrKy0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTUg aW5zZXJ0aW9ucygrKSwgNjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9hdWRp by5jIGIvbGliL2lndF9hdWRpby5jCmluZGV4IGVhMmQ4M2E1Y2FkMC4uYmU2NjViMDMxMTZmIDEw MDY0NAotLS0gYS9saWIvaWd0X2F1ZGlvLmMKKysrIGIvbGliL2lndF9hdWRpby5jCkBAIC0zMDQs NTEgKzMwNCw2IEBAIHZvaWQgYXVkaW9fc2lnbmFsX2ZpbGwoc3RydWN0IGF1ZGlvX3NpZ25hbCAq c2lnbmFsLCBkb3VibGUgKmJ1ZmZlciwKIAlhdWRpb19zYW5pdHlfY2hlY2soYnVmZmVyLCBzaWdu YWwtPmNoYW5uZWxzICogc2FtcGxlcyk7CiB9CiAKLXZvaWQgYXVkaW9fc2lnbmFsX2ZpbGxfczE2 X2xlKHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25hbCwgaW50MTZfdCAqYnVmZmVyLAotCQkJICAg ICAgc2l6ZV90IHNhbXBsZXMpCi17Ci0JZG91YmxlICp0bXA7Ci0Jc2l6ZV90IGk7Ci0KLQl0bXAg PSBtYWxsb2Moc2l6ZW9mKGRvdWJsZSkgKiBzaWduYWwtPmNoYW5uZWxzICogc2FtcGxlcyk7Ci0J YXVkaW9fc2lnbmFsX2ZpbGwoc2lnbmFsLCB0bXAsIHNhbXBsZXMpOwotCi0JZm9yIChpID0gMDsg aSA8IHNpZ25hbC0+Y2hhbm5lbHMgKiBzYW1wbGVzOyArK2kpCi0JCWJ1ZmZlcltpXSA9IElOVDE2 X01BWCAqIHRtcFtpXTsKLQotCWZyZWUodG1wKTsKLX0KLQotdm9pZCBhdWRpb19zaWduYWxfZmls bF9zMjRfbGUoc3RydWN0IGF1ZGlvX3NpZ25hbCAqc2lnbmFsLCBpbnQzMl90ICpidWZmZXIsCi0J CQkgICAgICBzaXplX3Qgc2FtcGxlcykKLXsKLQlkb3VibGUgKnRtcDsKLQlzaXplX3QgaTsKLQot CXRtcCA9IG1hbGxvYyhzaXplb2YoZG91YmxlKSAqIHNpZ25hbC0+Y2hhbm5lbHMgKiBzYW1wbGVz KTsKLQlhdWRpb19zaWduYWxfZmlsbChzaWduYWwsIHRtcCwgc2FtcGxlcyk7Ci0KLQlmb3IgKGkg PSAwOyBpIDwgc2lnbmFsLT5jaGFubmVscyAqIHNhbXBsZXM7ICsraSkKLQkJYnVmZmVyW2ldID0g MHg3RkZGRkYgKiB0bXBbaV07Ci0KLQlmcmVlKHRtcCk7Ci19Ci0KLXZvaWQgYXVkaW9fc2lnbmFs X2ZpbGxfczMyX2xlKHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25hbCwgaW50MzJfdCAqYnVmZmVy LAotCQkJICAgICAgc2l6ZV90IHNhbXBsZXMpCi17Ci0JZG91YmxlICp0bXA7Ci0Jc2l6ZV90IGk7 Ci0KLQl0bXAgPSBtYWxsb2Moc2l6ZW9mKGRvdWJsZSkgKiBzaWduYWwtPmNoYW5uZWxzICogc2Ft cGxlcyk7Ci0JYXVkaW9fc2lnbmFsX2ZpbGwoc2lnbmFsLCB0bXAsIHNhbXBsZXMpOwotCi0JZm9y IChpID0gMDsgaSA8IHNpZ25hbC0+Y2hhbm5lbHMgKiBzYW1wbGVzOyArK2kpCi0JCWJ1ZmZlcltp XSA9IElOVDMyX01BWCAqIHRtcFtpXTsKLQotCWZyZWUodG1wKTsKLX0KLQogLyoqCiAgKiBDaGVj a3MgdGhhdCBmcmVxdWVuY2llcyBzcGVjaWZpZWQgaW4gc2lnbmFsLCBhbmQgb25seSB0aG9zZSwg YXJlIGluY2x1ZGVkCiAgKiBpbiB0aGUgaW5wdXQgZGF0YS4KQEAgLTUwOCw2ICs0NjMsNDggQEAg c2l6ZV90IGF1ZGlvX2V4dHJhY3RfY2hhbm5lbF9zMzJfbGUoZG91YmxlICpkc3QsIHNpemVfdCBk c3RfY2FwLAogCXJldHVybiBkc3RfbGVuOwogfQogCitzdGF0aWMgdm9pZCBhdWRpb19jb252ZXJ0 X3RvX3MxNl9sZShpbnQxNl90ICpkc3QsIGRvdWJsZSAqc3JjLCBzaXplX3QgbGVuKQoreworCXNp emVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IGxlbjsgKytpKQorCQlkc3RbaV0gPSBJTlQxNl9N QVggKiBzcmNbaV07Cit9CisKK3N0YXRpYyB2b2lkIGF1ZGlvX2NvbnZlcnRfdG9fczI0X2xlKGlu dDMyX3QgKmRzdCwgZG91YmxlICpzcmMsIHNpemVfdCBsZW4pCit7CisJc2l6ZV90IGk7CisKKwlm b3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpCisJCWRzdFtpXSA9IDB4N0ZGRkZGICogc3JjW2ldOwor fQorCitzdGF0aWMgdm9pZCBhdWRpb19jb252ZXJ0X3RvX3MzMl9sZShpbnQzMl90ICpkc3QsIGRv dWJsZSAqc3JjLCBzaXplX3QgbGVuKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8 IGxlbjsgKytpKQorCQlkc3RbaV0gPSBJTlQzMl9NQVggKiBzcmNbaV07Cit9CisKK3ZvaWQgYXVk aW9fY29udmVydF90byh2b2lkICpkc3QsIGRvdWJsZSAqc3JjLCBzaXplX3QgbGVuLAorCQkgICAg ICBzbmRfcGNtX2Zvcm1hdF90IGZvcm1hdCkKK3sKKwlzd2l0Y2ggKGZvcm1hdCkgeworCWNhc2Ug U05EX1BDTV9GT1JNQVRfUzE2X0xFOgorCQlhdWRpb19jb252ZXJ0X3RvX3MxNl9sZShkc3QsIHNy YywgbGVuKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfUENNX0ZPUk1BVF9TMjRfTEU6CisJCWF1ZGlv X2NvbnZlcnRfdG9fczI0X2xlKGRzdCwgc3JjLCBsZW4pOworCQlicmVhazsKKwljYXNlIFNORF9Q Q01fRk9STUFUX1MzMl9MRToKKwkJYXVkaW9fY29udmVydF90b19zMzJfbGUoZHN0LCBzcmMsIGxl bik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWFzc2VydChmYWxzZSk7IC8qIHVucmVhY2hhYmxl ICovCisJfQorfQorCiAjZGVmaW5lIFJJRkZfVEFHICJSSUZGIgogI2RlZmluZSBXQVZFX1RBRyAi V0FWRSIKICNkZWZpbmUgRk1UX1RBRyAiZm10ICIKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfYXVkaW8u aCBiL2xpYi9pZ3RfYXVkaW8uaAppbmRleCBjOGRlNzA4NzFmYWEuLjVjOTEwYzI3MzA0ZCAxMDA2 NDQKLS0tIGEvbGliL2lndF9hdWRpby5oCisrKyBiL2xpYi9pZ3RfYXVkaW8uaApAQCAtMzIsNiAr MzIsOCBAQAogI2luY2x1ZGUgPHN0ZGJvb2wuaD4KICNpbmNsdWRlIDxzdGRpbnQuaD4KIAorI2lu Y2x1ZGUgPGFsc2EvYXNvdW5kbGliLmg+CisKIHN0cnVjdCBhdWRpb19zaWduYWw7CiAKIHN0cnVj dCBhdWRpb19zaWduYWwgKmF1ZGlvX3NpZ25hbF9pbml0KGludCBjaGFubmVscywgaW50IHNhbXBs aW5nX3JhdGUpOwpAQCAtNDEsMTggKzQzLDE0IEBAIGludCBhdWRpb19zaWduYWxfYWRkX2ZyZXF1 ZW5jeShzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwsIGludCBmcmVxdWVuY3ksCiB2b2lkIGF1 ZGlvX3NpZ25hbF9zeW50aGVzaXplKHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25hbCk7CiB2b2lk IGF1ZGlvX3NpZ25hbF9yZXNldChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwpOwogdm9pZCBh dWRpb19zaWduYWxfZmlsbChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwsIGRvdWJsZSAqYnVm ZmVyLAotCQkgICAgICAgc2l6ZV90IGJ1ZmZlcl9sZW4pOwotdm9pZCBhdWRpb19zaWduYWxfZmls bF9zMTZfbGUoc3RydWN0IGF1ZGlvX3NpZ25hbCAqc2lnbmFsLCBpbnQxNl90ICpidWZmZXIsCi0J CQkgICAgICBzaXplX3QgYnVmZmVyX2xlbik7Ci12b2lkIGF1ZGlvX3NpZ25hbF9maWxsX3MyNF9s ZShzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwsIGludDMyX3QgKmJ1ZmZlciwKLQkJCSAgICAg IHNpemVfdCBidWZmZXJfbGVuKTsKLXZvaWQgYXVkaW9fc2lnbmFsX2ZpbGxfczMyX2xlKHN0cnVj dCBhdWRpb19zaWduYWwgKnNpZ25hbCwgaW50MzJfdCAqYnVmZmVyLAotCQkJICAgICAgc2l6ZV90 IGJ1ZmZlcl9sZW4pOworCQkgICAgICAgc2l6ZV90IHNhbXBsZXMpOwogYm9vbCBhdWRpb19zaWdu YWxfZGV0ZWN0KHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25hbCwgaW50IHNhbXBsaW5nX3JhdGUs CiAJCQkgaW50IGNoYW5uZWwsIGNvbnN0IGRvdWJsZSAqc2FtcGxlcywgc2l6ZV90IHNhbXBsZXNf bGVuKTsKIHNpemVfdCBhdWRpb19leHRyYWN0X2NoYW5uZWxfczMyX2xlKGRvdWJsZSAqZHN0LCBz aXplX3QgZHN0X2NhcCwKIAkJCQkgICAgaW50MzJfdCAqc3JjLCBzaXplX3Qgc3JjX2xlbiwKIAkJ CQkgICAgaW50IG5fY2hhbm5lbHMsIGludCBjaGFubmVsKTsKK3ZvaWQgYXVkaW9fY29udmVydF90 byh2b2lkICpkc3QsIGRvdWJsZSAqc3JjLCBzaXplX3QgbGVuLAorCQkgICAgICBzbmRfcGNtX2Zv cm1hdF90IGZvcm1hdCk7CiBpbnQgYXVkaW9fY3JlYXRlX3dhdl9maWxlX3MzMl9sZShjb25zdCBj aGFyICpxdWFsaWZpZXIsIHVpbnQzMl90IHNhbXBsZV9yYXRlLAogCQkJCSB1aW50MTZfdCBjaGFu bmVscywgY2hhciAqKnBhdGgpOwogCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY2hhbWVsaXVtLmMg Yi90ZXN0cy9rbXNfY2hhbWVsaXVtLmMKaW5kZXggOGM2M2NlZTVlMmU0Li4wNjVjYjE2NzZhM2Ig MTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19jaGFtZWxpdW0uYworKysgYi90ZXN0cy9rbXNfY2hhbWVs aXVtLmMKQEAgLTEwMTIsMjAgKzEwMTIsMTQgQEAgc3RhdGljIGludAogYXVkaW9fb3V0cHV0X2Zy ZXF1ZW5jaWVzX2NhbGxiYWNrKHZvaWQgKmRhdGEsIHZvaWQgKmJ1ZmZlciwgaW50IHNhbXBsZXMp CiB7CiAJc3RydWN0IGF1ZGlvX3N0YXRlICpzdGF0ZSA9IGRhdGE7Ci0KLQlzd2l0Y2ggKHN0YXRl LT5wbGF5YmFjay5mb3JtYXQpIHsKLQljYXNlIFNORF9QQ01fRk9STUFUX1MxNl9MRToKLQkJYXVk aW9fc2lnbmFsX2ZpbGxfczE2X2xlKHN0YXRlLT5zaWduYWwsIGJ1ZmZlciwgc2FtcGxlcyk7Ci0J CWJyZWFrOwotCWNhc2UgU05EX1BDTV9GT1JNQVRfUzI0X0xFOgotCQlhdWRpb19zaWduYWxfZmls bF9zMjRfbGUoc3RhdGUtPnNpZ25hbCwgYnVmZmVyLCBzYW1wbGVzKTsKLQkJYnJlYWs7Ci0JY2Fz ZSBTTkRfUENNX0ZPUk1BVF9TMzJfTEU6Ci0JCWF1ZGlvX3NpZ25hbF9maWxsX3MzMl9sZShzdGF0 ZS0+c2lnbmFsLCBidWZmZXIsIHNhbXBsZXMpOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQlhc3Nl cnQoZmFsc2UpOyAvKiB1bnJlYWNoYWJsZSAqLwotCX0KKwlkb3VibGUgKnRtcDsKKwlzaXplX3Qg bGVuOworCisJbGVuID0gc2FtcGxlcyAqIHN0YXRlLT5wbGF5YmFjay5jaGFubmVsczsKKwl0bXAg PSBtYWxsb2MobGVuICogc2l6ZW9mKGRvdWJsZSkpOworCWF1ZGlvX3NpZ25hbF9maWxsKHN0YXRl LT5zaWduYWwsIHRtcCwgc2FtcGxlcyk7CisJYXVkaW9fY29udmVydF90byhidWZmZXIsIHRtcCwg bGVuLCBzdGF0ZS0+cGxheWJhY2suZm9ybWF0KTsKKwlmcmVlKHRtcCk7CiAKIAlyZXR1cm4gc3Rh dGUtPnJ1biA/IDAgOiAtMTsKIH0KLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pZ3QtZGV2