From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-wm0-f68.google.com ([74.125.82.68]:40265 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726563AbeIKN2O (ORCPT ); Tue, 11 Sep 2018 09:28:14 -0400 Received: by mail-wm0-f68.google.com with SMTP id 207-v6so407076wme.5 for ; Tue, 11 Sep 2018 01:30:00 -0700 (PDT) From: Oleksandr Andrushchenko To: xen-devel@lists.xenproject.org, konrad.wilk@oracle.com, jgross@suse.com, boris.ostrovsky@oracle.com, mchehab@kernel.org, linux-media@vger.kernel.org, sakari.ailus@linux.intel.com, koji.matsuoka.xm@renesas.com, hverkuil@xs4all.nl Cc: Oleksandr Andrushchenko Subject: [Xen-devel][PATCH v2 0/1] cameraif: add ABI for para-virtual camera Date: Tue, 11 Sep 2018 11:29:51 +0300 Message-Id: <20180911082952.23322-1-andr2000@gmail.com> Sender: linux-media-owner@vger.kernel.org List-ID: From: Oleksandr Andrushchenko Hello! At the moment Xen [1] already supports some virtual multimedia features [2] such as virtual display, sound. It supports keyboards, pointers and multi-touch devices all allowing Xen to be used in automotive appliances, In-Vehicle Infotainment (IVI) systems and many more. This work adds a new Xen para-virtualized protocol for a virtual camera device which extends multimedia capabilities of Xen even farther: video conferencing, IVI, high definition maps etc. The initial goal is to support most needed functionality with the final idea to make it possible to extend the protocol if need be: 1. Provide means for base virtual device configuration: - pixel formats - resolutions - frame rates 2. Support basic camera controls: - contrast - brightness - hue - saturation 3. Support streaming control 4. Support zero-copying use-cases I hope that Xen and V4L and other communities could give their valuable feedback on this work, so I can update the protocol to better fit any additional requirements I might have missed. I would like to thank Hans Verkuil for valuable comments and help. Thank you, Oleksandr Andrushchenko Changes since v1: ================= 1. Added XenStore entries: - frame-rates 2. Do not require the FOURCC code in XenStore to be upper case only 3. Added/changed command set: - configuration get/set - buffer queue/dequeue - control get 4. Added control flags, e.g. read-only etc. 5. Added colorspace configuration support, relevant constants 6. Added events: - configuration change - control change 7. Changed control values to 64-bit 8. Added sequence number to frame avail event 9. Coding style cleanup [1] https://www.xenproject.org/ [2] https://xenbits.xen.org/gitweb/?p=xen.git;a=tree;f=xen/include/public/io Oleksandr Andrushchenko (1): cameraif: add ABI for para-virtual camera xen/include/public/io/cameraif.h | 1263 ++++++++++++++++++++++++++++++ 1 file changed, 1263 insertions(+) create mode 100644 xen/include/public/io/cameraif.h -- 2.18.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH v2 0/1] cameraif: add ABI for para-virtual camera Date: Tue, 11 Sep 2018 11:29:51 +0300 Message-ID: <20180911082952.23322-1-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fze3e-0007b5-VM for xen-devel@lists.xenproject.org; Tue, 11 Sep 2018 08:30:03 +0000 Received: by mail-wm0-x243.google.com with SMTP id n11-v6so424724wmc.2 for ; Tue, 11 Sep 2018 01:30:01 -0700 (PDT) List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, konrad.wilk@oracle.com, jgross@suse.com, boris.ostrovsky@oracle.com, mchehab@kernel.org, linux-media@vger.kernel.org, sakari.ailus@linux.intel.com, koji.matsuoka.xm@renesas.com, hverkuil@xs4all.nl Cc: Oleksandr Andrushchenko List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw YW0uY29tPgoKSGVsbG8hCgpBdCB0aGUgbW9tZW50IFhlbiBbMV0gYWxyZWFkeSBzdXBwb3J0cyBz b21lIHZpcnR1YWwgbXVsdGltZWRpYQpmZWF0dXJlcyBbMl0gc3VjaCBhcyB2aXJ0dWFsIGRpc3Bs YXksIHNvdW5kLiBJdCBzdXBwb3J0cyBrZXlib2FyZHMsCnBvaW50ZXJzIGFuZCBtdWx0aS10b3Vj aCBkZXZpY2VzIGFsbCBhbGxvd2luZyBYZW4gdG8gYmUgdXNlZCBpbgphdXRvbW90aXZlIGFwcGxp YW5jZXMsIEluLVZlaGljbGUgSW5mb3RhaW5tZW50IChJVkkpIHN5c3RlbXMKYW5kIG1hbnkgbW9y ZS4KClRoaXMgd29yayBhZGRzIGEgbmV3IFhlbiBwYXJhLXZpcnR1YWxpemVkIHByb3RvY29sIGZv ciBhIHZpcnR1YWwKY2FtZXJhIGRldmljZSB3aGljaCBleHRlbmRzIG11bHRpbWVkaWEgY2FwYWJp bGl0aWVzIG9mIFhlbiBldmVuCmZhcnRoZXI6IHZpZGVvIGNvbmZlcmVuY2luZywgSVZJLCBoaWdo IGRlZmluaXRpb24gbWFwcyBldGMuCgpUaGUgaW5pdGlhbCBnb2FsIGlzIHRvIHN1cHBvcnQgbW9z dCBuZWVkZWQgZnVuY3Rpb25hbGl0eSB3aXRoIHRoZQpmaW5hbCBpZGVhIHRvIG1ha2UgaXQgcG9z c2libGUgdG8gZXh0ZW5kIHRoZSBwcm90b2NvbCBpZiBuZWVkIGJlOgoKMS4gUHJvdmlkZSBtZWFu cyBmb3IgYmFzZSB2aXJ0dWFsIGRldmljZSBjb25maWd1cmF0aW9uOgogLSBwaXhlbCBmb3JtYXRz CiAtIHJlc29sdXRpb25zCiAtIGZyYW1lIHJhdGVzCjIuIFN1cHBvcnQgYmFzaWMgY2FtZXJhIGNv bnRyb2xzOgogLSBjb250cmFzdAogLSBicmlnaHRuZXNzCiAtIGh1ZQogLSBzYXR1cmF0aW9uCjMu IFN1cHBvcnQgc3RyZWFtaW5nIGNvbnRyb2wKNC4gU3VwcG9ydCB6ZXJvLWNvcHlpbmcgdXNlLWNh c2VzCgpJIGhvcGUgdGhhdCBYZW4gYW5kIFY0TCBhbmQgb3RoZXIgY29tbXVuaXRpZXMgY291bGQg Z2l2ZSB0aGVpcgp2YWx1YWJsZSBmZWVkYmFjayBvbiB0aGlzIHdvcmssIHNvIEkgY2FuIHVwZGF0 ZSB0aGUgcHJvdG9jb2wKdG8gYmV0dGVyIGZpdCBhbnkgYWRkaXRpb25hbCByZXF1aXJlbWVudHMg SSBtaWdodCBoYXZlIG1pc3NlZC4KCkkgd291bGQgbGlrZSB0byB0aGFuayBIYW5zIFZlcmt1aWwg PGh2ZXJrdWlsQHhzNGFsbC5ubD4gZm9yIHZhbHVhYmxlCmNvbW1lbnRzIGFuZCBoZWxwLgoKVGhh bmsgeW91LApPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbwoKQ2hhbmdlcyBzaW5jZSB2MToKPT09PT09 PT09PT09PT09PT0KCjEuIEFkZGVkIFhlblN0b3JlIGVudHJpZXM6CiAtIGZyYW1lLXJhdGVzCjIu IERvIG5vdCByZXF1aXJlIHRoZSBGT1VSQ0MgY29kZSBpbiBYZW5TdG9yZSB0byBiZSB1cHBlciBj YXNlIG9ubHkKMy4gQWRkZWQvY2hhbmdlZCBjb21tYW5kIHNldDoKIC0gY29uZmlndXJhdGlvbiBn ZXQvc2V0CiAtIGJ1ZmZlciBxdWV1ZS9kZXF1ZXVlCiAtIGNvbnRyb2wgZ2V0CjQuIEFkZGVkIGNv bnRyb2wgZmxhZ3MsIGUuZy4gcmVhZC1vbmx5IGV0Yy4KNS4gQWRkZWQgY29sb3JzcGFjZSBjb25m aWd1cmF0aW9uIHN1cHBvcnQsIHJlbGV2YW50IGNvbnN0YW50cwo2LiBBZGRlZCBldmVudHM6CiAt IGNvbmZpZ3VyYXRpb24gY2hhbmdlCiAtIGNvbnRyb2wgY2hhbmdlCjcuIENoYW5nZWQgY29udHJv bCB2YWx1ZXMgdG8gNjQtYml0CjguIEFkZGVkIHNlcXVlbmNlIG51bWJlciB0byBmcmFtZSBhdmFp bCBldmVudAo5LiBDb2Rpbmcgc3R5bGUgY2xlYW51cAoKWzFdIGh0dHBzOi8vd3d3LnhlbnByb2pl Y3Qub3JnLwpbMl0gaHR0cHM6Ly94ZW5iaXRzLnhlbi5vcmcvZ2l0d2ViLz9wPXhlbi5naXQ7YT10 cmVlO2Y9eGVuL2luY2x1ZGUvcHVibGljL2lvCgpPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyAoMSk6 CiAgY2FtZXJhaWY6IGFkZCBBQkkgZm9yIHBhcmEtdmlydHVhbCBjYW1lcmEKCiB4ZW4vaW5jbHVk ZS9wdWJsaWMvaW8vY2FtZXJhaWYuaCB8IDEyNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiAxIGZpbGUgY2hhbmdlZCwgMTI2MyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2 NDQgeGVuL2luY2x1ZGUvcHVibGljL2lvL2NhbWVyYWlmLmgKCi0tIAoyLjE4LjAKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs