1、添加virfat备份与恢复;
2、修复sensorhub低功耗越界问题; 3、修复rcsp传输相关问题; 4、更新flash_params_v3.bin; 5、修复摄像头、科大讯飞相关问题;
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"-name": "BT_Watch",
|
||||
"-type": "project",
|
||||
"activePage": 83,
|
||||
"activePage": 84,
|
||||
"chip_type": "BR35",
|
||||
"dpi_type": "72",
|
||||
"lang_excel": "../../多国语言/多国语言_watch.xls",
|
||||
@@ -446144,7 +446144,7 @@
|
||||
"-name": "id",
|
||||
"-type": "id",
|
||||
"caption": "唯一ID号",
|
||||
"ename": "DUER_ERROR_NOTE",
|
||||
"ename": "DUER_NOTE",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
@@ -446314,504 +446314,7 @@
|
||||
"-name": "id",
|
||||
"-type": "id",
|
||||
"caption": "ID号",
|
||||
"ename": "DUER_BASEFORM_ERROR",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"-name": "element_css",
|
||||
"-type": "struct",
|
||||
"caption": "CSS元素",
|
||||
"info": "",
|
||||
"struct": [
|
||||
[
|
||||
{
|
||||
"-name": "hori_align",
|
||||
"-type": "enum",
|
||||
"caption": "水平对齐方式",
|
||||
"default": "HORI_ALIGN_CENTER",
|
||||
"enum": [
|
||||
{
|
||||
"HORI_ALIGN_LEFT": 0
|
||||
},
|
||||
{
|
||||
"HORI_ALIGN_CENTER": 1
|
||||
},
|
||||
{
|
||||
"HORI_ALIGN_RIGHT": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "vert_align",
|
||||
"-type": "enum",
|
||||
"caption": "垂直对齐方式",
|
||||
"default": "VERT_ALIGN_CENTER",
|
||||
"enum": [
|
||||
{
|
||||
"VERT_ALIGN_TOP": 0
|
||||
},
|
||||
{
|
||||
"VERT_ALIGN_CENTER": 1
|
||||
},
|
||||
{
|
||||
"VERT_ALIGN_BOTTOM": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "invisible",
|
||||
"-type": "enum",
|
||||
"caption": "默认隐藏",
|
||||
"default": "false",
|
||||
"enum": [
|
||||
{
|
||||
"true": 1
|
||||
},
|
||||
{
|
||||
"false": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "flags",
|
||||
"-type": "enum",
|
||||
"caption": "标志",
|
||||
"default": "ELM_FLAG_NORMAL",
|
||||
"enum": [
|
||||
{
|
||||
"ELM_FLAG_NORMAL": 0
|
||||
},
|
||||
{
|
||||
"ELM_FLAG_HEAD": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "background_color",
|
||||
"-type": "background-color",
|
||||
"background-color": "#ff000000",
|
||||
"caption": "背景颜色"
|
||||
},
|
||||
{
|
||||
"-name": "rect",
|
||||
"-type": "rect",
|
||||
"caption": "坐标",
|
||||
"rect": {
|
||||
"height": 385,
|
||||
"width": 320,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"-name": "border",
|
||||
"-type": "border",
|
||||
"border": {
|
||||
"bottom": 0,
|
||||
"left": 0,
|
||||
"right": 0,
|
||||
"top": 0
|
||||
},
|
||||
"caption": "边框",
|
||||
"gray-color": 0
|
||||
},
|
||||
{
|
||||
"-name": "background_image",
|
||||
"-type": "background-image",
|
||||
"background-image": "",
|
||||
"caption": "背景图片"
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"tip": "",
|
||||
"version": "1",
|
||||
"widget": [
|
||||
]
|
||||
},
|
||||
{
|
||||
"-class": "NewLayout",
|
||||
"-name": "布局_624",
|
||||
"-type": "NewLayout",
|
||||
"caption": "布局",
|
||||
"clip": true,
|
||||
"icon": "config/images/layout.ico",
|
||||
"layout": [
|
||||
{
|
||||
"-class": "NewFrame",
|
||||
"-name": "文字_609",
|
||||
"-type": "Text",
|
||||
"caption": "文字",
|
||||
"icon": "",
|
||||
"property": [
|
||||
{
|
||||
"-name": "id",
|
||||
"-type": "id",
|
||||
"caption": "唯一ID号",
|
||||
"ename": "DUER_RESPONSE_TXT",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"-name": "element_css",
|
||||
"-type": "struct",
|
||||
"caption": "CSS元素",
|
||||
"info": "",
|
||||
"struct": [
|
||||
[
|
||||
{
|
||||
"-name": "hori_align",
|
||||
"-type": "enum",
|
||||
"caption": "水平对齐方式",
|
||||
"default": "HORI_ALIGN_CENTER",
|
||||
"enum": [
|
||||
{
|
||||
"HORI_ALIGN_LEFT": 0
|
||||
},
|
||||
{
|
||||
"HORI_ALIGN_CENTER": 1
|
||||
},
|
||||
{
|
||||
"HORI_ALIGN_RIGHT": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "vert_align",
|
||||
"-type": "enum",
|
||||
"caption": "垂直对齐方式",
|
||||
"default": "VERT_ALIGN_CENTER",
|
||||
"enum": [
|
||||
{
|
||||
"VERT_ALIGN_TOP": 0
|
||||
},
|
||||
{
|
||||
"VERT_ALIGN_CENTER": 1
|
||||
},
|
||||
{
|
||||
"VERT_ALIGN_BOTTOM": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "invisible",
|
||||
"-type": "enum",
|
||||
"caption": "默认隐藏",
|
||||
"default": "false",
|
||||
"enum": [
|
||||
{
|
||||
"true": 1
|
||||
},
|
||||
{
|
||||
"false": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "flags",
|
||||
"-type": "enum",
|
||||
"caption": "标志",
|
||||
"default": "ELM_FLAG_NORMAL",
|
||||
"enum": [
|
||||
{
|
||||
"ELM_FLAG_NORMAL": 0
|
||||
},
|
||||
{
|
||||
"ELM_FLAG_HEAD": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "background_color",
|
||||
"-type": "background-color",
|
||||
"background-color": "",
|
||||
"caption": "背景颜色"
|
||||
},
|
||||
{
|
||||
"-name": "rect",
|
||||
"-type": "rect",
|
||||
"caption": "坐标",
|
||||
"rect": {
|
||||
"height": 194,
|
||||
"width": 265,
|
||||
"x": 29,
|
||||
"y": 38
|
||||
}
|
||||
},
|
||||
{
|
||||
"-name": "border",
|
||||
"-type": "border",
|
||||
"border": {
|
||||
"bottom": 0,
|
||||
"left": 0,
|
||||
"right": 0,
|
||||
"top": 0
|
||||
},
|
||||
"caption": "边框",
|
||||
"gray-color": 0
|
||||
},
|
||||
{
|
||||
"-name": "background_image",
|
||||
"-type": "background-image",
|
||||
"background-image": "",
|
||||
"caption": "背景图片"
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "source",
|
||||
"-type": "text-str",
|
||||
"caption": "数据源",
|
||||
"default": "none",
|
||||
"maxlength": 8
|
||||
},
|
||||
{
|
||||
"-name": "color",
|
||||
"-type": "color",
|
||||
"caption": "文字颜色",
|
||||
"color": "#ffffffff"
|
||||
},
|
||||
{
|
||||
"-name": "color",
|
||||
"-type": "color",
|
||||
"caption": "高亮颜色",
|
||||
"color": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"-name": "str",
|
||||
"-type": "text-pic",
|
||||
"caption": "文字列表",
|
||||
"default": "",
|
||||
"list": [
|
||||
],
|
||||
"maxlength": 100
|
||||
},
|
||||
{
|
||||
"-name": "code",
|
||||
"-type": "enum",
|
||||
"caption": "编码格式",
|
||||
"default": "STRPIC",
|
||||
"enum": [
|
||||
{
|
||||
"TEXT": 0
|
||||
},
|
||||
{
|
||||
"ASCII": 1
|
||||
},
|
||||
{
|
||||
"STRPIC": 2
|
||||
},
|
||||
{
|
||||
"MULSTR": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tip": "",
|
||||
"version": "1",
|
||||
"widget": [
|
||||
]
|
||||
},
|
||||
{
|
||||
"-class": "NewFrame",
|
||||
"-name": "图片_925",
|
||||
"-type": "ImageList",
|
||||
"caption": "图片",
|
||||
"icon": "config/images/page_white_vector.png",
|
||||
"property": [
|
||||
{
|
||||
"-name": "id",
|
||||
"-type": "id",
|
||||
"caption": "ID号",
|
||||
"ename": "DUER_RESPONSE_TTS",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
"-name": "element_css",
|
||||
"-type": "struct",
|
||||
"caption": "CSS元素",
|
||||
"info": "",
|
||||
"struct": [
|
||||
[
|
||||
{
|
||||
"-name": "hori_align",
|
||||
"-type": "enum",
|
||||
"caption": "水平对齐方式",
|
||||
"default": "HORI_ALIGN_CENTER",
|
||||
"enum": [
|
||||
{
|
||||
"HORI_ALIGN_LEFT": 0
|
||||
},
|
||||
{
|
||||
"HORI_ALIGN_CENTER": 1
|
||||
},
|
||||
{
|
||||
"HORI_ALIGN_RIGHT": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "vert_align",
|
||||
"-type": "enum",
|
||||
"caption": "垂直对齐方式",
|
||||
"default": "VERT_ALIGN_CENTER",
|
||||
"enum": [
|
||||
{
|
||||
"VERT_ALIGN_TOP": 0
|
||||
},
|
||||
{
|
||||
"VERT_ALIGN_CENTER": 1
|
||||
},
|
||||
{
|
||||
"VERT_ALIGN_BOTTOM": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "invisible",
|
||||
"-type": "enum",
|
||||
"caption": "默认隐藏",
|
||||
"default": "false",
|
||||
"enum": [
|
||||
{
|
||||
"true": 1
|
||||
},
|
||||
{
|
||||
"false": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "flags",
|
||||
"-type": "enum",
|
||||
"caption": "标志",
|
||||
"default": "ELM_FLAG_NORMAL",
|
||||
"enum": [
|
||||
{
|
||||
"ELM_FLAG_NORMAL": 0
|
||||
},
|
||||
{
|
||||
"ELM_FLAG_HEAD": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "background_color",
|
||||
"-type": "background-color",
|
||||
"background-color": "",
|
||||
"caption": "背景颜色"
|
||||
},
|
||||
{
|
||||
"-name": "rect",
|
||||
"-type": "rect",
|
||||
"caption": "坐标",
|
||||
"rect": {
|
||||
"height": 75,
|
||||
"width": 102,
|
||||
"x": 104,
|
||||
"y": 271
|
||||
}
|
||||
},
|
||||
{
|
||||
"-name": "border",
|
||||
"-type": "border",
|
||||
"border": {
|
||||
"bottom": 0,
|
||||
"left": 0,
|
||||
"right": 0,
|
||||
"top": 0
|
||||
},
|
||||
"caption": "边框",
|
||||
"gray-color": 0
|
||||
},
|
||||
{
|
||||
"-name": "background_image",
|
||||
"-type": "background-image",
|
||||
"background-image": "",
|
||||
"caption": "背景图片"
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "source",
|
||||
"-type": "text-str",
|
||||
"caption": "数据源",
|
||||
"default": "none",
|
||||
"maxlength": 8
|
||||
},
|
||||
{
|
||||
"-name": "highlight",
|
||||
"-type": "int8",
|
||||
"caption": "默认高亮",
|
||||
"default": 0,
|
||||
"max": 128,
|
||||
"min": 0
|
||||
},
|
||||
{
|
||||
"-name": "play_mode",
|
||||
"-type": "enum",
|
||||
"caption": "播放设置",
|
||||
"default": "PLAY_NONE",
|
||||
"enum": [
|
||||
{
|
||||
"PLAY_NONE": 0
|
||||
},
|
||||
{
|
||||
"PLAY_ONCE": 1
|
||||
},
|
||||
{
|
||||
"PLAY_LOOP": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"-name": "interval",
|
||||
"-type": "int16",
|
||||
"caption": "播放间隔(ms)",
|
||||
"default": 100,
|
||||
"max": 32768,
|
||||
"min": 0
|
||||
},
|
||||
{
|
||||
"-name": "normal_image",
|
||||
"-type": "piclist",
|
||||
"caption": "图片列表",
|
||||
"default": "config/image_resources/pullup/drop_icon_play.png",
|
||||
"image-compress": "true",
|
||||
"image-compress-en": "true",
|
||||
"image-compress-level": "",
|
||||
"image-compress-way": "BestSpaceSize",
|
||||
"image-type": "AUTO",
|
||||
"list": [
|
||||
"config/image_resources/pullup/drop_icon_play.png",
|
||||
"config/image_resources/pullup/drop_icon_stop.png"
|
||||
],
|
||||
"maxlength": 30
|
||||
},
|
||||
{
|
||||
"-name": "highlight_image",
|
||||
"-type": "piclist",
|
||||
"caption": "高亮图片列表",
|
||||
"default": "",
|
||||
"list": [
|
||||
],
|
||||
"maxlength": 30
|
||||
}
|
||||
],
|
||||
"tip": "",
|
||||
"version": "1",
|
||||
"widget": [
|
||||
]
|
||||
}
|
||||
],
|
||||
"property": [
|
||||
{
|
||||
"-name": "id",
|
||||
"-type": "id",
|
||||
"caption": "ID号",
|
||||
"ename": "DUER_BASEFORM_RESPONSE",
|
||||
"ename": "DUER_BASEFORM_NOTE",
|
||||
"id": 0
|
||||
},
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@@ -562,7 +562,7 @@
|
||||
#define BASEFORM_1355 0XA61000
|
||||
#define BASEFORM_1356 0XA60C00
|
||||
#define BASEFORM_1357 0XA63000
|
||||
#define BASEFORM_1358 0XA83002
|
||||
#define BASEFORM_1358 0XA83001
|
||||
#define BASEFORM_1359 0X7C0C0D
|
||||
#define BASEFORM_136 0X4A3C12
|
||||
#define BASEFORM_1360 0X7C3002
|
||||
@@ -1725,17 +1725,14 @@
|
||||
#define DISCONN_QR_BUTTON 0X303004
|
||||
#define DISCONN_QR_LAYOUT 0X300C01
|
||||
#define DISCONN_YES_BUTTON 0X302001
|
||||
#define DUER_BASEFORM_ERROR 0XA80C00
|
||||
#define DUER_BASEFORM_RECORD 0XA80C03
|
||||
#define DUER_BASEFORM_RESPONSE 0XA80C01
|
||||
#define DUER_BASEFORM_THINK 0XA80C02
|
||||
#define DUER_ERROR_NOTE 0XA83000
|
||||
#define DUER_BASEFORM_NOTE 0XA80C00
|
||||
#define DUER_BASEFORM_RECORD 0XA80C02
|
||||
#define DUER_BASEFORM_THINK 0XA80C01
|
||||
#define DUER_NOTE 0XA83000
|
||||
#define DUER_RECORD_BUTTON 0XA81C00
|
||||
#define DUER_RECORD_TIME 0XA83C00
|
||||
#define DUER_RECORD_TXT 0XA83003
|
||||
#define DUER_RESPONSE_TTS 0XA82000
|
||||
#define DUER_RESPONSE_TXT 0XA83001
|
||||
#define DUER_THINKING 0XA82001
|
||||
#define DUER_RECORD_TXT 0XA83002
|
||||
#define DUER_THINKING 0XA82000
|
||||
#define ENGINEERING_MODE_VLIST 0X8A1400
|
||||
#define FACE_INDEX 0X803C00
|
||||
#define FINDMY_BINDING 0X942002
|
||||
@@ -2568,7 +2565,7 @@
|
||||
#define TIME_UNDISTURB_MODE_START_TIME 0X102800
|
||||
#define TRANSIT_LOADING_PIC 0X22200C
|
||||
#define UI_ROTATE 0X0
|
||||
#define UI_VERSION 0X74A92D3
|
||||
#define UI_VERSION 0X55236CC
|
||||
#define UNDISTURB_MODE_ESETTING_BACK_BUTTON 0X102004
|
||||
#define UNDISTURB_MODE_ESETTING_HOUR_VLIST 0X101401
|
||||
#define UNDISTURB_MODE_ESETTING_LAYOUT 0X100C05
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -123,6 +123,7 @@ extern void gpu_free_frame_buf(void *p);
|
||||
extern void jpeg_module_free_res_cb(void *p);
|
||||
extern struct element *ui_core_get_root();
|
||||
extern u8 buf_is_heap_addr(void *p);
|
||||
extern int ui_buf_is_psram(void *buf);
|
||||
extern const int JLUI_GPU_DMA_TO_PSRAM;
|
||||
extern void *jlgpu_unit_to_instruction(pJLGPUTaskUnit_t taskp);
|
||||
extern const int config_gpu_cache_psram_jpeg_en ;
|
||||
@@ -182,7 +183,7 @@ static int jlgpu_lcd_buf_line_get(int left_space, int stride, int buf_num, int m
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
static void jlgpu_scheduler_aysnc_free_buf_cb(void *p)
|
||||
{
|
||||
if (buf_is_heap_addr(p)) {
|
||||
if (buf_is_heap_addr(p) || ui_buf_is_psram(p)) {
|
||||
gpu_free_frame_buf(p);
|
||||
} else {
|
||||
ASSERT(0, "p:%x", (int)p);
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
#include <math.h>
|
||||
#include "ui/lcd/lcd_drive.h" // lcd 驱动
|
||||
|
||||
#if TCFG_UI_ENABLE
|
||||
|
||||
#define LOG_TAG_CONST JPEG
|
||||
#define LOG_TAG "[JPEG]"
|
||||
#define LOG_ERROR_ENABLE
|
||||
@@ -650,18 +652,20 @@ static void jpeg_draw_cb(int id, u8 *dst_buf, struct rect *dst_r, struct rect *s
|
||||
|
||||
/* 计算变换后图片的输出区域 */
|
||||
struct rect jpeg_draw_src;
|
||||
memcpy(&jpeg_draw_src, src_r, sizeof(struct rect));
|
||||
//放大时为中心放大
|
||||
int center_y = src_r->top + src_r->height / 2;
|
||||
jpeg_draw_src.height = opj->height / ratio_h;
|
||||
jpeg_draw_src.top = center_y - jpeg_draw_src.height / 2;
|
||||
int center_x = src_r->left + src_r->width / 2;
|
||||
jpeg_draw_src.width = opj->width / ratio_w;
|
||||
jpeg_draw_src.left = center_x - jpeg_draw_src.width / 2;
|
||||
if (matrix) {
|
||||
int center_y = src_r->top + src_r->height / 2;
|
||||
jpeg_draw_src.height = opj->height / ratio_h;
|
||||
jpeg_draw_src.top = center_y - jpeg_draw_src.height / 2;
|
||||
int center_x = src_r->left + src_r->width / 2;
|
||||
jpeg_draw_src.width = opj->width / ratio_w;
|
||||
jpeg_draw_src.left = center_x - jpeg_draw_src.width / 2;
|
||||
} else {
|
||||
memcpy(&jpeg_draw_src, src_r, sizeof(struct rect));
|
||||
}
|
||||
/* DUMP_RECT(__func__, __LINE__, "dst_r", dst_r); //推屏buf */
|
||||
/* DUMP_RECT(__func__, __LINE__, "src_r", src_r); //jpeg显示区域 */
|
||||
/* DUMP_RECT(__func__, __LINE__, "jpeg_draw_src", &jpeg_draw_src); //jpeg缩放后区域 */
|
||||
|
||||
/* 计算图片输出和推屏Buf的重叠区域 */
|
||||
struct rect cover_r_t;
|
||||
if (!get_rect_cover(dst_r, src_r, &cover_r_t)) {
|
||||
@@ -707,7 +711,15 @@ static void jpeg_draw_cb(int id, u8 *dst_buf, struct rect *dst_r, struct rect *s
|
||||
/* DUMP_RECT(__func__, __LINE__, "jpeg_dec_r", &jpeg_dec_r); */
|
||||
u8 *disp_buf = dst_buf + (block_r.top - dst_r->top) * 2 * dst_r->width;
|
||||
/*启动解码*/
|
||||
jljpeg_decode_start(opj, &jpeg_draw_src, &jpeg_dec_r, &cover_r, &block_r, disp_buf);
|
||||
int jpg_dec_ret = jljpeg_decode_start(opj, &jpeg_draw_src, &jpeg_dec_r, &cover_r, &block_r, disp_buf);
|
||||
#if 0
|
||||
//用于jpeg_stream debug
|
||||
if (jpg_dec_ret != JDEC_OK) {
|
||||
extern int jljpeg_stream_src_data_save_to_file(s8 * filename);
|
||||
jljpeg_stream_src_data_save_to_file("storage/sd0/C/ERROR/err_****.jpg");
|
||||
ASSERT(0);
|
||||
}
|
||||
#endif
|
||||
sub_top += sub_height;
|
||||
sub_height = (sub_top + sub_height + draw_top < draw_btm) ? max_dec_height : draw_btm - draw_top - sub_top;
|
||||
}
|
||||
@@ -981,9 +993,7 @@ void *jpeg_module_opj_create_file(void *path, int path_len, u32 check, u32 index
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /*#if TCFG_UI_ENABLE */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#include "jpeg_stream.h"
|
||||
#include "video/avi/avilib.h"
|
||||
|
||||
#if CONFIG_JL_UI_ENABLE
|
||||
|
||||
#define LOG_TAG_CONST JPEG
|
||||
#define LOG_TAG "[JPEG_STREAM]"
|
||||
#define LOG_ERROR_ENABLE
|
||||
@@ -719,3 +721,6 @@ int jpeg_image_file_psram(struct draw_context *dc, int left, int top, int width,
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /*#if CONFIG_JL_UI_ENABLE*/
|
||||
|
||||
|
||||
@@ -1874,7 +1874,8 @@ static int jlui_close_draw_context(struct draw_context *dc)
|
||||
/* 如果 dc->refresh 没有使能,说明是3D特效创建GPU任务链,此时不释放缓存,由特效退出时主动释放 */
|
||||
if (dc->refresh && (config_gpu_cache_psram_jpeg_en || config_gpu_cache_psram_file_res_en)) {
|
||||
/* gpu_input_stream_cache_reset(); */
|
||||
gpu_input_stream_cache_clr_non_resident();
|
||||
/* gpu_input_stream_cache_clr_non_resident(); */
|
||||
gpu_input_stream_cache_clr_by_index(dc->index);
|
||||
}
|
||||
|
||||
__this->dc_flag &= ~BIT(dc->index);
|
||||
@@ -4350,12 +4351,19 @@ void *cache_gpu_input_data(void *head, pJLGPUTaskParam_t task_param, void *fp, i
|
||||
task_param->texture.data = (u8 *)((u32)task_param->texture.data - tab_size);
|
||||
task_param->image.len += tab_size;
|
||||
}
|
||||
|
||||
#if 1
|
||||
u32 res_hash = 5383;
|
||||
res_hash = mmu_hash(res_hash, (u8 *)&task_param->image, sizeof(struct image_file));
|
||||
res_hash = mmu_hash(res_hash, (u8 *)&task_param->task_id, 4);
|
||||
res_hash = mmu_hash(res_hash, (u8 *)&task_param->element_id, 4);
|
||||
u32 data_crc = res_hash;
|
||||
#else
|
||||
u32 tab[3] ALIGNED(4);
|
||||
tab[0] = (u32)fp;
|
||||
tab[1] = (u32)task_param->texture.data;
|
||||
tab[2] = task_param->image.len;
|
||||
u16 data_crc = CRC16(&tab[0], sizeof(tab));
|
||||
#endif
|
||||
/* 检查是否已经有缓存,如果需要缓存的图片没在cache里,释放原来的,缓存新的 */
|
||||
void *cache_addr = gpu_input_stream_cache_check(data_crc);
|
||||
int vaild_index = index;
|
||||
@@ -4377,6 +4385,7 @@ void *cache_gpu_input_data(void *head, pJLGPUTaskParam_t task_param, void *fp, i
|
||||
}
|
||||
#endif
|
||||
cache_addr = gpu_input_stream_cache_add(fp, task_param->texture.data, task_param->image.len, data_crc, task_param->texture.mmu_tab_base, (task_param->info.tab_size >> 2));
|
||||
/* printf("[cache]add elm_id:%x task_id:%d index:%d addr:0x%x", task_param->element_id, task_param->task_id,index, (u32)cache_addr); */
|
||||
task_param->texture.data = cache_addr;
|
||||
task_param->texture.mmu_tab_base = NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user