zoukankan      html  css  js  c++  java
  • 3520的YUV数据格式

    1、vi的帧场数据格式为VIDEO_FIELD_INTERLACED(3)
        顶场底场数据按行交错排列。
        top line0
        bot line0
        top line1
        bot line1
        ...

        1700输出的1D1,16个通道,通道0~7在顶场,8~15在底场
        所以从vi获取ch0的yuv数据时,需要丢弃偶数场

    2、VO的帧场数据格式为VIDEO_FIELD_TOP或者VIDEO_FIELD_BOTTOM
        先顶场再底场
        top line0
        top line1
        ...    
        bot line0
        bot line1
        ...        
        所以从v0获取ch0的yuv数据时,不需要丢弃偶数场

    3、YUV的数据格式,stVFrameInfo.stVFrame.enPixelFormat==PIXEL_FORMAT_YUV_SEMIPLANAR_420
    stVFrameInfo.stVFrame.u32PhyAddr[0]:保存Y数据(每像素8bit)
    stVFrameInfo.stVFrame.u32PhyAddr[1]:保存UV数据(每像素2bit U,2bit V)
    stVFrameInfo.stVFrame.u32Stride[0]和stVFrameInfo.stVFrame.u32Stride[1]是跨度。

    yuv数据保存格式如下:
    stVFrameInfo.stVFrame.u32PhyAddr[0]地址:
    Y00 Y01 Y02 Y03 ...
    Y10 Y11 Y12 Y13 ...

    stVFrameInfo.stVFrame.u32PhyAddr[1]地址:
    U00 V11 U02 V13 ...

    还原出像素:
    (Y00 U00 V11),(Y01 U00 V11),(Y02 U02 V13),(Y03 U02 V13)...
    (Y10 U00 V11),(Y11 U00 V11),(Y12 U02 V13),(Y13 U02 V13)...


    4、打印信息如下:
    printf("w=%d,h=%d,Field=%d,format=%d,s0=%x,%d,s1=%x,%d,s2=%x,%d\n",
        stVFrameInfo.stVFrame.u32Width,stVFrameInfo.stVFrame.u32Height,
        stVFrameInfo.stVFrame.u32Field,stVFrameInfo.stVFrame.enPixelFormat,
        stVFrameInfo.stVFrame.u32PhyAddr[0],stVFrameInfo.stVFrame.u32Stride[0],
        stVFrameInfo.stVFrame.u32PhyAddr[1],stVFrameInfo.stVFrame.u32Stride[1],
        stVFrameInfo.stVFrame.u32PhyAddr[2],stVFrameInfo.stVFrame.u32Stride[2]);

    8104(3515):
    w=352,h=288,Field=4,format=19,s0=c8df8000,352,s1=c8e10c00,352,s2=0,0

    7016(3515):
    w=720,h=576,Field=3,format=19,s0=cc686200,720,s1=cc6eb600,720,s2=0,0

    7032(3520,从VI获取数据):
    w=352,h=4636,Field=3,format=19,s0=c3ab4e00,384,s1=c3c67800,384,s2=0,0

    7032(3520,从VO获取数据):
    w=352,h=2318,Field=2,format=19,s0=c40ef980,768,s1=c42a2380,768,s2=0,0

  • 相关阅读:
    移动前端不得不了解的Meta标签
    利用a标签自动解析URL
    看完让你彻底搞懂Websocket原理
    (十六)rk3399 android系统上电/dev/i2c-1权限不够
    (一)Android jni打印到logcat
    (二十五)防编译后函数名通过ida查看到
    (二十四)Ubuntu16.04配置ADB调试环境
    (十五)连接网络adb,android模拟器打开
    (十四)Android NDK混淆
    (二十三)ARM平台NEON指令的编译和优化
  • 原文地址:https://www.cnblogs.com/GoodGoodWorkDayDayUp/p/2241042.html
Copyright © 2011-2022 走看看