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