diff options
author | Yonit Halperin <yhalperi@redhat.com> | 2010-06-20 17:18:56 +0300 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2010-06-21 15:18:26 +0200 |
commit | 537280f183d3a35e8dee8a20238c71e7440cb28c (patch) | |
tree | fdec86a392b8cde474b8e1b5c85f03bb6caf441e /spice.proto | |
parent | 25bb38f643af6f0015df369a22176275b6ebfae0 (diff) | |
download | spice-537280f183d3a35e8dee8a20238c71e7440cb28c.tar.gz spice-537280f183d3a35e8dee8a20238c71e7440cb28c.tar.xz spice-537280f183d3a35e8dee8a20238c71e7440cb28c.zip |
Lossy compression of RGBA images (on WAN connection)
The RGB channels are compressed using JPEG.
The alpha channel is compressed using LZ.
Diffstat (limited to 'spice.proto')
-rw-r--r-- | spice.proto | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/spice.proto b/spice.proto index 84d3fa98..dbd3dde1 100644 --- a/spice.proto +++ b/spice.proto @@ -294,6 +294,7 @@ enum8 image_type { JPEG, FROM_CACHE_LOSSLESS, ZLIB_GLZ_RGB, + JPEG_ALPHA, }; flags8 image_flags { @@ -321,6 +322,10 @@ flags8 bitmap_flags { TOP_DOWN, }; +flags8 jpeg_alpha_flags { + TOP_DOWN, +}; + enum8 image_scale_mode { INTERPOLATE, NEAREST, @@ -477,6 +482,13 @@ struct ZlibGlzRGBData { uint8 data[data_size] @end @nomarshal; } @ctype(SpiceZlibGlzRGBData); +struct JPEGAlphaData { + jpeg_alpha_flags flags; + uint32 jpeg_size; + uint32 data_size; + uint8 data[data_size] @end @nomarshal; +} @ctype(SpiceJPEGAlphaData); + struct Surface { uint32 surface_id; }; @@ -500,6 +512,8 @@ struct Image { LZPLTData lzplt_data @ctype(SpiceLZPLTData); case ZLIB_GLZ_RGB: ZlibGlzRGBData zlib_glz_data @ctype(SpiceZlibGlzRGBData); + case JPEG_ALPHA: + JPEGAlphaData jpeg_alpha_data @ctype(SpiceJPEGAlphaData); case SURFACE: Surface surface_data; } u @end; |