Hi, > > Hmm, modern GPUs support both encoding and decoding ... > > Many SoC architectures have completely separate IP blocks for encoding > and decoding. Similarly, in GPUs those are usually completely separate > parts of the pipeline. In the OS there is one driver per GPU handling both ... > > I don't think we should bake that restriction into the specification. > > It probably makes sense to use one virtqueue per function though, that > > will simplify dispatching in both host and guest. > > > > Wouldn't it make the handling easier if we had one virtio device per function? I don't think there is much of a difference between one device per function and one virtqueue per function. You'll probably have a single driver for both anyway, to share common code for buffer management etc. > > Use separate pixel_format (fourcc) and stream_format (H.264 etc.) enums? > > I'd specifically avoid FourCC here, as it's very loosely defined and > could introduce confusion. I don't think using fourcc is a problem, and given that both drm and v4l2 use fourcc already this would be a good choice I think. But the definition should be more specific than just "fourcc". Best would be to explicitly list and define each format supported by the spec. cheers, Gerd