From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 596BA6E316 for ; Wed, 29 May 2019 13:32:46 +0000 (UTC) From: Simon Ser Date: Wed, 29 May 2019 16:32:49 +0300 Message-Id: <20190529133250.27817-5-simon.ser@intel.com> In-Reply-To: <20190529133250.27817-1-simon.ser@intel.com> References: <20190529133250.27817-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 4/5] lib/igt_audio: detect noise and pops 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: Rmlyc3QsIG5vcm1hbGl6ZSB0aGUgYmluIHBvd2VyIGJ5IGRpdmlkaW5nIGl0IGJ5IHRoZSBudW1i ZXIgb2YgaW5wdXQgc2FtcGxlcy4KV2UgbmVlZCB0byBtdWx0aXBseSBieSAyIHNpbmNlIHdlIGdl dCBoYWxmIGFzIG1hbnkgYmlucyBhcyBpbnB1dCBzYW1wbGVzLgoKU2Vjb25kLCBjaGVjayB0aGF0 IGxvdyBmcmVxdWVuY2llcyBhcmUgdW5kZXIgYSBnaXZlbiB0aHJlc2hvbGQuIElmIHRoZXJlIGlz IGEKcG9wIG9yIHNvbWUgbm9pc2UsIHRoZSBsb3cgZnJlcXVlbmNpZXMgd2lsbCBiZSBhZmZlY3Rl ZC4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIFNlciA8c2ltb24uc2VyQGludGVsLmNvbT4KLS0tCiBs aWIvaWd0X2F1ZGlvLmMgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGliL2lndF9hdWRpby5jIGIvbGliL2lndF9hdWRpby5jCmluZGV4IDA4 YzBmYjZhZjBkYi4uNDIzNjE1NDI3YTRkIDEwMDY0NAotLS0gYS9saWIvaWd0X2F1ZGlvLmMKKysr IGIvbGliL2lndF9hdWRpby5jCkBAIC0zOSw2ICszOSw4IEBACiAjZGVmaW5lIENIQU5ORUxTX01B WCA4CiAjZGVmaW5lIFNZTlRIRVNJWkVfQU1QTElUVURFIDAuOQogI2RlZmluZSBTWU5USEVTSVpF X0FDQ1VSQUNZIDAuMgorI2RlZmluZSBNSU5fRlJFUSAyMDAgLyogSHogKi8KKyNkZWZpbmUgTk9J U0VfVEhSRVNIT0xEIDAuMDAwNQogCiAvKioKICAqIFNFQ1RJT046aWd0X2F1ZGlvCkBAIC0xMDgs NiArMTEwLDcgQEAgaW50IGF1ZGlvX3NpZ25hbF9hZGRfZnJlcXVlbmN5KHN0cnVjdCBhdWRpb19z aWduYWwgKnNpZ25hbCwgaW50IGZyZXF1ZW5jeSwKIAogCWlndF9hc3NlcnQoaW5kZXggPCBGUkVR U19NQVgpOwogCWlndF9hc3NlcnQoY2hhbm5lbCA8IHNpZ25hbC0+Y2hhbm5lbHMpOworCWlndF9h c3NlcnQoZnJlcXVlbmN5ID49IE1JTl9GUkVRKTsKIAogCS8qIFN0YXkgd2l0aGluIHRoZSBOeXF1 aXN04oCTU2hhbm5vbiBzYW1wbGluZyB0aGVvcmVtLiAqLwogCWlmIChmcmVxdWVuY3kgPiBzaWdu YWwtPnNhbXBsaW5nX3JhdGUgLyAyKSB7CkBAIC0zMDQsNiArMzA3LDEyIEBAIHZvaWQgYXVkaW9f c2lnbmFsX2ZpbGwoc3RydWN0IGF1ZGlvX3NpZ25hbCAqc2lnbmFsLCBkb3VibGUgKmJ1ZmZlciwK IAlhdWRpb19zYW5pdHlfY2hlY2soYnVmZmVyLCBzaWduYWwtPmNoYW5uZWxzICogc2FtcGxlcyk7 CiB9CiAKKy8qIFNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9XaW5kb3dfZnVuY3Rp b24jSGFubl9hbmRfSGFtbWluZ193aW5kb3dzICovCitzdGF0aWMgZG91YmxlIGhhbm5fd2luZG93 KGRvdWJsZSB2LCBzaXplX3QgaSwgc2l6ZV90IE4pCit7CisJcmV0dXJuIHYgKiAwLjUgKiAoMSAt IGNvcygyLjAgKiBNX1BJICogKGRvdWJsZSkgaSAvIChkb3VibGUpIE4pKTsKK30KKwogLyoqCiAg KiBDaGVja3MgdGhhdCBmcmVxdWVuY2llcyBzcGVjaWZpZWQgaW4gc2lnbmFsLCBhbmQgb25seSB0 aG9zZSwgYXJlIGluY2x1ZGVkCiAgKiBpbiB0aGUgaW5wdXQgZGF0YS4KQEAgLTMyOCw2ICszMzcs MTEgQEAgYm9vbCBhdWRpb19zaWduYWxfZGV0ZWN0KHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25h bCwgaW50IHNhbXBsaW5nX3JhdGUsCiAJZGF0YSA9IG1hbGxvYyhzYW1wbGVzX2xlbiAqIHNpemVv Zihkb3VibGUpKTsKIAltZW1jcHkoZGF0YSwgc2FtcGxlcywgc2FtcGxlc19sZW4gKiBzaXplb2Yo ZG91YmxlKSk7CiAKKwkvKiBBcHBseSBhIEhhbm4gd2luZG93IHRvIHRoZSBpbnB1dCBzaWduYWws IHRvIHJlZHVjZSBmcmVxdWVuY3kgbGVha3MKKwkgKiBkdWUgdG8gdGhlIGVuZHBvaW50cyBvZiB0 aGUgc2lnbmFsIGJlaW5nIGRpc2NvbnRpbnVvdXMuICovCisJZm9yIChpID0gMDsgaSA8IGRhdGFf bGVuOyBpKyspCisJCWRhdGFbaV0gPSBoYW5uX3dpbmRvdyhkYXRhW2ldLCBpLCBkYXRhX2xlbik7 CisKIAkvKiBBbGxvd2VkIGVycm9yIGluIEh6IGR1ZSB0byBGRlQgc3RlcCAqLwogCWZyZXFfYWNj dXJhY3kgPSBzYW1wbGluZ19yYXRlIC8gZGF0YV9sZW47CiAJaWd0X2RlYnVnKCJBbGxvd2VkIGZy ZXEuIGVycm9yOiAlZCBIelxuIiwgZnJlcV9hY2N1cmFjeSk7CkBAIC0zMzgsOCArMzUyLDcgQEAg Ym9vbCBhdWRpb19zaWduYWxfZGV0ZWN0KHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25hbCwgaW50 IHNhbXBsaW5nX3JhdGUsCiAJCWlndF9hc3NlcnQoMCk7CiAJfQogCi0JLyogQ29tcHV0ZSB0aGUg cG93ZXIgcmVjZWl2ZWQgYnkgZXZlcnkgYmluIG9mIHRoZSBGRlQsIGFuZCByZWNvcmQgdGhlCi0J ICogbWF4aW11bSBwb3dlciByZWNlaXZlZCBhcyBhIHdheSB0byBub3JtYWxpemUgYWxsIHRoZSBv dGhlcnMuCisJLyogQ29tcHV0ZSB0aGUgcG93ZXIgcmVjZWl2ZWQgYnkgZXZlcnkgYmluIG9mIHRo ZSBGRlQuCiAJICoKIAkgKiBGb3IgaSA8IGRhdGFfbGVuIC8gMiwgdGhlIHJlYWwgcGFydCBvZiB0 aGUgaS10aCB0ZXJtIGlzIHN0b3JlZCBhdAogCSAqIGRhdGFbaV0gYW5kIGl0cyBpbWFnaW5hcnkg cGFydCBpcyBzdG9yZWQgYXQgZGF0YVtkYXRhX2xlbiAtIGldLgpAQCAtMzQ5LDE1ICszNjIsMzYg QEAgYm9vbCBhdWRpb19zaWduYWxfZGV0ZWN0KHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25hbCwg aW50IHNhbXBsaW5nX3JhdGUsCiAJICogVGhlIHBvd2VyIGlzIGVuY29kZWQgYXMgdGhlIG1hZ25p dHVkZSBvZiB0aGUgY29tcGxleCBudW1iZXIgYW5kIHRoZQogCSAqIHBoYXNlIGlzIGVuY29kZWQg YXMgaXRzIGFuZ2xlLgogCSAqLwotCW1heCA9IDA7CiAJYmluX3Bvd2VyWzBdID0gZGF0YVswXTsK IAlmb3IgKGkgPSAxOyBpIDwgYmluX3Bvd2VyX2xlbiAtIDE7IGkrKykgewogCQliaW5fcG93ZXJb aV0gPSBoeXBvdChkYXRhW2ldLCBkYXRhW2RhdGFfbGVuIC0gaV0pOwotCQlpZiAoYmluX3Bvd2Vy W2ldID4gbWF4KQotCQkJbWF4ID0gYmluX3Bvd2VyW2ldOwogCX0KIAliaW5fcG93ZXJbYmluX3Bv d2VyX2xlbiAtIDFdID0gZGF0YVtkYXRhX2xlbiAvIDJdOwogCisJLyogTm9ybWFsaXplIHRoZSBw b3dlciAqLworCWZvciAoaSA9IDA7IGkgPCBiaW5fcG93ZXJfbGVuOyBpKyspCisJCWJpbl9wb3dl cltpXSA9IDIgKiBiaW5fcG93ZXJbaV0gLyBkYXRhX2xlbjsKKworCS8qIERldGVjdCBub2lzZSB3 aXRoIGEgdGhyZXNob2xkIG9uIHRoZSBwb3dlciBvZiBsb3cgZnJlcXVlbmNpZXMgKi8KKwlmb3Ig KGkgPSAwOyBpIDwgYmluX3Bvd2VyX2xlbjsgaSsrKSB7CisJCWZyZXEgPSBzYW1wbGluZ19yYXRl ICogaSAvIGRhdGFfbGVuOworCQlpZiAoZnJlcSA+IE1JTl9GUkVRIC0gMTAwKQorCQkJYnJlYWs7 CisJCWlmIChiaW5fcG93ZXJbaV0gPiBOT0lTRV9USFJFU0hPTEQpIHsKKwkJCWlndF9kZWJ1Zygi Tm9pc2UgbGV2ZWwgdG9vIGhpZ2g6IGZyZXE9JWQgcG93ZXI9JWZcbiIsCisJCQkJICBmcmVxLCBi aW5fcG93ZXJbaV0pOworCQkJcmV0dXJuIGZhbHNlOworCQl9CisJfQorCisJLyogUmVjb3JkIHRo ZSBtYXhpbXVtIHBvd2VyIHJlY2VpdmVkIGFzIGEgd2F5IHRvIG5vcm1hbGl6ZSBhbGwgdGhlCisJ ICogb3RoZXJzLiAqLworCW1heCA9IE5BTjsKKwlmb3IgKGkgPSAwOyBpIDwgYmluX3Bvd2VyX2xl bjsgaSsrKSB7CisJCWlmIChpc25hbihtYXgpIHx8IGJpbl9wb3dlcltpXSA+IG1heCkKKwkJCW1h eCA9IGJpbl9wb3dlcltpXTsKKwl9CisKIAlmb3IgKGkgPSAwOyBpIDwgc2lnbmFsLT5mcmVxc19j b3VudDsgaSsrKQogCQlkZXRlY3RlZFtpXSA9IGZhbHNlOwogCi0tIAoyLjIxLjAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBs aXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==