diff --git a/src/extra/libs/gif/gifdec.c b/src/extra/libs/gif/gifdec.c index c4ee9b3bb3..dac10876b0 100644 --- a/src/extra/libs/gif/gifdec.c +++ b/src/extra/libs/gif/gifdec.c @@ -378,12 +378,12 @@ static int read_image_data(gd_GIF *gif, int interlace) { uint8_t sub_len, shift, byte; - int init_key_size, key_size, table_is_full; - int frm_off, frm_size, str_len, i, p, x, y; + int init_key_size, key_size, table_is_full=0; + int frm_off, frm_size, str_len=0, i, p, x, y; uint16_t key, clear, stop; int ret; Table *table; - Entry entry; + Entry entry = {0}; size_t start, end; f_gif_read(gif, &byte, 1); diff --git a/src/extra/libs/qrcode/lv_qrcode.c b/src/extra/libs/qrcode/lv_qrcode.c index f668447f32..60aa243520 100644 --- a/src/extra/libs/qrcode/lv_qrcode.c +++ b/src/extra/libs/qrcode/lv_qrcode.c @@ -28,6 +28,10 @@ * STATIC VARIABLES **********************/ +const lv_obj_class_t lv_qrcode_class = { + .base_class = &lv_canvas_class +}; + /********************** * MACROS **********************/ diff --git a/src/extra/libs/qrcode/lv_qrcode.h b/src/extra/libs/qrcode/lv_qrcode.h index 550fadcc2e..9f1c928e8d 100644 --- a/src/extra/libs/qrcode/lv_qrcode.h +++ b/src/extra/libs/qrcode/lv_qrcode.h @@ -20,6 +20,8 @@ extern "C" { * DEFINES *********************/ +extern const lv_obj_class_t lv_qrcode_class; + /********************** * TYPEDEFS **********************/ diff --git a/src/extra/libs/sjpg/lv_sjpg.c b/src/extra/libs/sjpg/lv_sjpg.c index 8d8e8f8e56..a9422f6afa 100644 --- a/src/extra/libs/sjpg/lv_sjpg.c +++ b/src/extra/libs/sjpg/lv_sjpg.c @@ -50,6 +50,7 @@ #include "tjpgd.h" #include "lv_sjpg.h" +#include "../../../misc/lv_fs.h" /********************* @@ -69,6 +70,39 @@ * TYPEDEFS **********************/ +enum io_source_type { + SJPEG_IO_SOURCE_C_ARRAY, + SJPEG_IO_SOURCE_DISK, +}; + +typedef struct { + enum io_source_type type; + lv_fs_file_t lv_file; + uint8_t* img_cache_buff; + int img_cache_x_res; + int img_cache_y_res; + uint8_t *raw_sjpg_data; //Used when type==SJPEG_IO_SOURCE_C_ARRAY. + uint32_t raw_sjpg_data_size; //Num bytes pointed to by raw_sjpg_data. + uint32_t raw_sjpg_data_next_read_pos; //Used for all types. +} io_source_t; + + +typedef struct { + uint8_t *sjpeg_data; + uint32_t sjpeg_data_size; + int sjpeg_x_res; + int sjpeg_y_res; + int sjpeg_total_frames; + int sjpeg_single_frame_height; + int sjpeg_cache_frame_index; + uint8_t **frame_base_array; //to save base address of each split frames upto sjpeg_total_frames. + int *frame_base_offset; //to save base offset for fseek + uint8_t *frame_cache; + uint8_t* workb; //JPG work buffer for jpeg library + JDEC *tjpeg_jd; + io_source_t io; +} SJPEG; + /********************** * STATIC PROTOTYPES **********************/ diff --git a/src/extra/libs/sjpg/lv_sjpg.h b/src/extra/libs/sjpg/lv_sjpg.h index 34bd51d7d9..0a9c4f0019 100644 --- a/src/extra/libs/sjpg/lv_sjpg.h +++ b/src/extra/libs/sjpg/lv_sjpg.h @@ -15,52 +15,16 @@ extern "C" { *********************/ #include -#include "tjpgd.h" -#include "../../../misc/lv_fs.h" #if LV_USE_SJPG /********************* * DEFINES *********************/ - /********************** * TYPEDEFS **********************/ -enum io_source_type { - SJPEG_IO_SOURCE_C_ARRAY, - SJPEG_IO_SOURCE_DISK, -}; - -typedef struct { - enum io_source_type type; - lv_fs_file_t lv_file; - uint8_t* img_cache_buff; - int img_cache_x_res; - int img_cache_y_res; - uint8_t *raw_sjpg_data; //Used when type==SJPEG_IO_SOURCE_C_ARRAY. - uint32_t raw_sjpg_data_size; //Num bytes pointed to by raw_sjpg_data. - uint32_t raw_sjpg_data_next_read_pos; //Used for all types. -} io_source_t; - - -typedef struct { - uint8_t *sjpeg_data; - uint32_t sjpeg_data_size; - int sjpeg_x_res; - int sjpeg_y_res; - int sjpeg_total_frames; - int sjpeg_single_frame_height; - int sjpeg_cache_frame_index; - uint8_t **frame_base_array; //to save base address of each split frames upto sjpeg_total_frames. - int *frame_base_offset; //to save base offset for fseek - uint8_t *frame_cache; - uint8_t* workb; //JPG work buffer for jpeg library - JDEC *tjpeg_jd; - io_source_t io; -} SJPEG; - /********************** * GLOBAL PROTOTYPES