diff options
| author | Yonit Halperin <yhalperi@redhat.com> | 2010-06-20 17:18:56 +0300 |
|---|---|---|
| committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-03-20 15:25:44 +0100 |
| commit | 1f3c193cebafd44cd588aca14ccbf2c309115f65 (patch) | |
| tree | ce74ffb218d12b8396a21f6ce34ba19156954a9e | |
| parent | e8ee21132bda530122a9bb5e33d117f5e7937204 (diff) | |
Lossy compression of RGBA images (on WAN connection)
The RGB channels are compressed using JPEG.
The alpha channel is compressed using LZ.
| -rw-r--r-- | spice.proto | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/spice.proto b/spice.proto index 84d3fa9..dbd3dde 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; |
