[Spice-devel] [PATCH v3 1/2] virtio-video: Add virtio video device specification

Dmitry Sepp dmitry.sepp at opensynergy.com
Mon Mar 23 13:28:08 UTC 2020


Hi Keiichi,

On Montag, 23. März 2020 13:07:54 CET Keiichi Watanabe wrote:
> Hi everyone,
> 
> I have implemented a virtio-video device following my v3 spec in
> crosvm, which worked well together with Dmitry's driver [1]. I've
> started preparing v4 proposal to address problems found while
> implementing the driver and the devices.

Great news!

> 
> Regarding v3 protocol, I'm thinking about how we can differentiate
> 'parameters' and 'controls' in the virtio-video spec?
> In the previous discussion, we decided to have a profile, level and
> bitrate as controls because we want to query supported values for each
> field.
> But, I don't think it's a good criteria because it'd be possible to
> query other values in params.

Could you elaborate on this? Do you now how the design could look like or it 
is just an idea? AFAIR during the discussion of OpenSynergy's original v1 spec 
your point was to separate something that we call 'controls' now to reduce the 
command data size and make command handling less error prone.

On one hand if don't really see any difference in params vs controls it would 
for sure make sense to remove one of the two. On the other hand I'd of course 
like to avoid moving back in forth, especially when it comes to such a major 
driver rework.

> 
> So, I'm thinking about what should be the difference between params
> and controls. If no difference, we should deprecate
> virtio_video_params and have every field there as a control value
> instead.

I deem we should then deprecate controls instead. Params seem to be more 
abstract. Width and height don't sound like a control for me.

> If we add a new command to get and set multiple controls at once, this
> change won't cause overhead.
> 

How would we do this? Provide a flexible array member where each entry has a 
type field first?

What can also make sense is to potentially join set and get calls (probably 
provide 'get' stuff automatically within a response to 'set'). Anyway set and 
get are currently used in conjunction all the time.

Best regards,
Dmitry.

> What do you think? Is there anything I missed?
> If it sounds fine, I'll remove virtio_video_params from the v4 spec
> proposal.
> 
> Best regards,
> Keiichi
> 
> [1]: https://patchwork.linuxtv.org/patch/61717/




More information about the Spice-devel mailing list