|
|
Subscribe / Log in / New account

virtio video driver

From:  Dmitry Sepp <dmitry.sepp-AT-opensynergy.com>
To:  <linux-media-AT-vger.kernel.org>
Subject:  [RFC] virtio video driver
Date:  Thu, 5 Dec 2019 17:11:37 +0100
Message-ID:  <4595464.3jghpSLKuc@os-lin-dmo>
Cc:  <virtio-dev-AT-lists.oasis-open.org>, <kraxel-AT-redhat.com>, <tfiga-AT-chromium.org>, <keiichiw-AT-chromium.org>, <acourbot-AT-chromium.org>, <hverkuil-AT-xs4all.nl>, <posciak-AT-chromium.org>, <marcheu-AT-chromium.org>, <stevensd-AT-chromium.org>, <dgreid-AT-chromium.org>, <daniel-AT-ffwll.ch>, <egranata-AT-google.com>
Archive-link:  Article

Hello,

My apologies for the long delay. The driver code is now available and provided 
as a follow-up to the discussion from this thread [1].

The reference Linux kernel 5.4 driver implementation is located here:
https://github.com/OpenSynergy/linux/tree/virtio-video-dr...

The driver is implemented using the V4L2 API. It allocates a v4l2 device for 
each probed virtio device and then creates a video device for each function 
within the respective virtio device. The driver implements the stateful 
decoder interface [2] and the stateful encoder interface (WIP) [3].

The DMA SG memory allocator tries to map buffers right away. As it is not 
always suitable, and some implementations might need just a physical address, 
we had to introduce a set of simple dma ops directly in the driver.

The driver is in the RFC state and currently a bit ahead of the spec that was 
proposed in the discussion mentioned above. On the other hand, the driver 
unfortunately does not yet include changes proposed in the recent comments 
[4]. The driver currently supports encoder and decoder functions. Also, it 
does not fully pass the v4l2-compliance yet, it has been a bit out of the 
focus so far.

Any feedback and contribution would be greatly appreciated.

[1] https://markmail.org/message/gc6h25acct22niut
[2] https://www.kernel.org/doc/html/v5.4/media/uapi/v4l/dev-d...
[3] https://hverkuil.home.xs4all.nl/codec-api/uapi/v4l/dev-en...
[4] https://markmail.org/message/yy67elx2adbivdsp

Best regards,
Dmitry.





Copyright © 2019, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds