zoukankan      html  css  js  c++  java
  • 在linux上开发210的hdmi-servers输出

    这段时间一直在研究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的音频数据,目前还在研究中。

  • 相关阅读:
    Wintellect的Power Collections库
    rabbitMQ的几种工作模式
    解决死锁问题
    项目#editormd 的使用
    spring cloud篇#1
    科学#老鼠和毒药
    #杂记#实现一个简单的tomcat
    #栈#leetcode856.括号的分数
    #栈#单调栈#leetCode94.验证栈序列
    #树#遍历#LeetCode37.序列化二叉树
  • 原文地址:https://www.cnblogs.com/lihaiping/p/hdmi-servers.html
Copyright © 2011-2022 走看看