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.

算法阻碍了编码,导致编码漏帧



我的链路是

dec

  |

 V

sclr

  |(得到cif图,同时保存原图)

 V

ipcFrameOutVpss<---->processLink---->ipcFrameInDsp---->algLink(cif和原图上叠加分析结果)

  |

 V

dup---->nsf(有可能输出cif图,有可能输出720p原图)---->ipcM3Out---->ipcM3In---->enc---->码流送到a8

  |

 V

display

现在我在本地读入一路h.264码流,然后拷贝为2份,送到两个通道中,帧间隔为40ms,也就是一秒钟25帧。
此时会发现,decLink解码了12152帧,algLink处理了12147帧,而encLink只处理了11997帧。相差100多帧。
最后跟踪发现,EncLink_codecQueueFramesToChQue函数送入了12149帧,而紧跟着的EncLink_codecSubmitData函数只能得到11997帧。
 
此时把algLink里面的算法注释掉,则没有丢帧。如果修改成输入的两路图像只有第0路执行dsp算法,第1路不执行,那么解码12076帧,EncLink_codecQueueFramesToChQue函数得到12074帧,而EncLink_codecSubmitData函数只得到了12022帧。
但是我的算法每帧耗时16~18ms,平均下来跑两路应该是没有问题的。而且为什么算法的耗时会影响到EncLink_codecSubmitData函数得到要编码的图片?
 
目前的丢帧有些多,希望得到帮助。