logo资料库

MELIS 用户编程手册-图片中间件-WILLOW.pdf

第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
资料共33页,剩余部分请下载后查看
文 档 编 号 V1.0 版 本 SW1106REF001 密 级 1 共 33 页 MELIS 用户编程手册 图片中间件-WILLOW (内部公开/外部公开) 文档作者 Xiechr 创建日期 2011-06-15 签 名 日 期 拟 制 审 核 批 准 分发部门 [ [ ]SW ]MKT [ ]SD [ ]AL [ ]CS [ ]TST All Winner Technology CopyRight©2011 All Winner Technology, All Right Reserved
MELIS 用户编程手册--图片中间件-WILLOW 密级: 版本历史 修改人 时间 备注 V0.1 Xiechr 2011/06/15 建立初始版本 Xiechr SW1106REF001(第 i 页) 2011-06-15 CopyRight©2011 All Winner Technology, Right Reserved
MELIS 用户编程手册--图片中间件-WILLOW 密级: 目 录 1.1. Description------------------------------------------------------------------------------------------ 1 1.2. Purpose ---------------------------------------------------------------------------------------------- 1 1.3. Reference ------------------------------------------------------------------------------------------- 1 1.4. Contact Info----------------------------------------------------------------------------------------- 1 2.1. WILLOW_CMD_QUERY_STATUS----------------------------------------------------------- 2 2.2. WILLOW_CMD_GET_THUMBS ------------------------------------------------------------- 3 2.3. WILLOW_CMD_SET_ALBUM_ART -------------------------------------------------------- 5 2.4. WILLOW_CMD_SHOW_IMG_FROM_FILE ----------------------------------------------- 7 2.5. WILLOW_CMD_SHOW_IMG_FROM_BUFFER ------------------------------------------ 9 2.6. WILLOW_CMD_SET_SWITCH_MODE ---------------------------------------------------10 2.7. WILLOW_CMD_GET_SHOW_PARAM ----------------------------------------------------11 2.8. WILLOW_CMD_GET_IMG_INFO ----------------------------------------------------------12 2.9. WILLOW_CMD_SCALE-----------------------------------------------------------------------13 2.10. WILLOW_CMD_ROTATE ---------------------------------------------------------------------14 2.11. WILLOW_CMD_MOVE -----------------------------------------------------------------------14 2.12. WILLOW_CMD_COME_BACK--------------------------------------------------------------15 2.13. WILLOW_CMD_OPEN_SHOW --------------------------------------------------------------15 2.14. WILLOW_CMD_SHUT_SHOW --------------------------------------------------------------16 2.15. WILLOW_CMD_CHECK_IMG---------------------------------------------------------------16 2.16. WILLOW_CMD_START_DEC----------------------------------------------------------------17 2.17. WILLOW_CMD_START_SHOW-------------------------------------------------------------17 2.18. WILLOW_CMD_STOP -------------------------------------------------------------------------18 2.19. WILLOW_CMD_SET_SCN--------------------------------------------------------------------18 2.20. WILLOW_CMD_START_SHOW_EXT -----------------------------------------------------19 2.21. WILLOW_CMD_CATCH_SCREEN ---------------------------------------------------------21 2.22. WILLOW_CMD_AUTO_ROTATE -----------------------------------------------------------22 2.23. WILLOW_CMD_AUTO_ROTATE -----------------------------------------------------------22 2.24. WILLOW_CMD_SET_SHOW_MODE ------------------------------------------------------23 2.25. WILLOW_CMD_CFG_LYR -------------------------------------------------------------------23 2.26. WILLOW_CMD_ROT_LYR -------------------------------------------------------------------24 2.27. WILLOW_CMD_CFG_OUTPUT -------------------------------------------------------------24 2.28. WILLOW_CMD_CFG_INPUT ----------------------------------------------------------------26 2.29. WILLOW_CMD_SET_PLAYLIST -----------------------------------------------------------26 2.30. WILLOW_CMD_MOV_TRACK -------------------------------------------------------------28 2.31. WILLOW_CMD_GET_CUR_INDEX--------------------------------------------------------29 2.32. WILLOW_CMD_SCALE_EXT ---------------------------------------------------------------29 Xiechr SW1106REF001(第 ii 页) 2011-06-15 CopyRight©2011 All Winner Technology, Right Reserved
MELIS 用户编程手册--图片中间件-WILLOW 密级: Melis 操作系统是由全志科技自主研发的一套精简、高效、易用的实时多任务操作系统。 Willow 中间件是基于 Melis 系统上开发的图片解码/显示插件,用于支持应用对图片上的各 种功能的需求,免除应用对具体图片格式的了解,隔离和底层系统和驱动的操作,让图片的 相关的应用程序变得简单。 本文档主要讲述 Willow 插件的编程接口,让开发者能快速掌握 Melis 系统上的图片解 码,图片显示,图像处理的操作,并基于 Willow 来开发自己的图片相关应用。 1)读者可以先了解一些关于颜色空间,像素格式等基本概念,以便更加快速的掌握 Willow 中间件的相关接口,加快应用开发速度。 2)读者可以从《SW1103REF005_MELIS PROGRAM GUIDE_Module.pdf》文档了解模 块的安装,卸载,打开,关闭以及模块操作命令。 如果您发现文档中的描述和实际应用有出入,或是文档描述不清晰让您有疑问,请随时 联系我们,我们将最短时间内做出答复。同时,如果您有任建议或批评,也希望您不吝赐教。 请通过以下联系方式联系我们: Homepage: http://www.allwinnertech.com E-mail: xiechr@allwinnertech.com Xiechr SW1106REF001(第 1 页) 2011-06-15 CopyRight©2011 All Winner Technology, Right Reserved
MELIS 用户编程手册--图片中间件-WILLOW 密级: 图片中间件 willow 用于支持应用对图片上的各种功能的需求,免除应用对具体图片格 式的了解,隔离和底层系统和驱动的操作,让图片的相关的应用程序变得简单。包括以下几 个方面的功能: 1)支持对多种图片格式的解析、解码支持,包括 jpeg/bmp/png/gif 格式,并能够方 便的添加其他格式的图片解码支持;支持 jpeg 图片硬件解码,提供高速解码性能。 2)支持从音乐文件中解码出专辑图片; 3)支持图片的显示,并支持对图片的缩小/放大/旋转功能; 4)支持图片缩略图的获取,图片基本信息的获取; 5)在图片浏览时支持多种图片切换效果,包括:淡入淡出、马赛克、缩小、放大、水 平/垂直百叶窗、向上/向下/向左/向右滑入、向上/向下/向左/向右展开; 6)支持图片的自动旋转功能; 7)在图片浏览时支持多种浏览模式,包括:原始尺寸,剪裁全屏模式,拉伸全屏模式, 自动模式。 本文档只介绍模块操作的控制命令字,如果您希望了解模块的安装,卸载,打开,关闭 以及模块操作命令,可以阅读《SW1103REF005_MELIS PROGRAM GUIDE_Module.pdf》文 档。 __s32 esMODS_MIoctrl(__mp *mp, __u32 cmd, __s32 aux, void *pbuffer); willow 模块的句柄; mp = WILLOW_CMD_QUERY_STATUS; cmd aux = 0; pbuffer = 0; Willow 当前的状态: WILLOW_STATUS_INIT, WILLOW_STATUS_BUSY, WILLOW_STATUS_READY, Willowready,目前未使用该状态; WILLOW_STATUS_FINISH, Willow 所有命令执行完毕; Willow 有命令未执行完毕; 加载后的初始化状态; 查询 Willow 中间件当前的状态; //查询 willow 状态,等待命令执行完毕 static void WaitWillowReady(__mp * hWillow) { __u8 status; while(1) { Xiechr SW1106REF001(第 2 页) 2011-06-15 CopyRight©2011 All Winner Technology, Right Reserved
MELIS 用户编程手册--图片中间件-WILLOW 密级: status = esMODS_MIoctrl(hWillow, WILLOW_CMD_QUERY_STATUS, 0, 0); if (status != WILLOW_STATUS_BUSY) { break; } esKRNL_TimeDly(1); } } __s32 esMODS_MIoctrl(__mp *mp, __u32 cmd, __s32 aux, void *pbuffer); willow 模块的句柄; = WILLOW_CMD_GET_THUMBS; = 0; mp cmd aux pbuffer = __willow_get_thumbs_param_t *, 输入获取缩略图的信息,包括文件名, 缩略图的尺寸,buffer 地址等; 设置缩略图信息的结果: EPDK_OK:设置成功; EPDK_FAIL:设置失败; 设置获取缩略图所需要的信息; 注 意 , 该 命 令 必 须 和 WILLOW_CMD_START_SHOW( WILLOW_CMD_START_SHOW_EXT) 或 者 WILLOW_CMD_GET_IMG_INFO 配合使用;连续单独调用两次 WILLOW_CMD_GET_THUMBS 命令, 第二次调用会返回失败。 @param hWillow: willow 模块的句柄 /******************************************************************* * Function name: demoGetThumbnail * Description: * 获取图片缩略图 * * Parameters: * * * Return: * * Time: 2011/06/24 *******************************************************************/ __s32 demoGetThumbnail(__mp *hWillow) { @return: on success return EPDK_OK otherwise return EPDK_FAIL. __willow_get_thumbs_param_t thumbInfo; Xiechr SW1106REF001(第 3 页) 2011-06-15 CopyRight©2011 All Winner Technology, Right Reserved
MELIS 用户编程手册--图片中间件-WILLOW 密级: __s32 ret; __s32 bufSize; char filename[512]; //从播放列表获取文件名 ret = GetFileFromPlaylist(filename, 0); if (ret != EPDK_OK) { return EPDK_FAIL; } /*根据实际应用初始化参数*/ thumbInfo.filename = filename; thumbInfo.format = RGB_SEQ_ARGB; thumbInfo.size.width = 100; thumbInfo.size.height = 76; bufSize = thumbInfo.size.width * thumbInfo.size.height * 4; thumbInfo.buf = (__u8*) esMEMS_Palloc((bufSize + 1023)/1024, 0); if (thumbInfo.buf == NULL) { __wrn("err while palloc!\n"); return EPDK_FAIL; } /*解码图片,获取缩略图*/ WaitWillowReady(); ret = esMODS_MIoctrl(hWillow, WILLOW_CMD_GET_THUMBS, 0, &thumbInfo); if (EPDK_FAIL == ret) { __wrn("set thumbs info err!\n"); goto EXIT_GETALBUMN; } ret = esMODS_MIoctrl(hWillow,WILLOW_CMD_CHECK_IMG,0,0); if (EPDK_FAIL == ret) { __wrn("image not support!\n"); goto EXIT_GETALBUMN; } ret = esMODS_MIoctrl(hWillow,WILLOW_CMD_START_SHOW,0,0); WaitWillowReady(); /*此处可以对缩略图操作*/ ret = ShowThumbs(&thumbInfo); Xiechr SW1106REF001(第 4 页) 2011-06-15 CopyRight©2011 All Winner Technology, Right Reserved
MELIS 用户编程手册--图片中间件-WILLOW 密级: EXIT_GETTHU MB: if (thumbInfo.buf != NULL) { esMEMS_Free(thumbInfo.buf, (bufSize + 1023)/1024); } return ret; } __s32 esMODS_MIoctrl(__mp *mp, __u32 cmd, __s32 aux, void *pbuffer); willow 模块的句柄; = WILLOW_CMD_SET_ALBUM_ART; = 0; mp cmd aux pbuffer = __willow_get_albumart_param_t *, 专辑图片的信息,包括专辑图片在文 件中的偏移,专辑图片的格式等; 设置专辑图片信息的结果: EPDK_OK:设置成功; EPDK_FAIL:设置失败; 设置获取专辑图片缩略图所需要的信息; 注 意 , 该 命 令 必 须 和 WILLOW_CMD_START_SHOW( WILLOW_CMD_START_SHOW_EXT) 或 者 WILLOW_CMD_GET_IMG_INFO 配合使用;连续单独调用两次 WILLOW_CMD_SET_ALBUM_ART 命令,第二次调用会返回失败。 @param hWillow: willow 模块的句柄 /******************************************************************* * Function name: demoGetAlbumart * Description: * 获取专辑图片的缩略图 * * Parameters: * * * Return: * * Time: 2011/06/24 *******************************************************************/ __s32 demoGetAlbumart(__mp *hWillow) { @return: on success return EPDK_OK otherwise return EPDK_FAIL. Xiechr SW1106REF001(第 5 页) 2011-06-15 CopyRight©2011 All Winner Technology, Right Reserved
分享到:
收藏