diff options
-rw-r--r-- | spice.proto | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/spice.proto b/spice.proto index 5775168..235df98 100644 --- a/spice.proto +++ b/spice.proto @@ -689,6 +689,29 @@ struct Surface { uint32 surface_id; } @ws_txt("Surface ID: %u", surface_id); +enum32 quic_image_type { + INVALID, + GRAY, + RGB16, + RGB24, + RGB32, + RGBA +} @ws("QUIC image type", quic_type) @prefix(QUIC_IMAGE_TYPE_) @ifdef(SPICE_DISSECTOR); + +struct ImageQuic { + uint32 magic @ws_desc("QUIC magic (QUIC)"); + uint16 major @ws("QUIC major version", quic_major_version); + uint16 minor @ws("QUIC minor version", quic_minor_version); + quic_image_type type; + uint32 width @ws("Width", quic_width); + uint32 height @ws("Height", image_height); + uint8 data[] @end @ws_txt("QUIC compressed image data (%u bytes)", data.nelements); +} @ifdef(SPICE_DISSECTOR); + +struct ImageQuicData { + uint32 data_size @bytes_count(dummy) @ws_txt("QUIC image size: %u bytes", data_size); + ImageQuic image[bytes(data_size, dummy)] @nomarshal @chunk; +} @ifdef(SPICE_DISSECTOR); struct Image { struct ImageDescriptor { @@ -703,7 +726,7 @@ struct Image { case BITMAP: BitmapData bitmap; case QUIC: - BinaryData quic; + BinaryData quic @ws_as(ImageQuicData); case LZ_RGB: case GLZ_RGB: BinaryData lz_rgb; |