Picasso API 2.5
picasso_image_plugin.h
Go to the documentation of this file.
1
18#ifndef _PICASSO_IMAGE_PLUGININ_INTERFACE_H_
19#define _PICASSO_IMAGE_PLUGININ_INTERFACE_H_
20
21#include "picasso.h"
22#include "picasso_image.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
44typedef struct _psx_image_header {
46 void* priv;
48 int width;
50 int height;
52 int pitch;
54 int depth;
56 int bpp;
58 int format;
60 int alpha;
62 int frames;
64
69typedef struct _psx_image_operator {
71 int (*read_header_info)(const ps_byte* data, size_t data_len, psx_image_header* header);
73 int (*decode_image_data)(psx_image_header* header, const psx_image* image, psx_image_frame* frame, int idx, ps_byte* buffer, size_t buffer_len);
77 int (*write_header_info)(const psx_image* image, image_writer_fn func,
78 void* param, float quality, psx_image_header* header);
80 int (*encode_image_data)(psx_image_header* header, const psx_image* image, psx_image_frame* frame, int idx, const ps_byte* buffer, size_t buffer_len, int* ret);
84
97
121PEXPORT int psx_image_register_operator(const char* type, const ps_byte* signature, size_t sig_offset, size_t sig_len,
123
135
149PEXPORT void psx_image_module_init(void);
150
157PEXPORT void psx_image_module_shutdown(void);
158
163#define MODULE_NAME 1
164
176PEXPORT const char* psx_image_module_get_string(int id);
177
182#ifdef __cplusplus
183}
184#endif
185
186#endif /*_PICASSO_IMAGE_PLUGININ_INTERFACE_H_*/
PEXPORT void psx_image_module_init(void)
Initialze the image module.
PEXPORT void psx_image_module_shutdown(void)
Shutdown the image module.
PEXPORT const char * psx_image_module_get_string(int id)
Get the string info about module.
uint8_t ps_byte
byte data type
Definition picasso.h:95
int(* image_writer_fn)(void *param, const ps_byte *data, size_t length)
Callback function for saving image data.
PEXPORT int psx_image_unregister_operator(psx_image_operator *coder)
Unregister the image operator.
PEXPORT int psx_image_register_operator(const char *type, const ps_byte *signature, size_t sig_offset, size_t sig_len, psx_priority_level level, psx_image_operator *coder)
Register the image operator.
struct _psx_image_header psx_image_header
Image reader header define.
struct _psx_image_operator psx_image_operator
The image operator define.
enum _psx_priority_level psx_priority_level
Priority level for image_operator.
_psx_priority_level
Priority level for image_operator.
@ PRIORITY_MASTER
@ PRIORITY_EXTENTED
@ PRIORITY_DEFAULT
A frame image data.
Image reader header define.
The image operator define.
int(* encode_image_data)(psx_image_header *header, const psx_image *image, psx_image_frame *frame, int idx, const ps_byte *buffer, size_t buffer_len, int *ret)
int(* write_header_info)(const psx_image *image, image_writer_fn func, void *param, float quality, psx_image_header *header)
int(* release_read_header_info)(psx_image_header *header)
int(* read_header_info)(const ps_byte *data, size_t data_len, psx_image_header *header)
int(* decode_image_data)(psx_image_header *header, const psx_image *image, psx_image_frame *frame, int idx, ps_byte *buffer, size_t buffer_len)
int(* release_write_header_info)(psx_image_header *header)
A image object.