summaryrefslogtreecommitdiffstats
path: root/common/canvas_base.h
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2010-06-09 11:40:25 +0200
committerAlexander Larsson <alexl@redhat.com>2010-06-09 11:40:25 +0200
commit263646a1f7e705766f7d46017679812d4b1406b8 (patch)
treebd8056f34c7413e5fb2f66959db085cd6efecdb4 /common/canvas_base.h
parentea74fc64543ef486085a82aec0c67a3b265ba3ac (diff)
downloadspice-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.h18
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,