diff options
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, |