搜索
 找回密码
 立即注册

简单一步 , 微信登陆

【MSD3463】【MMAP调整之BMP_START计算方法】

作者:jayden | 时间:2017-3-16 19:48:53 | 阅读:4280| 只看该作者 只看大图
MSD3463 MMAP调整之BMP_START计算方法
MSD3463为了节省DDR空间,现在采用的是Dynamic Bitmap的方法来存放UI里面的图片素材,也就是MMAP中的BMP_STARTDynamic bitmap 是将UI里面的图片素材压缩掉以节省空间。
UI工具设置方法
参照skintool工具文件夹中《SkinTool_LZMA_User_Guide.txt》,修改SkinTool.iniZUI.xml相应位置的属性,使使用V3.2.1.3或以上版本 skingtool 重新编译ZUI_bitmap.bin,并将生成的bin改名成code中引用的名字,例如公版的:ZUI_bitmap_SW_LOAD.bin
BMP_START计算方法
计算BMP_START空间大小:
   BMP_START = ZUI_bitmap.bin大小 + 解压缩出来最大张的图的大小 + temp buffer (67KB)
A . ZUI_bitmap.bin大小——直接看\tv-ap\dvb\ui2\res1366x768x565\osdcomposer\osdbin下编译生成的bin的大小,单位为字节(公版目前是275KB)
    B.解压缩出来最大张的图的大小可以在下面这个函数中添加打印,在开机的时候会打印出所有的图片大小,选最大的值即可,公版目前最大值是0x1B6C0 (109KB)
BMPHANDLE msAPI_OCP_GenerateBitmapHandle_SDRAMEx()
C. 调整code里的buffer定义
根据公版实际目前情况,BMP_START的大小计算为:
MMAPBMP_START = 275KB + 109KB + 67KB = 451KB ,所以MMAPBMP_START空间大于等于这个值即可,目前公版预留了1MB
code中还有如下两处需要根据上面的结果来一起修改:
#define BMP_TMP_BUFFER_OFFSET   0x4B000 //大于等于编译出来的ZUI_bitmap.bin的大小,公版是275KB,但是//预留了300KB
#define BMP_TMP_BUFFER_SIZE    0x1C000 //上面第2点打印出来的最大张图片的大小,公版最大图片是0x1B6C0

收藏
收藏0
分享
分享
点赞
点赞0
反对
反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版