- 126
- 0
- 约8.56千字
- 约 7页
- 2020-08-02 发布于天津
- 举报
精品文档
Mstar OSD 详解
一、 OSD基本概念
UI 语言:指 OSD内容中的文字部分使用的语言类型;
UI 模式:指 OSD内容适用的环境,例如不同的信号源 (TV、DVD、PC)带来的模式
化其作用主要区分不同的环境下 OSD的不同表现;
UI 场景:特定语言模式下及较多信息页面情况下,当前 OSD适用的特定页面;
UI 事件:用户利用输入设备向 UI 系统提供的操作命令;
UI 动作表:指在特定 UI 场景中,对于 UI 输入的命令进行对应处理的索引表;
OSD画布:指整个 OSD呈现的区域,通常为一个矩形区域;
OSD位置:通常指在 OSD画布中,相较左上角原点的相对位置;
OSD物件:呈现在画布上,表达特定信息,具有特定属性的像素组合。
二、 MST OSD流程图
Mstar 的 OSD方案,感觉主要是在 msosd.c( 底层部分 ) ,menu.c, menutbl.c 这
里 , 主 要 有 MenuPageType、 MenuItemType 、 DrawSubMenuGroupType、
MenuItemFuncType等几个 Stucture ,菜单位置、大小及相应操作方法都在结构
体 里 ; 在 Main 循 环 程 序 中 通 过 不 断 的 调 用 keyDetectHander() 、
irDecodeCommand()和 OsdHandler() 来达到 OSD的各种功能与目的。
三、模块说明
1、User Command
这部分指的是用户利用 Keypad、Ir 或 Visual Key 进行操作,产生中断触发激活
KeyEvent;主要功能是在 Irfunc.c 、keyPad.c 里完成的,在 keyDetectHandler() 、
irDecodeCommand() 中 获 得 相 关 按 键 信 息 , 而 后 通 过 MenuProcessKey() 、
ExecuteKeyEvent() 执行相应的操作(包括画 OSD以及执行按键功能等) 。
。
1欢迎下载
精品文档
这里比较重要的是如何将某状态下的按键(如某一按键连续按两次或者一直按
下)转化成正确的 MenuItemActionType ,因为所有的按键最终都会被转到
ExecuteKeyEvent() 进 行 处 理 , 而 ExecuteKeyEvent() 正 是 根 据 不 同 的
MenuItemActionType 实现不同的功能;实现此功能的关键在于所使用的 Menu
Structure 上,详细内容请参考 Menu Table 模块。
2、Draw OSD
在 Global.h 中定义的一些与 OSD相关的全局变量 (如:g_ucMenuPageIndex、
g_ucMenuItemIndex 、g_ucOsdTimeCounter 等等),在 User Command部分中若用
户进行了不同的操作则会影响到这些变量,根据变量值的不同, OsdHandler() 、
DrawOsdMenu()、DrawOsdMenuPage()、DrawOsdSubMenuGroup()也就可以画出不
同的 OSD界面了;这几个函数大部分是在 Menu.c 里定义的,实现这些函数的功
能则是依靠调用底层部分( msosd.c )的各种功能函数,一般来讲,我们不需要
更改底层的内容。
同样,实现各种 OSD界面风格的关键也
您可能关注的文档
最近下载
- 《创伤急救基本技术》课件.pptx VIP
- 2025年海南省护理学基础专升本考试真题及参考答案.docx VIP
- (25格)舒尔特方格练习题儿童注意力训练(每日一练,共15份).docx VIP
- 2025年金融行业数据风控服务合同协议合同.docx VIP
- 2025南铁单招试题答案.docx VIP
- 2025贵州黔南州州直机关面向全州遴选公务员24人备考题库带答案解析.docx VIP
- 基于核心素养的初中语文微写作教学策略与评价研究论文.docx
- 申万宏源-汽车-商用车行业载具纪元新章系列2-无人驾驶载物白皮书,无人载物场景多元,逐步迈向规模化时刻.pdf VIP
- 中国民航大学 模拟电子技术 试卷及答案 2013模电期中.pdf VIP
- 英美网络谣言治理的法律规制与行业规范.pdf VIP
原创力文档

文档评论(0)