summaryrefslogtreecommitdiff
path: root/core/src/fxcodec/lgif/fx_gif.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/fxcodec/lgif/fx_gif.h')
-rw-r--r--core/src/fxcodec/lgif/fx_gif.h110
1 files changed, 36 insertions, 74 deletions
diff --git a/core/src/fxcodec/lgif/fx_gif.h b/core/src/fxcodec/lgif/fx_gif.h
index 19e21751d6..32300a50e5 100644
--- a/core/src/fxcodec/lgif/fx_gif.h
+++ b/core/src/fxcodec/lgif/fx_gif.h
@@ -11,17 +11,6 @@
#include "core/include/fxcrt/fx_basic.h"
-extern FX_WORD _GetWord_LSBFirst(uint8_t* p);
-extern void _SetWord_LSBFirst(uint8_t* p, FX_WORD v);
-extern void _BpcConvert(const uint8_t* src_buf,
- FX_DWORD src_len,
- int32_t src_bpc,
- int32_t dst_bpc,
- uint8_t*& dst_buf,
- FX_DWORD& dst_len);
-#define GIF_SUPPORT_COMMENT_EXTENSION
-#define GIF_SUPPORT_GRAPHIC_CONTROL_EXTENSION
-#define GIF_SUPPORT_PLAIN_TEXT_EXTENSION
#define GIF_SIGNATURE "GIF"
#define GIF_SIG_EXTENSION 0x21
#define GIF_SIG_IMAGE 0x2C
@@ -208,12 +197,11 @@ class CGifLZWEncoder {
typedef struct tag_gif_decompress_struct gif_decompress_struct;
typedef gif_decompress_struct* gif_decompress_struct_p;
typedef gif_decompress_struct_p* gif_decompress_struct_pp;
-static int32_t s_gif_interlace_step[4] = {8, 8, 4, 2};
+static const int32_t s_gif_interlace_step[4] = {8, 8, 4, 2};
struct tag_gif_decompress_struct {
jmp_buf jmpbuf;
FX_CHAR* err_ptr;
- void (*_gif_error_fn)(gif_decompress_struct_p gif_ptr,
- const FX_CHAR* err_msg);
+ void (*gif_error_fn)(gif_decompress_struct_p gif_ptr, const FX_CHAR* err_msg);
void* context_ptr;
int width;
int height;
@@ -229,38 +217,26 @@ struct tag_gif_decompress_struct {
FX_DWORD img_row_avail_size;
uint8_t img_pass_num;
CFX_ArrayTemplate<GifImage*>* img_ptr_arr_ptr;
- uint8_t* (*_gif_ask_buf_for_pal_fn)(gif_decompress_struct_p gif_ptr,
- int32_t pal_size);
+ uint8_t* (*gif_ask_buf_for_pal_fn)(gif_decompress_struct_p gif_ptr,
+ int32_t pal_size);
uint8_t* next_in;
FX_DWORD avail_in;
int32_t decode_status;
FX_DWORD skip_size;
- void (*_gif_record_current_position_fn)(gif_decompress_struct_p gif_ptr,
- FX_DWORD* cur_pos_ptr);
- void (*_gif_get_row_fn)(gif_decompress_struct_p gif_ptr,
- int32_t row_num,
- uint8_t* row_buf);
- FX_BOOL (*_gif_get_record_position_fn)(gif_decompress_struct_p gif_ptr,
+ void (*gif_record_current_position_fn)(gif_decompress_struct_p gif_ptr,
+ FX_DWORD* cur_pos_ptr);
+ void (*gif_get_row_fn)(gif_decompress_struct_p gif_ptr,
+ int32_t row_num,
+ uint8_t* row_buf);
+ FX_BOOL (*gif_get_record_position_fn)(gif_decompress_struct_p gif_ptr,
FX_DWORD cur_pos,
int32_t left, int32_t top, int32_t width, int32_t height,
int32_t pal_num, void* pal_ptr,
int32_t delay_time, FX_BOOL user_input,
int32_t trans_index, int32_t disposal_method, FX_BOOL interlace);
-#ifdef GIF_SUPPORT_APPLICATION_EXTENSION
- uint8_t app_identify[8];
- uint8_t app_authentication[3];
- FX_DWORD app_data_size;
- uint8_t* app_data;
-#endif
-#ifdef GIF_SUPPORT_COMMENT_EXTENSION
CFX_ByteString* cmt_data_ptr;
-#endif
-#ifdef GIF_SUPPORT_GRAPHIC_CONTROL_EXTENSION
GifGCE* gce_ptr;
-#endif
-#ifdef GIF_SUPPORT_PLAIN_TEXT_EXTENSION
CFX_ArrayTemplate<GifPlainText*>* pt_ptr_arr_ptr;
-#endif
};
typedef struct tag_gif_compress_struct gif_compress_struct;
typedef gif_compress_struct* gif_compress_struct_p;
@@ -280,55 +256,41 @@ struct tag_gif_compress_struct {
FX_WORD lpal_num;
GifImageInfo* image_info_ptr;
CGifLZWEncoder* img_encoder_ptr;
-#ifdef GIF_SUPPORT_APPLICATION_EXTENSION
- uint8_t app_identify[8];
- uint8_t app_authentication[3];
- FX_DWORD app_data_size;
- uint8_t* app_data;
-#endif
-#ifdef GIF_SUPPORT_COMMENT_EXTENSION
uint8_t* cmt_data_ptr;
FX_DWORD cmt_data_len;
-#endif
-
-#ifdef GIF_SUPPORT_GRAPHIC_CONTROL_EXTENSION
GifGCE* gce_ptr;
-#endif
-
-#ifdef GIF_SUPPORT_PLAIN_TEXT_EXTENSION
GifPTE* pte_ptr;
const uint8_t* pte_data_ptr;
FX_DWORD pte_data_len;
-#endif
};
-void _gif_error(gif_decompress_struct_p gif_ptr, const FX_CHAR* err_msg);
-void _gif_warn(gif_decompress_struct_p gif_ptr, const FX_CHAR* err_msg);
-gif_decompress_struct_p _gif_create_decompress();
-void _gif_destroy_decompress(gif_decompress_struct_pp gif_ptr_ptr);
-gif_compress_struct_p _gif_create_compress();
-void _gif_destroy_compress(gif_compress_struct_pp gif_ptr_ptr);
-int32_t _gif_read_header(gif_decompress_struct_p gif_ptr);
-int32_t _gif_get_frame(gif_decompress_struct_p gif_ptr);
-int32_t _gif_get_frame_num(gif_decompress_struct_p gif_ptr);
-int32_t _gif_decode_extension(gif_decompress_struct_p gif_ptr);
-int32_t _gif_decode_image_info(gif_decompress_struct_p gif_ptr);
-void _gif_takeover_gce_ptr(gif_decompress_struct_p gif_ptr,
- GifGCE** gce_ptr_ptr);
-int32_t _gif_load_frame(gif_decompress_struct_p gif_ptr, int32_t frame_num);
-uint8_t* _gif_read_data(gif_decompress_struct_p gif_ptr,
- uint8_t** des_buf_pp,
- FX_DWORD data_size);
-void _gif_save_decoding_status(gif_decompress_struct_p gif_ptr, int32_t status);
-void _gif_input_buffer(gif_decompress_struct_p gif_ptr,
- uint8_t* src_buf,
- FX_DWORD src_size);
-FX_DWORD _gif_get_avail_input(gif_decompress_struct_p gif_ptr,
- uint8_t** avial_buf_ptr);
+void gif_error(gif_decompress_struct_p gif_ptr, const FX_CHAR* err_msg);
+void gif_warn(gif_decompress_struct_p gif_ptr, const FX_CHAR* err_msg);
+gif_decompress_struct_p gif_create_decompress();
+void gif_destroy_decompress(gif_decompress_struct_pp gif_ptr_ptr);
+gif_compress_struct_p gif_create_compress();
+void gif_destroy_compress(gif_compress_struct_pp gif_ptr_ptr);
+int32_t gif_read_header(gif_decompress_struct_p gif_ptr);
+int32_t gif_get_frame(gif_decompress_struct_p gif_ptr);
+int32_t gif_get_frame_num(gif_decompress_struct_p gif_ptr);
+int32_t gif_decode_extension(gif_decompress_struct_p gif_ptr);
+int32_t gif_decode_image_info(gif_decompress_struct_p gif_ptr);
+void gif_takeover_gce_ptr(gif_decompress_struct_p gif_ptr,
+ GifGCE** gce_ptr_ptr);
+int32_t gif_load_frame(gif_decompress_struct_p gif_ptr, int32_t frame_num);
+uint8_t* gif_read_data(gif_decompress_struct_p gif_ptr,
+ uint8_t** des_buf_pp,
+ FX_DWORD data_size);
+void gif_save_decoding_status(gif_decompress_struct_p gif_ptr, int32_t status);
+void gif_input_buffer(gif_decompress_struct_p gif_ptr,
+ uint8_t* src_buf,
+ FX_DWORD src_size);
+FX_DWORD gif_get_avail_input(gif_decompress_struct_p gif_ptr,
+ uint8_t** avial_buf_ptr);
void interlace_buf(const uint8_t* buf, FX_DWORD width, FX_DWORD height);
-FX_BOOL _gif_encode(gif_compress_struct_p gif_ptr,
- uint8_t*& dst_buf,
- FX_DWORD& dst_len);
+FX_BOOL gif_encode(gif_compress_struct_p gif_ptr,
+ uint8_t*& dst_buf,
+ FX_DWORD& dst_len);
#endif // CORE_SRC_FXCODEC_LGIF_FX_GIF_H_