This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8148 关于CAP 采集 非标准分辨率的问题



您好 TIers:


目前要采集的 1280x1024 @30fps 或 1280x1024 @25fps,

但是 VESA标准里面没有在这个。

看了一个 VESA 的分辨率的文档。
1280 x 1024  ------  60 Hz ------   108.000 MHz 
1280 x 1024   ------ 75 Hz  ------  135.000 MHz 
1280 x 1024   ------   85 Hz ------   157.500 MHz 


请问一下: CAP 采集这些 非标准 的,要不要改 pixel clock ,还是要改其他地方? 请指导一下。

感谢。

  • 您好 TIers:


    目前要采集的 1280x1024 @30fps 或 1280x1024 @25fps,

    但是 VESA标准里面没有在这个。

    看了一个 VESA 的分辨率的文档。
    1280 x 1024  ------  60 Hz ------   108.000 MHz 
    1280 x 1024   ------ 75 Hz  ------  135.000 MHz 
    1280 x 1024   ------   85 Hz ------   157.500 MHz 


    请问一下: CAP 采集这些 非标准 的,要不要改 pixel clock ,还是要改其他地方? 请指导一下。

    感谢。

    您好 Chris Meng:

    附件:是 H.264文件,请您下载播放看一下,给点指导。 感谢。

    大神,能加你的QQ 吗? 哈哈~

    0358.Ti_1280x1024_30.zip

  •  

    编码 1080P@30 是正常的,比较流畅。

    编码 1280x1024 ,是在 1080P30 的基础上:(1)更改了1280的视频源(2)更改了CAP 的分辨率(3)更改了ENC 的  target 帧率。

    确认: CAP 的采集帧率是正确的。

    但是为什么编码出来的,感觉有丢帧。

  • 你好,

    采集的时钟是外部输入的,芯片内部是不需要做配置的。

    我看了一下你的码流,看到很多帧基本上都skip了。你现在用的是CBR还是VBR,能否使用VBR,把码率设置为10Mbps,再编码看看。
  • 您好 Chris Meng:

    更改了,还是和以前的一样,不流畅。
  • 你好,

    那看起来更像是采集的问题。默认RDK可以打印一些link的信息,你可以看到采集帧率么?
  • 您好 Chris Meng:

    我从打印信息上看,看到采集的帧率也是正确的,是30帧。

    CAP的帧率计算: /*  总帧数 除以 总时间  */

    totalFieldCount = pChObj->droppedFrameCount + pChObj->captureFrameCount;

    totalFieldCount/(totalTimeInMsecs/1000);

    刚看了一下: droppedFrameCount = 1。 这段时间内,几千帧中丢了一帧, 应该不至于不流畅。

    打印信息如下:

    [m3vpss ] | Total Even Odd Total Even Odd Min / Max Min / Max Dropped Fid Repeat Frame Error Y/C
    [m3vpss ] CH | Fields Fields Fields FPS FPS FPS Width Height Fields Count (Desc Error Y/C)

    [m3vpss ] 000 | 1915 1915 0 30 30 0 1920 / 1920 1080 / 1080 1 0 0/0 (0/0)

    [m3vpss ] 200 | 1917 1917 0 30 30 0 1280 / 1280 1024 / 1024 1 0 0/0 (0/0)
    [m3video] 102799: IPCBITSOUT:Link[10000018]:
    [m3video] RECV:859 FREE:859,DROPPED:0,AVGLATENCY:17
    [m3video] 102799: PRF : IPC_BITS_OUT0 : t: 27 ms, c: 859, f: 859, fps: 31814, fpc: 1
    [m3vpss ]
    [m3video]
    [m3vpss ] VIP Capture Port 0 | DescMissMatch1 = 0, DescMissMatch2 = 0 , DescMissMatch3 = 0
    [m3video] 102803: LOAD: CPU: 4.3% HWI: 0.7%, SWI:0.7%
    [m3vpss ] VIP Capture Port 2 | DescMissMatch1 = 1, DescMissMatch2 = 0 , DescMissMatch3 = 0
    [m3video]
    [m3vpss ]
    [m3vpss ] *** Capture List Manager Advanced Statistics ***

  • 你好,

    请问你capturelink后面经过了哪些link,然后去enclink? 回否有可能什么导致编码buffer没有更新?
  • 您好 Chris Meng:

    我这边编码 1080P 30 是正常的,播放也流畅。
    然后把视频源 改成了 1280x1024@30 ,配置了相关的参数(1. CAP 的分辨率 。    2.ENC 的没改动,因为 ENC 的分辨率来自于 CAP 的参数传递),播放就卡了。

    cap -> DEI -> merge (因为最终VIP0 ,VIP1 有多路码流进来) -> enc

  • 你好,

    请先只使能1280x1024这一路采样编码。
    采集确认是否丢帧,可以在采集中断里面加一个GPIO的拉高拉低,然后测量。这是最能确认采集帧率的方法。
    DEI的输出是否有确认没有丢帧?使用DEI的原因是输入是隔行数据么?
  • 您好 Chris Meng:

    感谢您的耐心解答,问题已经解决了,是前级的 YUV 时序不对。