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.

8168的缩放图像不正常

用DVRRDK_04.01.00.02进行缩放转码,路径是 dec - dup 4 路 - 第一路不缩放进merge     - merge  (4路 )- enc(4路)

                                                                                                              -  第二路进sclr 

                                                                                                              -第三路进sclr2

                                                                                                            - 第四路进dei(用其缩放功能)

 我发现,当某些分辨率下,sclr的输出图像不正常,具体现象为:

 --如果用720p的片源,解码后进sclr,两路缩放的尺寸为 1250x720,和640x360,出来图像正常

 --如果用720p的片源,解码后进sclr,两路缩放的尺寸都为 640x360,出来的图像不正常,马赛克和颜色都不对。

--而且,1080p的片源,反而正常,不容易出现非正常图像。

  还有,我的解码源从文件中来,用最大的速度读取码流并转码。但是,如果我读取文件的码流帧的时候,每帧间隔15ms以上,sclr出来的图像就正常。

 我确定是sclr的问题,因为不同的三路出来的图像不一样,直接解码没有缩放那一路,图像出来是正常的。图像不正常的时候,程序运行没有任何异常提示。

  看现象可能是sclr的负载大,输入速度过快的时候会引起这个现象。

  我想问一下,这是什么问题,有解决方法吗?

                                                                                  

  • 你说的720p 1080p都是什么帧率?

    如果怀疑sclr的负荷,可以参考RDK下的文档在ti_tools\hdvpss\dvr_rdk_hdvpss\docs\HDVPSS_FeaturePerformanceGuide.pdf有sclr能力的介绍。

  • 视频文件的帧率只有30帧,但是我的应用是文件转码,所以进入的速度是最快的方式,中间没有间隔,外界就是不停的最快的推入。实际的速度,可能是40-60帧每秒吧。

    我知道在slcr和enc Link,如果推入太快会丢帧,我是自己做了修改,不让它丢帧。

    我今天又做了测试,就用原始的会丢帧的SCLR和ENC Link:

    路径是 dec - dup 4 路 - 第一路不缩放进merge     - merge  (4路 )- enc(4路) 

                                                                                             -  第二路进sclr 

                                                                                              -第三路进sclr2

    这种方式下也是sclr出来的图像也是不正常的,而没有经过sclr的那路就正常。

    即使推入超出了sclr的速度,也应该是内部的inbuf满,而out buffer输出慢,我外部inbuf推不进去也会慢下来。怎么也不该图像不正常啊。

  • 文件的帧率是30fps,但是我的应用是文件转码,所以外界用最快的速度推入,用一个线程不停获取buffer,并推入。实际上内部处理的帧率应该达到40-60帧每秒。

    我知道在推入速度过快的时候,原始的DVRRDK内部的SCLR和ENC是会丢帧的,这一块我自己改了,已经让它丢帧,所以外界用最大的速度推入的。

    我又做了一下测试:

    我用原始的DVR_RDK,会丢帧的那种,自己没修改过的

    用路径是 dec - dup 3路 - 第一路不缩放进merge     - merge  (3路 )- enc(4路)

                                                -  第二路进sclr 

                                                  -第三路进sclr2

    一样的,出来的图像,除了丢帧,图像也不正常,而不缩放的那路就没事。

    即使是sclr的处理能力的问题,也应该是inbuf满,而outbuf输出慢一些,这样外界就自动输入慢了。怎么也不能图像出错呀。

    有没有其他人也遇到过这个问题的?