From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH 03/11] drm: parse ycbcr 420 vdb block Date: Fri, 7 Apr 2017 19:39:20 +0300 Message-ID: <1491583168-20042-4-git-send-email-shashank.sharma@intel.com> References: <1491583168-20042-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1491583168-20042-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: Jose Abreu List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSm9zZSBBYnJldSA8am9zZS5hYnJldUBzeW5vcHN5cy5jb20+CgpIRE1JIDIuMCBzcGVj IGFkZHMgc3VwcG9ydCBmb3IgeWNiY3I0MjAgc3Vic2FtcGxlZCBvdXRwdXQuCkNFQS04NjEtRiBh ZGRzIHR3byBuZXcgYmxvY2tzIGluIEVESUQsIHRvIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQK c2luaydzIHN1cHBvcnQgZm9yIHljYmNyNDIwIG91dHB1dC4KClRoZXNlIG5ldyBibG9ja3MgYXJl OgotIHljYmNyNDIwIHZpZGVvIGRhdGEgKHZkYikgYmxvY2s6IHZpZGVvIG1vZGVzIHdoaWNoIGNh biBiZSBzdXBwb3J0ZWQKICBvbmx5IGluIHljYmNyNDIwIG91dHB1dCBtb2RlLgotIHljYmNyNDIw IHZpZGVvIGNhcGFiaWxpdHkgZGF0YSAodmNiKSBibG9jazogdmlkZW8gbW9kZXMgd2hpY2ggY2Fu IGJlCiAgc3VwcG9ydCBpbiB5Y2JjcjQyMCBvdXRwdXQgbW9kZSBhbHNvIChhbG9uZyB3aXRoIFJH QiwgWUNCQ1IgNDQ0LzQyMiBldGMpCgpUaGlzIHBhdGNoIGFkZHMgcGFyc2luZyBhbmQgaGFuZGxp bmcgb2YgeWNiY3I0MjAtdmRiIGluIHRoZSBEUk0KbGF5ZXIuCgpUaGlzIHBhdGNoIGlzIGEgbW9k aWZpZWQgdmVyc2lvbiBvZiBKb3NlJ3MgUkZDIHBhdGNoOgpodHRwczovL3BhdGNod29yay5rZXJu ZWwub3JnL3BhdGNoLzk0OTIzMjcvCnNvIHRoZSBhdXRob3JzaGlwIGlzIG1haW50YWluZWQuCgpD YzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1v ZmYtYnk6IEpvc2UgQWJyZXUgPGpvYWJyZXVAc3lub3BzeXMuY29tPgpTaWduZWQtb2ZmLWJ5OiBT aGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2RybV9lZGlkLmMgIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMgfCAxMCArKysrKysrLS0K IGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCB8ICAxICsKIGluY2x1ZGUvdWFwaS9kcm0vZHJt X21vZGUuaCB8ICA2ICsrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDY3IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwppbmRleCA4ZDk4Njg3Li42NGQ4ZTJlIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2VkaWQuYwpAQCAtMjc3Nyw2ICsyNzc3LDcgQEAgYWRkX2RldGFpbGVkX21vZGVzKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsIHN0cnVjdCBlZGlkICplZGlkLAogI2RlZmluZSBWRU5E T1JfQkxPQ0sgICAgMHgwMwogI2RlZmluZSBTUEVBS0VSX0JMT0NLCTB4MDQKICNkZWZpbmUgVklE RU9fQ0FQQUJJTElUWV9CTE9DSwkweDA3CisjZGVmaW5lIFZJREVPX0RBVEFfQkxPQ0tfNDIwCTB4 MEUKICNkZWZpbmUgRURJRF9CQVNJQ19BVURJTwkoMSA8PCA2KQogI2RlZmluZSBFRElEX0NFQV9Z Q1JDQjQ0NAkoMSA8PCA1KQogI2RlZmluZSBFRElEX0NFQV9ZQ1JDQjQyMgkoMSA8PCA0KQpAQCAt MzI3OCw2ICszMjc5LDMyIEBAIHN0YXRpYyBpbnQgYWRkXzNkX3N0cnVjdF9tb2RlcyhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MTYgc3RydWN0dXJlLAogCXJldHVybiBtb2RlczsK IH0KIAorLyogTW9kZXMgd2hpY2ggY2FuIGJlIHN1cHBvcnRlZCBpbiB5Y2JjciA0MjAgZm9ybWF0 IG9ubHkgKi8KK3N0YXRpYyBpbnQgZG9fNDIwX3ZkYl9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLCBjb25zdCB1OCAqc3ZkcywKKwkJdTggc3Zkc19sZW4pCit7CisJaW50IG1v ZGVzID0gMCwgaTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7CisJ c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm5ld21vZGU7CisJc3RydWN0IGRybV9kaXNwbGF5X2lu Zm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87CisKKwlmb3IgKGkgPSAwOyBpIDwg c3Zkc19sZW47IGkrKykgeworCQl1OCB2aWMgPSBzdmRzW2ldICYgMHg3ZjsKKworCQluZXdtb2Rl ID0gZHJtX21vZGVfZHVwbGljYXRlKGRldiwgJmVkaWRfY2VhX21vZGVzW3ZpY10pOworCQlpZiAo IW5ld21vZGUpCisJCQlicmVhazsKKworCQluZXdtb2RlLT5mbGFncyB8PSBEUk1fTU9ERV9GTEFH XzQyMF9PTkxZOworCQlkcm1fbW9kZV9wcm9iZWRfYWRkKGNvbm5lY3RvciwgbmV3bW9kZSk7CisJ CW1vZGVzKys7CisJfQorCisJaWYgKG1vZGVzID4gMCkKKwkJaW5mby0+Y29sb3JfZm9ybWF0cyB8 PSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDIwOworCXJldHVybiBtb2RlczsKK30KKwogLyoKICAq IGRvX2hkbWlfdnNkYl9tb2RlcyAtIFBhcnNlIHRoZSBIRE1JIFZlbmRvciBTcGVjaWZpYyBkYXRh IGJsb2NrCiAgKiBAY29ubmVjdG9yOiBjb25uZWN0b3IgY29ycmVzcG9uZGluZyB0byB0aGUgSERN SSBzaW5rCkBAIC0zNDM0LDYgKzM0NjEsMTIgQEAgY2VhX2RiX3RhZyhjb25zdCB1OCAqZGIpCiB9 CiAKIHN0YXRpYyBpbnQKK2NlYV9kYl9leHRlbmRlZF90YWcoY29uc3QgdTggKmRiKQoreworCXJl dHVybiBkYlsxXTsKK30KKworc3RhdGljIGludAogY2VhX3JldmlzaW9uKGNvbnN0IHU4ICpjZWEp CiB7CiAJcmV0dXJuIGNlYVsxXTsKQEAgLTM0ODIsNiArMzUxNSwxNyBAQCBzdGF0aWMgYm9vbCBj ZWFfZGJfaXNfaGRtaV9mb3J1bV92c2RiKGNvbnN0IHU4ICpkYikKIAlyZXR1cm4gb3VpID09IEhE TUlfRk9SVU1fSUVFRV9PVUk7CiB9CiAKK3N0YXRpYyBib29sIGNlYV9kYl9pc19oZG1pX3ZkYjQy MChjb25zdCB1OCAqZGIpCit7CisJaWYgKGNlYV9kYl90YWcoZGIpICE9IFZJREVPX0NBUEFCSUxJ VFlfQkxPQ0spCisJCXJldHVybiBmYWxzZTsKKworCWlmIChjZWFfZGJfZXh0ZW5kZWRfdGFnKGRi KSAhPSBWSURFT19EQVRBX0JMT0NLXzQyMCkKKwkJcmV0dXJuIGZhbHNlOworCisJcmV0dXJuIHRy dWU7Cit9CisKICNkZWZpbmUgZm9yX2VhY2hfY2VhX2RiKGNlYSwgaSwgc3RhcnQsIGVuZCkgXAog CWZvciAoKGkpID0gKHN0YXJ0KTsgKGkpIDwgKGVuZCkgJiYgKGkpICsgY2VhX2RiX3BheWxvYWRf bGVuKCYoY2VhKVsoaSldKSA8IChlbmQpOyAoaSkgKz0gY2VhX2RiX3BheWxvYWRfbGVuKCYoY2Vh KVsoaSldKSArIDEpCiAKQEAgLTM1MDcsMTAgKzM1NTEsMTYgQEAgYWRkX2NlYV9tb2RlcyhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1Y3QgZWRpZCAqZWRpZCkKIAkJCQl2aWRl byA9IGRiICsgMTsKIAkJCQl2aWRlb19sZW4gPSBkYmw7CiAJCQkJbW9kZXMgKz0gZG9fY2VhX21v ZGVzKGNvbm5lY3RvciwgdmlkZW8sIGRibCk7Ci0JCQl9Ci0JCQllbHNlIGlmIChjZWFfZGJfaXNf aGRtaV92c2RiKGRiKSkgeworCQkJfSBlbHNlIGlmIChjZWFfZGJfaXNfaGRtaV92c2RiKGRiKSkg ewogCQkJCWhkbWkgPSBkYjsKIAkJCQloZG1pX2xlbiA9IGRibDsKKwkJCX0gZWxzZSBpZiAoY2Vh X2RiX2lzX2hkbWlfdmRiNDIwKGRiKSkgeworCQkJCWNvbnN0IHU4ICp2ZGI0MjAgPSAmZGJbMl07 CisJCQkJdTggdmRiNDIwX2xlbiA9IGRibCAtIDE7CisKKwkJCQkvKiBBZGQgNDoyOjAob25seSkg bW9kZXMgcHJlc2VudCBpbiBFRElEICovCisJCQkJbW9kZXMgKz0gZG9fNDIwX3ZkYl9tb2Rlcyhj b25uZWN0b3IsIHZkYjQyMCwKKwkJCQkJCQkgIHZkYjQyMF9sZW4pOwogCQkJfQogCQl9CiAJfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9tb2Rlcy5jCmluZGV4IGYyNDkzYjkuLjEwNDMyZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fbW9kZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMKQEAg LTk4Nyw2ICs5ODcsMTAgQEAgYm9vbCBkcm1fbW9kZV9lcXVhbF9ub19jbG9ja3MoY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUxLCBjb25zdCBzdHJ1Y3QKIAkgICAgKG1vZGUyLT5m bGFncyAmIERSTV9NT0RFX0ZMQUdfM0RfTUFTSykpCiAJCXJldHVybiBmYWxzZTsKIAorCWlmICgo bW9kZTEtPmZsYWdzICYgRFJNX01PREVfRkxBR180MjBfTUFTSykgIT0KKwkgICAgKG1vZGUyLT5m bGFncyAmIERSTV9NT0RFX0ZMQUdfNDIwX01BU0spKQorCQlyZXR1cm4gZmFsc2U7CisKIAlyZXR1 cm4gZHJtX21vZGVfZXF1YWxfbm9fY2xvY2tzX25vX3N0ZXJlbyhtb2RlMSwgbW9kZTIpOwogfQog RVhQT1JUX1NZTUJPTChkcm1fbW9kZV9lcXVhbF9ub19jbG9ja3MpOwpAQCAtMTAwNSw2ICsxMDA5 LDkgQEAgRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9lcXVhbF9ub19jbG9ja3MpOwogYm9vbCBkcm1f bW9kZV9lcXVhbF9ub19jbG9ja3Nfbm9fc3RlcmVvKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlMSwKIAkJCQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUyKQog eworCXVuc2lnbmVkIGludCBmbGFnc19tYXNrID0KKwkJfihEUk1fTU9ERV9GTEFHXzNEX01BU0sg fCBEUk1fTU9ERV9GTEFHXzQyMF9NQVNLKTsKKwogCWlmIChtb2RlMS0+aGRpc3BsYXkgPT0gbW9k ZTItPmhkaXNwbGF5ICYmCiAJICAgIG1vZGUxLT5oc3luY19zdGFydCA9PSBtb2RlMi0+aHN5bmNf c3RhcnQgJiYKIAkgICAgbW9kZTEtPmhzeW5jX2VuZCA9PSBtb2RlMi0+aHN5bmNfZW5kICYmCkBA IC0xMDE1LDggKzEwMjIsNyBAQCBib29sIGRybV9tb2RlX2VxdWFsX25vX2Nsb2Nrc19ub19zdGVy ZW8oY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUxLAogCSAgICBtb2RlMS0+dnN5 bmNfZW5kID09IG1vZGUyLT52c3luY19lbmQgJiYKIAkgICAgbW9kZTEtPnZ0b3RhbCA9PSBtb2Rl Mi0+dnRvdGFsICYmCiAJICAgIG1vZGUxLT52c2NhbiA9PSBtb2RlMi0+dnNjYW4gJiYKLQkgICAg KG1vZGUxLT5mbGFncyAmIH5EUk1fTU9ERV9GTEFHXzNEX01BU0spID09Ci0JICAgICAobW9kZTIt PmZsYWdzICYgfkRSTV9NT0RFX0ZMQUdfM0RfTUFTSykpCisJICAgIChtb2RlMS0+ZmxhZ3MgJiBm bGFnc19tYXNrKSA9PSAobW9kZTItPmZsYWdzICYgZmxhZ3NfbWFzaykpCiAJCXJldHVybiB0cnVl OwogCiAJcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rv ci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCmluZGV4IDRlZWRhMTIuLmNlZjc2YjIg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAorKysgYi9pbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmgKQEAgLTE5OSw2ICsxOTksNyBAQCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf aW5mbyB7CiAjZGVmaW5lIERSTV9DT0xPUl9GT1JNQVRfUkdCNDQ0CQkoMTw8MCkKICNkZWZpbmUg RFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQ0NAkoMTw8MSkKICNkZWZpbmUgRFJNX0NPTE9SX0ZPUk1B VF9ZQ1JDQjQyMgkoMTw8MikKKyNkZWZpbmUgRFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQyMAkoMTw8 MikKIAogCS8qKgogCSAqIEBjb2xvcl9mb3JtYXRzOiBIRE1JIENvbG9yIGZvcm1hdHMsIHNlbGVj dHMgYmV0d2VlbiBSR0IgYW5kIFlDckNiCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2Ry bV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKaW5kZXggOGM2N2ZjMC4uMWU3 NGQ4ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCisrKyBiL2luY2x1 ZGUvdWFwaS9kcm0vZHJtX21vZGUuaApAQCAtODQsNiArODQsMTIgQEAgZXh0ZXJuICJDIiB7CiAj ZGVmaW5lICBEUk1fTU9ERV9GTEFHXzNEX0xfREVQVEhfR0ZYX0dGWF9ERVBUSAkoNjw8MTQpCiAj ZGVmaW5lICBEUk1fTU9ERV9GTEFHXzNEX1RPUF9BTkRfQk9UVE9NCSg3PDwxNCkKICNkZWZpbmUg IERSTV9NT0RFX0ZMQUdfM0RfU0lERV9CWV9TSURFX0hBTEYJKDg8PDE0KQorLyoKKyAqIEhETUkg Mi4wCisgKi8KKyNkZWZpbmUgRFJNX01PREVfRkxBR180MjBfTUFTSwkJCSgweDAzPDwyMykKKyNk ZWZpbmUgIERSTV9NT0RFX0ZMQUdfNDIwCQkJKDE8PDIzKQorI2RlZmluZSAgRFJNX01PREVfRkxB R180MjBfT05MWQkJCSgxPDwyNCkKIAogLyogUGljdHVyZSBhc3BlY3QgcmF0aW8gb3B0aW9ucyAq LwogI2RlZmluZSBEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF9OT05FCQkwCi0tIAoyLjcuNAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==