• YUV422蓝色屏幕输出的调试援助


    YUV422蓝色屏幕输出的调试援助

     

        YUV422有YUYV,YVYU,UYVY,VYUY四种,以下笔者就就以UYVY为例介绍一下数据构成。因为常常要跟视频输入打交道,所以YUV422这种常见的视频信号是常常碰到的。

    有时候我们调试一个模块输出YUV422,然后再显示出来。非常多时候。可能没法准确推断你那个模块是不是已经正常跑起来了。跑起来来的情况下。是不是真的有数据输出,有了数据输出后来的数据究竟对不正确。

       带着这些疑问。当然有非常多对策,笔者就先把这个事情一分为二。以YUV422数据为界限分两部分,假设怀疑是模块没有输出YUV422数据或者输出的数据有错误,那么我们就让这个模块临时不工作。手动模拟一个YUV422一帧的数据送到显示里面去,比較著名就是蓝屏输出了。以下笔者就简介一下YUV422数据

    /*****************************************************************************************************/
    声明:本博内容均由http://blog.csdn.net/edsam49原创,转载请注明出处,谢谢!


    /*****************************************************************************************************/

       在多数平台里,芯片在输出YUV422数据的时候,Y是一个buffer,UV合在了一个buffer,YUV422的情况下uv的数据就是交替出现。以下就是笔者亲自试过的一组产生对应buffer的代码。

       首先是申请Y & UV的buffer空间吧。这个不用讲了吧!

       然后就是改动设置buffer的值,演示样例688X480的buffer数据。

    void setYUVbufferColor(void){
        unsigned int i, addr, regval;
    	for(i=0; i<=(688*480); i++){
    		//addr = (unsigned int )TVDTransferToDRVInfo.addrYx + 4*i + 0x10;
    		//*(unsigned int *)(addr) = yv;
    		addr = (unsigned int )TVDTransferToDRVInfo.addrYx + i;
    		*(unsigned char *)(addr) = 0x70;
    	   }
    
    	for(i=0; i<=(172*480); i++){
    		addr = (unsigned int )TVDTransferToDRVInfo.addrCx + 4*i;
    		*(unsigned int *)(addr) = 0x72d472d4;
    	   }
    
    }

          主要就是Y的数据是0x70,U跟V是0x72跟0xd4;

          改动好这种buffer的数据。直接把地址送到显示那边去,看有没有蓝屏输出,假设有就说明显示没问题,假设没有就说明显示有问题,这样我们就能够至少能够推断出显示有没有问题了。

    那么有人可能会问了,假设模块跟显示都有问题还不是一样显示 不出来。

    当然了,笔者仅仅是一分为二先推断显示有没有问题,你攻克了显示的问题,再回回过来解决模块的问题也是能够的。当然。也能够调试模块的时候,保存模块输出的一帧数据帧,分析一下它的数据有没有问题。PC端也有一些分析纯YUV数据显示的工具。

           小议了一下这个伟大的、可爱的蓝屏输出,让人爱也让人恨的蓝屏输出:)。利用好蓝屏输出的数据模样。对我们解决相关问题还是非常有帮助的。

     

     

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
    TCP/IP详解学习笔记(2)-数据链路层
    TCP/IP详解学习笔记(1)-基本概念
    HTTP协议学习
    Windows下Git多账号配置,同一电脑多个ssh-key的管理
    Linux定时任务Crontab命令详解
    样式化复选框(Styling Checkbox)
    emmm 深入浅出教你看懂现代金融游戏
    今日工作收获(2018/2/27)
    html upload_file 对象(2018/02/26)工作收获
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4803309.html
Copyright © 2020-2023  润新知