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.

TMS320DM8148: 视频帧每33m采集显示,运行两三分钟突变成每50ms采集显示

Part Number: TMS320DM8148

处理器跑两个进程,A8上的一个进程(称作进程A,跑在A8上)每33ms获取一帧摄像头视频帧并存入共享内存,然后马上通知另一个进程(进程B)从共享内存取走视频帧,进程B取到视频帧后(进程B基于ti多核通信框架编写),从A8输出给到DSP进行rgb24转YUV420处理(该处理转换一帧要花23ms),然后给到Video M3进行H264编码压缩RTSP网络发送显示.。

刚开始运行,每33ms采集,显示很正常,CPU占用率也挺高,接近100%,运行两三分钟后,发现突变成50ms采集,显示一次了,CPU占用率也突然降了接近一半,定位发现可能是dsp处理rgb24转YUV420耗时太长(23ms每帧),因为屏蔽掉dsp这个处理,就会33ms采集,显示,不会运行一会就突变成50ms采集,显示。

请问下,可能是dsp处理时间太长的原因吗?为什么会出现这种突变成50ms采集,显示情况?我希望的是33ms采集,显示

下面是A进程视频帧写入共享内存,通知B进程取走的代码,我用的是定时器,每33ms,执行一次这种操作:

下面是DSP处理的代码,从A8获得视频帧后,进行RGB888转YUV420处理: