原文地址:dm365的LCD显示作者:mick

对DM365的decode做了修改,想让他原来的从小电视输出,改成用LCD输出。

在DM365上面接了一个LCD屏幕。屏幕是800*480,被设置成720*480大小。

从decode出来的数据,应该是YUV420PSEMI的,而就目前我知道的,LCD输出时UYVY的422格式。

声明一下,目前没太多文档读,有些地方可能不对,希望谁发现了,就回帖告诉我一声,不胜感激。

decode是用fifo活的的一帧的数据,在一个Buffer_Handle中。声明了两个hSrcBuf, hDstBuf,分别是源和目的。

下面是两行打印信息,关于这两个Buffer_Handle的。

************hSrc below:
[15] @ 0x4378a000 (0x86ee2000 phys) numBytes 718848 (718848) useMask 2 (3) ref no
        Width 720 (720) Height 480 (576) Pos 24x24 LineLength 768 (720)
************hDst below:
[0] @ 0x40c00000 (0x80a00000 phys) numBytes 691200 (691200) useMask 0 (1) ref yes
        Width 720 (720) Height 480 (480) Pos 0x0 LineLength 1440 (1440)

这两个视频帧的物理空间上的值在括号里面,是虚拟出来的空间的值在括号前面。可以看到,源的linelength是768,所以拷贝的时候,后面会有一些无用的数据。

没有用decode自带的那个framecopy什么的,因为我用那个图像只能被扁着显示在左边的一半地方……

然后我调用了ccv里面的420到422的转化,然后手动修改了dmai里面的转化代码,目前得到了黑白的数据,也就是y值。但是u,v的值还没搞好,现在是黑白图像,不过能够全屏720*480显示了。

for(i = 0; i < srcDim.height; i++) {
   for(j=0; j < srcDim.width/4; j++) {   
    *dst++ = *src_u;
    *dst++ = *src++;
    *dst++ = *src_v;
    *dst++ = *src++;    
    
    *dst++ = *src_u;
    *dst++ = *src++;
    *dst++ = *src_v;
    *dst++ = *src++;
    src_u += 2;
    src_v += 2;
   }
   dst = dst + (dstDim.lineLength - srcDim.width*2);
   src = src + (srcDim.lineLength - srcDim.width);
   src_u = src_u + (srcDim.lineLength - srcDim.width);
   src_v = src_v + (srcDim.lineLength - srcDim.width);
        }

这是我幻想的,算上u跟v的转化,可是u跟v的效果不行,颜色没加上……继续努力中

不过,看dmai的代码,好像dm365不支持硬件ccv转化,用这种软的,相当浪费arm资源,打印的arm显示,已经占用超过90%了,而且只能显示5帧左右。

dm365的LCD显示相关推荐

  1. bmp文件头_「正点原子FPGA连载」第十九章SD卡读BMP图片LCD显示

    1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...

  2. LCD显示异常分析——开机闪现花屏【转】

    转自LCD显示异常分析--开机闪现花屏 最近在工作中,有同事遇到LCD开机瞬间会闪现雪花屏的问题,而这类问题都有个共同点,那就是都发生在带GRAM的屏上,同样的问题,在休眠唤醒时也会出现. 其实这类问 ...

  3. WINCE5.0+S3C2443系统每隔几分钟会自动关闭LCD显示

    这几天在调试WINCE5.0+S3C2443系统的时候,发现大概每隔6分钟的时候,系统就会自动关闭LCD屏的显示,这时候如果去点击触摸屏就会恢复显示.刚开始我还以为是系统进入了sleep状态了,发现在 ...

  4. ds18b20温度传感器 lcd C语言,基于AVR单片机的18B20温度传感器及LCD显示的C语言程序设计...

    ***************************************************/ #include #include #define uchar unsigned char # ...

  5. 产业链人士:LCD显示驱动芯片价格有望趋于稳定

    8月18日消息,据国外媒体报道,在汽车.消费电子等多领域芯片供不应求,芯片代工商产能普遍紧张的情况下,LCD显示驱动芯片的供应也受到了影响. 今年3月份,产业链方面的人士就透露,LCD面板需求强劲,拉 ...

  6. TFT LCD显示原理详解

    <什么是液晶> 我们一般认为物体有三态:固态.液态.气态,其实这只是针对水而言,有一些有机化和物 还有介于固态和液态中间的状态 就是液晶态,如下图(一):                 ...

  7. 嵌入式linux调试dsi,做嵌入式开发时,你是怎么实现LCD显示的?

    原标题:做嵌入式开发时,你是怎么实现LCD显示的? 1.本文目的 做嵌入式图形开发,我们往往都会利用到各种GUI进行交互设计,但是对于GUI的字符串处理与中文字库显示,也许并不会特别关注,因为GUI已 ...

  8. 单片机 c语言百位加上小数点,51单片机水温控制LCD显示加VB上位机温度曲线绘制...

    现功能,1L水由1KW电炉加热,要求水温在一定范围内人工设定,并能随着环境温度改变自动调节,以维持设定的温度不变. 矩阵键盘输入设定温度,LCD1602显示温度值,VB上位机绘制温度曲线 /***** ...

  9. LCD显示异常分析——撕裂(tear effect)

    概述 在上一篇<LCD显示异常分析--开机闪现花屏>中,我们一起分析了开机花屏的问题,在这一篇中,我将对LCD撕裂(tear effect)问题进行详细分析,以及给出这类问题的常用解决方法 ...

最新文章

  1. 【Android Protobuf 序列化】Protobuf 使用 ( Protobuf 使用文档 | 创建 Protobuf 源文件 | Protobuf 语法 )
  2. Comparable与Comparator浅析
  3. 抖音云控_抖音云控/快手云控:引领5G电商短视频新潮流
  4. C++经典书籍和相关内容
  5. Kafka 安装与部署(单机版)与kafkaDemo调试测试(包含JAVA Demo)
  6. 2018.11.05-4028-撸串(string)
  7. 一把数学上完美的尺子(哥隆尺)
  8. (转)探寻区块链的源头——“重回拜占庭”
  9. c3p0 服务启动获取连接超时_一次c3p0连接池连接异常错误的排查
  10. GB50174《电子信息系统机房设计规范》贯标培训通知
  11. JS字符(字母)与ASCII码转换
  12. 2020.10.08丨全长转录组之参考基因组比对
  13. 数据库的内外链接和左右链接
  14. BiSeNet V2网络结构详解
  15. AI治退“七天无理由退换货”
  16. 美团点评技术与算法文章汇总,设计算法、前后端、客户端、小程序等
  17. 一种适用于智能仪表智能特性验证的检测方法和系统
  18. 反编译系列教程(上)
  19. 离线识别率高达99%的Python人脸识别系统,开源~
  20. win8 php 64位下载地址,万能驱动win8/win8.1下载 64位32位

热门文章

  1. ios realm 文件_realm之于iOS
  2. matlab 离散阶跃函数,MATLAB编程实现简单阶跃函数波形
  3. java发送透传个推_Android个推透传消息的实现
  4. 一专一能、一专多能、多专多能 你是哪一种
  5. 王教授是哪里人代码实现
  6. Sober算子边缘检测与Harris角点检测1
  7. python实现通讯录功能课程设计报告_Python实现通讯录功能
  8. 日常交际技巧经验总结99句(大全)
  9. 锤子、360、美图……金立之后下一个倒下的“三线”是谁?| 一点财经
  10. openshift部署