ezipa_dec.h
eZIP-A Decoder
- Author
- Sifli software development team 
Unnamed Group
- 
EZIPA_LARGE_BUF_MALLOC(size)
- Large buffer allocate 
- 
EZIPA_LARGE_BUF_FREE(ptr)
- Large buffer free 
- 
ezipa_obj_t *ezipa_open(const void *data, ezipa_color_fmt_t output_color_fmt)
- Allocate ezipa drawing object. - Read the ezipa data, allocate the resource and prepare for the drawing - 参数:
- data – [in] ezipa const data or file name 
- output_color_fmt – [in] output buffer color format 
 
- 返回值:
- ezipa – object instance 
 
- 
int32_t ezipa_close(ezipa_obj_t *obj)
- Free ezipa drawing object. - 参数:
- obj – [in] ezipa object instance 
 
- 返回值:
- 0 – no error, < 0: error code 
 
- 
int32_t ezipa_draw(ezipa_obj_t *obj, ezipa_canvas_t *canvas, bool next)
- Draw one frame on the canvas. - 参数:
- obj – [in] ezipa object instance 
- canvas – [in] canvas 
- next – [in] true: draw next frame on the canvas, false: draw current frame on the canvas 
 
- 返回值:
- 0 – no error, < 0: error code 
 
- 
struct ezipa_obj_t
- Public Members - 
uint8_t *ezipa_data
 - 
uint8_t *output_buf
 - 
uint8_t *region_area_bak_buf
 - 
uint8_t output_color_fmt
 - 
bool alpha_enabled
 - 
uint8_t epic_color_fmt
 - 
uint8_t pixel_size
 - 
uint16_t frame_delay_ms
 - 
uint32_t play_idx
 - 
EZIP_HandleTypeDef *ezip_handle
 - 
EZIP_EZIPAHeaderTypeDef header
 - 
EZIP_EZIPAFrameInfoTypeDef curr_frame
 - 
EZIP_EZIPAFrameInfoTypeDef next_frame
 - 
bool valid_curr_frame
 - 
struct rt_semaphore sem
 - 
int fd
 - 
const char *filename
 - 
uint32_t file_size
 - 
uint32_t ezipa_hdr_size
 - 
uint32_t max_frame_size
 - 
uint32_t *org_frame_offset_tbl
 - 
uint32_t *fake_frame_offset_tbl
 - 
uint32_t frame_num
 
- 
uint8_t *ezipa_data
- 
struct ezipa_canvas_t
- Public Members - 
uint8_t *buf
- canvas buffer 
 - 
uint8_t color_fmt
- canvas buffer color format, EPIC color format, e.g. EPIC_COLOR_ARGB8565 
 - 
uint16_t width
- canvas width 
 - 
uint16_t height
- canvas height 
 - 
int16_t x_offset
- x offset where ezipa frame is drawn on canvas 
 - 
int16_t y_offset
- y offset where ezipa frame is drawn on canvas 
 - 
int32_t mask_x_offset
 - 
int32_t mask_y_offset
 - 
int32_t mask_width
 - 
int32_t mask_height
 
- 
uint8_t *buf
