Hi Keiichi, On Freitag, 20. Dezember 2019 16:26:50 CET Keiichi Watanabe wrote: > Hi Dmitry, > Thanks for the feedback. > > On Thu, Dec 19, 2019 at 10:28 PM Dmitry Sepp > > wrote: > > Hi Keiichi, > > > > Thank you for the update. Please see some comments below. > > > > Also, we need to bring the virtio_video_control back as it is in fact used > > by the driver to enumerate supported encoder controls. But yes, it still > > needs to be documemnted, it's true. > > Yeah, we need it eventually, but I'm wondering what is the difference > between values set by SET_PARAMS and ones by controls. > I saw your driver implementation has BITRATE, PROFILE and LEVEL as > controls. What's the reason why you didn't add them in > virtio_video_params? > In fact I think the reasons was not to blow up the params structure. Also, virtio_video_param is used to inform the driver about the supported controls, very much like frame_formats, frame_sizes and so on. But for setting we probably can use the set_params structure, right. > > On Mittwoch, 18. Dezember 2019 14:02:14 CET Keiichi Watanabe wrote: > > > From: Dmitry Sepp > > > > > > The virtio video encoder device and decoder device provide > > > functionalities > > > to encode and decode video stream respectively. > > > Though video encoder and decoder are provided as different devices, they > > > use a same protocol. > > > > > > Signed-off-by: Dmitry Sepp > > > Signed-off-by: Keiichi Watanabe > > > --- > > > > > > content.tex | 1 + > > > virtio-video.tex | 579 +++++++++++++++++++++++++++++++++++++++++++++++ > > > 2 files changed, 580 insertions(+) > > > create mode 100644 virtio-video.tex > > > > > > diff --git a/content.tex b/content.tex > > > index 556b373..9e56839 100644 > > > --- a/content.tex > > > +++ b/content.tex > > > @@ -5743,6 +5743,7 @@ \subsubsection{Legacy Interface: Framing > > > Requirements}\label{sec:Device \input{virtio-vsock.tex} > > > > > > \input{virtio-fs.tex} > > > \input{virtio-rpmb.tex} > > > > > > +\input{virtio-video.tex} > > > > > > \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits} > > > > > > diff --git a/virtio-video.tex b/virtio-video.tex > > > new file mode 100644 > > > index 0000000..30e728d > > > --- /dev/null > > > +++ b/virtio-video.tex > > > @@ -0,0 +1,579 @@ > > > +\section{Video Device}\label{sec:Device Types / Video Device} > > > + > > > +The virtio video encoder device and decoder device are virtual devices > > > that +supports encoding and decoding respectively. Though the encoder > > > and the decoder +are different devices, they use the same protocol. > > > + > > > +\subsection{Device ID}\label{sec:Device Types / Video Device / Device > > > ID} > > > + > > > +\begin{description} > > > +\item[30] encoder device > > > +\item[31] decoder device > > > +\end{description} > > > + > > > +\subsection{Virtqueues}\label{sec:Device Types / Video Device / > > > Virtqueues} + > > > +\begin{description} > > > +\item[0] controlq - queue for sending control commands. > > > +\item[1] eventq - queue for sending events happened in the device. > > > +\end{description} > > > + > > > +\subsection{Feature bits}\label{sec:Device Types / Video Device / > > > Feature > > > bits} + > > > +\begin{description} > > > +\item[VIRTIO_VIDEO_F_RESOURCE_GUEST_PAGES (0)] Guest pages can be used > > > for > > > video + buffers. > > > +\end{description} > > > + > > > +\devicenormative{\subsubsection}{Feature bits}{Device Types / Video > > > Device > > > / Feature bits} + > > > +The device MUST offer at least one of feature bits. > > > + > > > +\subsection{Device configuration layout}\label{sec:Device Types / Video > > > Device / Device configuration layout} + > > > +Video device configuration uses the following layout structure: > > > + > > > +\begin{lstlisting} > > > +struct virtio_video_config { > > > + le32 max_cap_len; > > > +}; > > > +\end{lstlisting} > > > +