海思平台OSD开发:Linux Shell编程实现时间叠加逻辑
需积分: 50 9 浏览量
更新于2024-08-08
收藏 4.87MB PDF 举报
"叠加逻辑-Linux Shell编程与海思OSD开发"
在Linux Shell编程中,叠加逻辑常常用于处理各种数据的整合与显示。在这个场景中,特别提到了时间OSD(On-Screen Display)位图数据的生成过程。首先,我们需要将15个特定字符(包括'0'-'9'、'A'-'P'、'M'、':'、'-')的点阵数据转换为short类型的8*16点阵。这一转换是为了解析每个字符的点阵信息,便于后续处理。
接着,获取当前时间戳,并根据时制(24小时制或12小时制)和显示模式来设定时间OSD的显示模板。时间模板通常包含19或22个字符,这取决于是否包含AM/PM标记。然后,利用之前生成的short类型点阵数据,找出对应时间字符在点阵中的位置,将1点变为4点的位图,这意味着单个像素点被扩大为4个像素,这样能提高在屏幕上的可读性。
最后一步是生成这个新的位图,并将其附加到指定的显示通道。这通常涉及到销毁或创建区域,并通过海思的REGION模块进行管理。REGION模块允许开发者在视频流中添加、管理和控制OSD区域,从而实现时间或其他信息的动态显示。
海思OSD开发文档指出,OSD是一种在屏幕上显示特殊信息的技术,常用于电视机或电脑显示器上,比如显示当前的频道、音量或时间等。在海思平台中,开发者可以通过REGION模块创建并管理OSD区域,例如创建区域HI_MPI_RGN_Create,然后通过HI_MPI_RGN_AttachToChn接口将其附加到特定的视频通道,使得OSD信息能够在视频播放时叠加显示。
OSD区域可以分为Overlay、Cover、CoverEx和OverlayEx,分别有不同的功能,如Overlay和OverlayEx用于位图加载和背景色更新,而Cover和CoverEx则用于填充纯色块。区域属性在创建时就需要设定,包括像素格式、大小和背景色。位图填充操作将位图数据填充到区域内存,以便在屏幕上呈现。
对于Overlay,还有一种特殊的功能叫做OSD反色。当视频背景变化时,OSD可能会变得难以辨认,反色功能可以自动调整OSD的颜色,使其在任何背景下都能保持清晰可见。海思的REGION模块支持多种功能,但具体支持哪些模块,需要参照对应的MPP开发文档进行查询。
在实际操作中,开发者需要按照一定的步骤进行,如初始化区域、填充区域内容、附加到通道并设置显示属性,才能实现OSD的动态显示。Linux Shell编程结合海思OSD技术,能够灵活地在视频流上叠加动态信息,提供丰富的用户体验。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2018-10-11 上传
2018-09-17 上传
2013-03-26 上传
1008 浏览量
2016-09-22 上传
182 浏览量
幽灵机师
- 粉丝: 35
- 资源: 3891
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录