TI中文支持网
TI专业的中文技术问题搜集分享网站

dm8168的数据通过dsp处理以后画面变化比较大 的话输出不正常是什么原因?

在dm8168中我的osd叠加出来,如果画面静止 的话显示效果是正常的,但是如果画面变化比较剧烈,显示不正常,osd叠加的内容会出现飘得现象,画面剩余部分会有比较严重的马赛克现象,如图1。我把osd叠加去掉,dsp什么都不做然后晃动画面发现显示不会出现马赛克。这是不是说明是SWOSD_blendWindow函数造成的?

然后我再画面上画两根线,晃动画面,发现也有很严重的飘得现象。。这是怎么回事

?      

brad white:

这个好像是只要做了和像素点的坐标相关的操作都会出现“飘”的现象。

Chris Meng:

回复 brad white:

Brad,

请问你系统(DDR)的负荷是否比较重?如果是,可能是DDR带宽不够导致的问题。请参考下面论坛讨论里面的文档,调整各个访问DDR的master的优先级。

https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/475154/1708797

brad white:

回复 Chris Meng:

这个应该不是啊!为了测试 我只画了很短的两根线都会这样,处理的数据很少,每帧处理时间不到1ms,这是不是说明不是ddr3造成的

Chris Meng:

回复 brad white:

Brad,

不单单是SWOSD处理的复杂度,是你系统访问DDR的loading。

简单来说,如果你不编码,只是本地显示,是否会有同样的问题?

brad white:

回复 Chris Meng:

dsp不处理或者在dsp里面处理的时候如果不访问ddr3的时候  没有出现这个问题

brad white:

回复 Chris Meng:

有编码解码 只要dsp不对像素点进行操作就不会有马赛克。但是编码解码也去读ddr3了,是不是说明是dsp读ddr3的问题?

brad white:

回复 brad white:

还有就是 我再dsp里面做memcpy,把图像拷贝一下,不做其他操作,输出没有马赛克,这应该可以说明和访问ddr3 没有关系吧?

Chris Meng:

回复 brad white:

Brad,

请问我下面的理解是否正确?

使用DSP处理SWOSD+显示,编码,会出现该问题

如果上述理解正确,请问如果DSP处理SWOSD+显示,不编码,是否会出现该问题?

brad white:

回复 Chris Meng:

是的  使用DSP处理SWOSD+显示,编码,会马赛克。我们这个是没有本地显示的,,都是编码后通过网络发送出去显示的,所以测不了不编码的效果。

我测试过两种情况:

1 在alg_priv.c中定义一个数组,每一帧都memcpy到这个数组中,DSP不做其他任何处理,每一帧处理时间12-13ms,显示没有马赛克

2 在alg_priv.c中定义一个数组(大小为每帧图像大小的1/4),memset为0,然后memcpy给每一帧,dsp不做其他任何处理,每帧处理时间2-3ms,显示有马赛克

这说明读ddr3没问题,写ddr3会有问题。这也和前面我说明的情况一样 。可能是什么原因造成写ddr3会这样?

Chris Meng:

回复 brad white:

brad white使用DSP处理SWOSD+显示,编码,会马赛克。我们这个是没有本地显示的,,都是编码后通过网络发送出去显示的,所以测不了不编码的效果。

能否保持几帧编码前的数据,但是不编码?

下面链接里面的方法,你可以尝试一下,看是否有改善?

http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/p/93914/242271.aspx#242271

赞(0)
未经允许不得转载:TI中文支持网 » dm8168的数据通过dsp处理以后画面变化比较大 的话输出不正常是什么原因?
分享到: 更多 (0)