mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-09-03 02:16:09 +02:00

This adds a Virtio based video driver for video streaming device that operates input and output data buffers to share video devices with several guests. The current implementation consist of V4L2 based video driver supporting video functions of decoder and encoder. The device uses command structures to advertise and negotiate stream formats and controls. This allows the driver to modify the processing logic of the device on a per stream basis. from https://github.com/aesteve-rh/linux, align with 80c89869c3f7 ("virtio_video: add vicodec support and config") Signed-off-by: Albert Esteve <aesteve@redhat.com> Signed-off-by: Dmitry Sepp <dmitry.sepp@opensynergy.com> Signed-off-by: Kiran Pawar <Kiran.Pawar@opensynergy.com> Signed-off-by: Nikolay Martyanov <Nikolay.Martyanov@opensynergy.com> Signed-off-by: Samiullah Khawaja <samiullah.khawaja@opensynergy.com> Signed-off-by: Keiichi Watanabe <keiichiw@chromium.org>
31 lines
1.1 KiB
C
31 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/* Encoder header for virtio video driver.
|
|
*
|
|
* Copyright 2019 OpenSynergy GmbH.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef _VIRTIO_VIDEO_ENC_H
|
|
#define _VIRTIO_VIDEO_ENC_H
|
|
|
|
#include "virtio_video.h"
|
|
|
|
int virtio_video_enc_init(struct video_device *vd);
|
|
int virtio_video_enc_init_ctrls(struct virtio_video_stream *stream);
|
|
int virtio_video_enc_init_queues(void *priv, struct vb2_queue *src_vq,
|
|
struct vb2_queue *dst_vq);
|
|
|
|
#endif /* _VIRTIO_VIDEO_ENC_H */
|