版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
47XX TVOUT发布说一、移植说明1环境目前我们的服务器上4755TVOUT代码配置的显示屏是480*272分辨率的并行RGB屏,24位接法。而我们的资源大小是480*272的,数据格RGB888.所以主界PMP显示屏上显示时不用经过IPU处理,但是显示到TV上时需要经过IPU放大。数据经过后需要经过IPU放缩才能全屏显示到PMP显示屏TV上。IPU最大能放大两倍,即1:2。例如320*240的资源最大只能放大到640*480。但是缩小的话最小可以缩小到3232:1。以下我们4755上配置32RGB888分辨率为480*272的资源为例展开说明。。2、界面TVOUT和TVOUT:TVOUT部分我们区分界面TVOUT和视频TVOUT。界面TVOUT是指把我们的480*272的资源经过我们的IPU放大然后直接显示到电视上TVOUT是指在我们PMP上的时候通过OSD菜单选项把输出到电视上。。3数据格式目前4755的视屏流程不管是在OT还是lcd屏都是采用直通模式就是之前都要走一下dma1_to_ip(这个函数为了节省系统资源,界面OT关于主界面在V上的显示部分都是采用非直通模式传送数据,经IU放大后的输出数据位16位RB565数据,要想在V上正确显示必须在显示之前把RB565数据转换为YV数据。这是由CD模块的LDBC寄存器的第八位控制的。如果没有置上这一位,TV上的画面会显示为颜色偏绿,并且有大量的拖墨现象,很像古代的油墨画,但是显示的画面能看出大致的轮廓,有菜单操作时,画面会有相应的变化。:注意在TV上显示的时候这一位不能置上需要专门清一下这个:4、流程:不管是在TV上还是LCD上显示画面时,我们4755采用的都是直通模式。4750在LCD上时采用直通模式,但是在TV上是采用非直通模式。4725B4755一样,都是在LCDTV上时都是采用直通模式。直通和非直通模式是上层MPLAYER处理时架构的,对于底层驱动的区别就是,直通模式的时候要先调用set__output(,再调用dma1_to_ip(。非直通模式时要先调_output(,lcd_to_tv(注意:非直通模式目前只用于在TV上,并且是可选的TVOUT移植流程1、界面TVOUT我们是放在“工具箱-系统设置-电视制式选择” 现的。菜单有LCD、PAL、NTSC三个选项。本功能的实现不仅修改了minios/soc_src/jz4755/drv/lcd文件夹中的内容,还修改了很多上层应用的文件。凡是我修改的地方我都有标“//sxyzhang……”.大家可以准确的找到相应的3、实现原理(32RGB888分辨率位480*272的资源为例(1)64位对齐申请一大块内存(480*272*3),分成framebuffer分成三块,每首先gui从资源那读出资源图像存在BITMAP位图里,根据其坐标和小更新到r_buf,g_buf,b_buf的图像信息通去ipu将其放大到三块frame中,这一点要注意,因为前framebuffer有特殊用dma将第framebuffer送到LCDFIFO里,最后送到电视2、相关需要修改的文件为Minios/mtv_50/sysconfig/sysconfig.c:添加菜单及相应处 .c:处理菜单的逻辑兼容 .c:处理osd菜单的逻辑兼容 .c:处理菜单的逻辑兼容 Thread.c:保证线程流程正Minios/gui_lib/src/fb.c:支持界面输出时,数据的处理及传Minios/gui_lib/src/Global.c:支持界面输出时,数据的处理及传minios/soc_src/jz4755/drv/lcd/lcdc.c:驱动层面上功能的实xMode为PAL制式TVOUT,xMode2时为NTSC制式TVOUTminios/soc_src/jz4755/drv/lcd/lcdarg.ctv_param_pal和tv_param_ntsc分别PAI制式和NTSC制式的控制器初始化参数。注意.foreground1有五个参数分别对应TV上被放大后的资源显示的bpp,x,y,w,h.其中bpp必须是16位。可以通过改变x,y,w,h来改变显示的区minios/soc_src/jz4755/drv/lcd/lcd.h:辅minios/soc_src/jz4755/drv/lcd/ipu.c:辅★TVOUT移植流程1、TVOUT具体的功能实现有两种(1)器/电视输出(选择(2)器2目前我们的视屏流程不管是在TVOUT还是屏都是上采用直通模式。直通模式的时候要先调用set__output(),再调用dma1_to_ip(。非直通模式时要先调用set__output(,再调用lcd_to_tv(。注意:非直通模式目前只用于在TV上3、TVOUT的代码在我们的工程上已经很成熟了,所以问题很少,在此就不做赘述。如果因为添加界面TVOUT而影响到TVOUT,那么建议从我们的服务器上下一份能够正常实现TVOUT minios/soc_src/jz4755/drv/lcd文件夹对比着寻找问题,相信会很快找到问题的。TVOUT目前47504755上的NES、GBA、SFC游戏的TVOUT已经做好了。实现的原理有点不同。游戏的TVOUT采用的仍然是直通模式。1、原理:输入的为16位RGB565数据,大小都不超过320*240.所以无论是显LCD屏还是TV都要经过IPU放大来尽量实现全屏显示。实际上,在LCD上显示时可以实现全屏,但是目前在TV上还是达不到全屏。经过IPU处理后为RGB888数据。可以直接显示在LCD上,但是要想显示在TV上必须转一下数据要从RGB数据转成YUV这样TV上才能2、移植步骤:在每个游戏库中各自添加相应的IPU初始化处理就可以了。例如,NES游戏就要改一下NesIpuInit()这个函数,添加的相关代码我都有“//sxyzhang……”作为标识。由于这部分牵涉到游戏库文件,所以具体的修★如果添加了界面TVOUT后程序运行异常,则最好查一下内存分配文件,minios/mtv_50/jz4755_cetus.mak,保证分配足够的内存给framebuffer,大小至少要达到670*470*2*3个字节。因为lcdc.c中lcd_get_width()和lcd_get_height()在tvout_display()后已经返回值变成672470。★如果添加了界面TVOUT之后TV上并没有相应的图像而是整个屏幕都是黑的或者有信号但没有图像,那么有可能是由于主频的缘故。建议将minios/mtv_50/system.csys_set_processor_level(level)数中写死level=3;★如果添加了界面TVOUTTV并没有出现相应的很好的画面又不能很快确TVOUTtvout_display(unsignedxMode)直接放在系统启动的务中去跑。以在系统起来的务中测试NTSC的界面TVOUT底层驱动代码是不是有问题为例,在minis/mtv_50/main/moblie_main.c的主任务TaskStart应用中添加菜单和处理的时候出问题了应着力检查我们改动的mtv_50的文件。如果TV显示依然不正常,那应该着手检查驱动代码,包括数据位数、前景一的参数设置、显示大小是否超出资源最大的放缩范围等,主要检查lcdc.c和lcdarg.c,如果检查后依然存在问题,则多为系统方面的问题,如★如果主界面已经可以在TV上显示但是菜单返回时突然会花屏一下然后马 和seClosure()中的FbAlphaRect(0,0,SCREEN_W,SCREEN_H,DARK_COLOR)★如果原来资源的大小为320*240,则在TV上需要放大的话最大只能放大到640*480.而TV的显示尺寸位720*480(NTSC)720*573(PAL。目前我们调过的最好的界面输出效果是NTSC能够实现全屏但是PAL一直都没有出现全屏。我的建议是,如果要求全屏的话,320*240的资源尽量只用NTSC制式如果不要求全屏的追求NTSC和PAL的尽量全屏的显示。具体的做法是根据具体的显示情况调整lcdarg.c和lcdc.c其中,lcdarg.c要调整tv_param_pal/tv_param_ntsc中的.foreground1的参数,(x+w)和(y+h)一定要小于等于640和480(原始尺寸为320*240,不管是NTSC还是PAL,但不能太小。同理,如果原始尺寸为480*272,上述(x+w)和(y+h)一定要小于720和480(NTSC)或720*573(PAL,因为电视需要回写时间。而lcdc.c要调整tvout_display()中的g_Img.out_widthg_Img.out_height,使这两个参数小于等于lcdarg.c的tv_param_pal/tv_param_ntsc.foreground1的wh。注意:调整显示尺寸是一个微调的过程,需要多尝试多总结,很多时候是靠经验值调出满意的效果的。4725B4750TVOUT目前已经发布的代码兼容了4725B和4750以及4755的界面TVOUT和TVOUT。在上层应用方面的所做的修改几乎是一样的,就是上述mtv_50部分文件。主要的区别就是驱动方面的处理。1、4725B上的TVOUT是由7024实现的。界面TVOUT的函数为direct_display_tvout(direct_mode,其中direct_mode为1了PAL制式,为2时就是选择了NTSC制式。界面TVOUT全屏显示是靠2而非IPU。但是时,不管是界面TVOUT还是TVOUT都是使用IPU放缩,并且使用直通模式传送数据。即之前先调用set__output(,再调用dma1_to_ipu(。驱动相关的代码主要放在mnios/soc_sc/z4725/dv/cd文件夹和minos/soc_sc/z4725/dv/v_out文件夹的检测和解决办法。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公建筑工程施工材料管理保证措施
- 腿部肿胀健康宣教
- 研究生设计院就业前景解析
- 变更算不算合同外包合同
- 医院维修业务外包合同
- 线上体验区服务外包合同
- 保险公司劳务外包合同
- 汽车修理厂油漆外包合同
- 机动车登记服务外包合同
- 行政服务接待外包合同
- 贵州大学-物理类专业-大学物理1-2模拟试卷
- 史上最详细工程报建报批手续办理全流程
- 《思想道德与法治》课件第四章明确价值要求践行价值准则第三节积极践行社会主义核心价值观
- 胎盘早剥抢救流程图
- 内蒙古建设工程竣工验收报告
- JJG 672-2018氧弹热量计
- GB/T 5226.1-2019机械电气安全机械电气设备第1部分:通用技术条件
- GB/T 31979-2015钢丝绳旋转性能测定方法
- 领导干部心理压力及其调适课件
- 枪弹痕迹检验技术课件
- 《针灸医籍选读》课件中篇医论选第五章《铜人腧穴针灸图经》选
评论
0/150
提交评论