diff options
author | Yonit Halperin <yhalperi@redhat.com> | 2010-06-09 11:40:25 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2010-06-09 11:40:25 +0200 |
commit | 263646a1f7e705766f7d46017679812d4b1406b8 (patch) | |
tree | bd8056f34c7413e5fb2f66959db085cd6efecdb4 /common/canvas_base.h | |
parent | ea74fc64543ef486085a82aec0c67a3b265ba3ac (diff) | |
download | spice-263646a1f7e705766f7d46017679812d4b1406b8.tar.gz spice-263646a1f7e705766f7d46017679812d4b1406b8.tar.xz spice-263646a1f7e705766f7d46017679812d4b1406b8.zip |
JPEG support: introducing jpeg encoding for spice bitmaps
Diffstat (limited to 'common/canvas_base.h')
-rw-r--r-- | common/canvas_base.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/common/canvas_base.h b/common/canvas_base.h index f78b0b8d..4eaafbbd 100644 --- a/common/canvas_base.h +++ b/common/canvas_base.h @@ -31,6 +31,7 @@ typedef struct _SpiceImageCache SpiceImageCache; typedef struct _SpiceImageSurfaces SpiceImageSurfaces; typedef struct _SpicePaletteCache SpicePaletteCache; typedef struct _SpiceGlzDecoder SpiceGlzDecoder; +typedef struct _SpiceJpegDecoder SpiceJpegDecoder; typedef struct _SpiceVirtMapping SpiceVirtMapping; typedef struct _SpiceCanvas SpiceCanvas; @@ -79,6 +80,23 @@ struct _SpiceGlzDecoder { SpiceGlzDecoderOps *ops; }; + +typedef struct SpiceJpegDecoderOps { + void (*begin_decode)(SpiceJpegDecoder *decoder, + uint8_t* data, + int data_size, + int* out_width, + int* out_height); + void (*decode)(SpiceJpegDecoder *decoder, + uint8_t* dest, + int stride, + int format); +} SpiceJpegDecoderOps; + +struct _SpiceJpegDecoder { + SpiceJpegDecoderOps *ops; +}; + typedef struct { void *(*get_virt)(SpiceVirtMapping *mapping, unsigned long addr, uint32_t add_size); void (*validate_virt)(SpiceVirtMapping *mapping, unsigned long virt, |