这段时间一直在研究hdmi-servers,因为友善对这个在是闭源的,所以由于兴趣的关系和工作的关系,决定自己写一个hdmi-servers。

在hdmi中,最关键的是弄清楚了Hdmi显示数据的怎么来的,怎么输出的。

在s5pv210数据手册上,在VIDEO PROCESSOR一节中,有过这样的一个框架图:

同时在MIXER一节中的开始介绍部分,有这样的阐述:

那显示的源数据送到vp或者mixer的数据又是从哪里来的呢?

从友善的hdmi-servers显示效果来看,Hdmi显示和lcd显示是同步的,那hdmi的显示数据,那么可以猜测hdmi显示数据的源就来自于framebuffer。其实最终的答案告诉我们显示的数据,跟我们猜想的一样,确实是从framebuffer中取过来的。

怎么来的?用什么方式来的?

在友善的论坛上,我找到了一份对我很有帮助的源码,和帖子,这里贴个出处,http://www.arm9home.net/read.php?tid-27618.html,感谢这位发帖的兄弟。

其实在Hdmi中,它通过将fimc2配置overlay,然后通过把overlay的源地址设置为framebuffer的内存地址,把overlay的目的dst地址设置为fimc2他本身的地址,这样,通过fimc2对framebuffer的显示数据做转换和视频输出.(fimc,能做color space和视频输出,他能从内存取数据。)

overlay的功能在数据手册中mixer一节中做了相关描述,可以仔细看看。

在调试的过程中,对hdmi中的上行数据即framebuffer的颜色格式什么的,最好都要清楚,否则就会出现跟我一样的情况,把framebuffer的数据格式弄错了,结果调试了好久,一直是个花屏现象,蛋疼了好久好久,最后还发帖,结果还没人理。可怜啊。

对于hdmi的音频数据,目前还在研究中。

在linux上开发210的hdmi-servers输出的更多相关文章

  1. 如何在嵌入式Linux上开发一个语音通信解决方案

    开发一个语音通信解决方案是一个软件项目.既然是软件项目,就要有相应的计划:有多少功能,安排多少软件工程师去做,这些工程师在这一领域的经验如何,是否需要培训,要多长时间做完,中间有几个主要的milest ...

  2. DPDK2.1 linux上开发入门手册

    1引言 本文档主要包含INTEL DPDK安装和配置说明.目的是让用户快速的开发和运行程序.文档描述了如何在不深入细节的情况下在linux应用开发环境上编译和运行一个DPDK应用程序. 1.1文档总览 ...

  3. Yeoman+Express+Angular在Linux上开发配置方法

    $mkdir ExpressWithAngularTest $cd ExpressWithAngularTest choose needed components you'd like to add ...

  4. 如何在Linux上使用VIM进行.Net Core开发

    对于在Linux上开发.Net Core的程序员来说, 似乎都缺少一个好的IDE. Windows上有Visual Studio, Mac上有Visual Studio for Mac, 难道Linu ...

  5. C#在Linux上的开发指南

    本人才疏学浅,在此记录自己用C#在Linux上开发的一点经验,写下这篇指南.(给想要在Linux上开发C#程序的朋友提供建议) 目前在Linux上跑的网站:http://douxiubar.com | ...

  6. 基于IDEA的JAVA开发[第一集]:在Linux上安装IDEA

    1,因为买了荣耀的magicbook pro 锐龙版,系统是Linux,以后打算直接在Linux上开发.本来熟悉Myeclipse,下载了Myeclipse2017 for Linux,但是安装中出现 ...

  7. 使用VS GDB扩充套件在VS上远端侦错Linux上的C/C++程序

    在 Linux 上开发 C/C++ 程序,或许你会直接(本机或远端)登入 Linux,打开编辑器写完代码后,就用 gcc/g++ 来编译,遇到要除错(debug)的时候,则会选择使用 gdb 来进行除 ...

  8. [Zephyr] 1、在linux上安装Zephyr-OS并跑DEMO

    星期五, 14. 九月 2018 02:18上午 - BEAUTIFULZZZZ 0) 前言 Zephyr™项目是一个采用Apache 2.0协议许可,Linux基金会托管的协作项目.为所有资源受限设 ...

  9. Linux上使用VIM进行.Net Core

    如何在Linux上使用VIM进行.Net Core开发 对于在Linux上开发.Net Core的程序员来说, 似乎都缺少一个好的IDE.Windows上有Visual Studio, Mac上有Vi ...

随机推荐

  1. 开发Yii2过滤器并通过behaviors()行为调用(转)

    在Yii2的几乎每个controller中,我们都会看到一个函数behaviors(),通常,我们用这个函数来配置控制器的权限,例如:public function behaviors()    {  ...

  2. 免费申请 Github 私有仓库--学生和教育人士的福利

    免费申请 Github 私有仓库 -学生和教育人士的福利 Github 是全球知名的软件项目托管网站.在 Github 创建私有仓库是需要收费的,收费方案有多种,费用最小的方案是每月 7 美元的“微型 ...

  3. JavaScript与DOM(下)

    介绍 上一章我们介绍了JavaScript的基本内容和DOM对象的各个方面,包括如何访问node节点.本章我们将讲解如何通过DOM操作元素并且讨论浏览器事件模型. 本文参考:http://net.tu ...

  4. 从github上下载项目到eclipse

    第一步:把代码下载到本地的仓库中 到github后选择自己想下载的项目,拷贝它的URL,图示如下: 进入eclipse中  点击后如下:  继续 按照图片指示继续(大白菜next教程)     fin ...

  5. Windows上怎么安装ELK

    In this guide I will show that it is also possible to run Logstash on a Windows Server 2012 machine ...

  6. zookeeper的部署

    http://blog.csdn.net/hongtu1993/article/details/53215587http://www.centoscn.com/image-text/install/2 ...

  7. Spring里的aop实现方式和源码分析

    使用"横切"技术,AOP把软件系统分为两个部分:核心关注点和横切关注点.业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点.横切关注点的一个特点是,他们经常发生在核心关 ...

  8. NAS、SAN和DAS的区别

    目前磁盘存储市场上,存储分类(如下表一)根据服务器类型分为:封闭系统的存储和开放系统的存储,封闭系统主要指大型机,AS400等服务器,开放系统指基于包括Windows.UNIX.Linux等操作系统的 ...

  9. vim:折叠操作

    zo 打开当前折叠 zc 关闭当前折叠 zr 打开所有折叠 zm 关闭所有折叠

  10. [ci] jenkins的Timestamper插件-让日志显示时间

    jenkins的Timestamper插件-让jenkins console带时间戳 安装插件 配置pipline,使用timestamp - 官网有说怎么用: 即用timestamps{} 包裹所有 ...